1 # SPDX-License-Identifier: GPL-2.0
3 # For a description of the syntax of this configuration file,
4 # see Documentation/kbuild/kconfig-language.txt.
9 select ARCH_HAS_SYNC_DMA_FOR_DEVICE
10 select DMA_NONCOHERENT_OPS
12 select OF_EARLY_FLATTREE
14 select HANDLE_DOMAIN_IRQ
17 select HAVE_ARCH_TRACEHOOK
19 select GENERIC_IRQ_CHIP
20 select GENERIC_IRQ_PROBE
21 select GENERIC_IRQ_SHOW
23 select GENERIC_CPU_DEVICES
25 select GENERIC_ATOMIC64
26 select GENERIC_CLOCKEVENTS
27 select GENERIC_CLOCKEVENTS_BROADCAST
28 select GENERIC_STRNCPY_FROM_USER
29 select GENERIC_STRNLEN_USER
30 select GENERIC_SMP_IDLE_THREAD
31 select MODULES_USE_ELF_RELA
32 select HAVE_DEBUG_STACKOVERFLOW
34 select CPU_NO_EFFICIENT_FFS if !OPENRISC_HAVE_INST_FF1
36 select ARCH_USE_QUEUED_SPINLOCKS
37 select ARCH_USE_QUEUED_RWLOCKS
39 select ARCH_WANT_FRAME_POINTERS
40 select GENERIC_IRQ_MULTI_HANDLER
48 config RWSEM_GENERIC_SPINLOCK
51 config RWSEM_XCHGADD_ALGORITHM
54 config GENERIC_HWEIGHT
60 config TRACE_IRQFLAGS_SUPPORT
63 # For now, use generic checksum functions
64 #These can be reimplemented in assembly later if so inclined
68 config STACKTRACE_SUPPORT
71 config LOCKDEP_SUPPORT
74 menu "Processor type and features"
77 prompt "Subarchitecture"
83 Generic OpenRISC 1200 architecture
87 config DCACHE_WRITETHROUGH
88 bool "Have write through data caches"
91 Select this if your implementation features write through data caches.
92 Selecting 'N' here will allow the kernel to force flushing of data
93 caches at relevant times. Most OpenRISC implementations support write-
98 config OPENRISC_BUILTIN_DTB
102 menu "Class II Instructions"
104 config OPENRISC_HAVE_INST_FF1
105 bool "Have instruction l.ff1"
108 Select this if your implementation has the Class II instruction l.ff1
110 config OPENRISC_HAVE_INST_FL1
111 bool "Have instruction l.fl1"
114 Select this if your implementation has the Class II instruction l.fl1
116 config OPENRISC_HAVE_INST_MUL
117 bool "Have instruction l.mul for hardware multiply"
120 Select this if your implementation has a hardware multiply instruction
122 config OPENRISC_HAVE_INST_DIV
123 bool "Have instruction l.div for hardware divide"
126 Select this if your implementation has a hardware divide instruction
130 int "Maximum number of CPUs (2-32)"
136 bool "Symmetric Multi-Processing support"
138 This enables support for systems with more than one CPU. If you have
139 a system with only one CPU, say N. If you have a system with more
142 If you don't know what to do here, say N.
144 source kernel/Kconfig.hz
146 config OPENRISC_NO_SPR_SR_DSX
147 bool "use SPR_SR_DSX software emulation" if OR1K_1200
150 SPR_SR_DSX bit is status register bit indicating whether
151 the last exception has happened in delay slot.
153 OpenRISC architecture makes it optional to have it implemented
154 in hardware and the OR1200 does not have it.
156 Say N here if you know that your OpenRISC processor has
157 SPR_SR_DSX bit implemented. Say Y if you are unsure.
159 config OPENRISC_HAVE_SHADOW_GPRS
160 bool "Support for shadow gpr files" if !SMP
163 Say Y here if your OpenRISC processor features shadowed
164 register files. They will in such case be used as a
165 scratch reg storage on exception entry.
167 On SMP systems, this feature is mandatory.
168 On a unicore system it's safe to say N here if you are unsure.
171 string "Default kernel command string"
174 On some architectures there is currently no way for the boot loader
175 to pass arguments to the kernel. For these architectures, you should
176 supply some command-line options at build time by entering them
179 menu "Debugging options"
181 config JUMP_UPON_UNHANDLED_EXCEPTION
182 bool "Try to die gracefully"
185 Now this puts kernel into infinite loop after first oops. Till
186 your kernel crashes this doesn't have any influence.
188 Say Y if you are unsure.
190 config OPENRISC_ESR_EXCEPTION_BUG_CHECK
191 bool "Check for possible ESR exception bug"
194 This option enables some checks that might expose some problems
197 Say N if you are unsure.