1 # SPDX-License-Identifier: GPL-2.0
3 # For a description of the syntax of this configuration file,
4 # see Documentation/kbuild/kconfig-language.rst.
9 select ARCH_32BIT_OFF_T
10 select ARCH_HAS_DMA_SET_UNCACHED
11 select ARCH_HAS_DMA_CLEAR_UNCACHED
12 select ARCH_HAS_SYNC_DMA_FOR_DEVICE
13 select GENERIC_BUILTIN_DTB
16 select OF_EARLY_FLATTREE
19 select HAVE_ARCH_TRACEHOOK
21 select GENERIC_IRQ_CHIP
22 select GENERIC_IRQ_PROBE
23 select GENERIC_IRQ_SHOW
24 select GENERIC_PCI_IOMAP
25 select GENERIC_IOREMAP
26 select GENERIC_CPU_DEVICES
29 select HAVE_PAGE_SIZE_8KB
30 select HAVE_REGS_AND_STACK_ACCESS_API
32 select GENERIC_ATOMIC64
33 select GENERIC_CLOCKEVENTS_BROADCAST
34 select GENERIC_SMP_IDLE_THREAD
35 select MODULES_USE_ELF_RELA
36 select HAVE_DEBUG_STACKOVERFLOW
38 select CPU_NO_EFFICIENT_FFS if !OPENRISC_HAVE_INST_FF1
39 select ARCH_USE_QUEUED_RWLOCKS
41 select PCI_DOMAINS_GENERIC if PCI
43 select ARCH_WANT_FRAME_POINTERS
44 select GENERIC_IRQ_MULTI_HANDLER
45 select MMU_GATHER_NO_RANGE if MMU
46 select TRACE_IRQFLAGS_SUPPORT
54 config GENERIC_HWEIGHT
60 # For now, use generic checksum functions
61 #These can be reimplemented in assembly later if so inclined
65 config STACKTRACE_SUPPORT
68 config LOCKDEP_SUPPORT
71 config FIX_EARLYCON_MEM
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 BUILTIN_DTB_NAME
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
128 config OPENRISC_HAVE_INST_CMOV
129 bool "Have instruction l.cmov for conditional move"
132 This config enables gcc to generate l.cmov instructions when compiling
133 the kernel which in general will improve performance and reduce the
136 Select this if your implementation has support for the Class II
137 l.cmov conistional move instruction.
139 Say N if you are unsure.
141 config OPENRISC_HAVE_INST_ROR
142 bool "Have instruction l.ror for rotate right"
145 This config enables gcc to generate l.ror instructions when compiling
146 the kernel which in general will improve performance and reduce the
149 Select this if your implementation has support for the Class II
150 l.ror rotate right instruction.
152 Say N if you are unsure.
154 config OPENRISC_HAVE_INST_RORI
155 bool "Have instruction l.rori for rotate right with immediate"
158 This config enables gcc to generate l.rori instructions when compiling
159 the kernel which in general will improve performance and reduce the
162 Select this if your implementation has support for the Class II
163 l.rori rotate right with immediate instruction.
165 Say N if you are unsure.
167 config OPENRISC_HAVE_INST_SEXT
168 bool "Have instructions l.ext* for sign extension"
171 This config enables gcc to generate l.ext* instructions when compiling
172 the kernel which in general will improve performance and reduce the
175 Select this if your implementation has support for the Class II
176 l.exths, l.extbs, l.exthz and l.extbz size extend instructions.
178 Say N if you are unsure.
183 int "Maximum number of CPUs (2-32)"
189 bool "Symmetric Multi-Processing support"
191 This enables support for systems with more than one CPU. If you have
192 a system with only one CPU, say N. If you have a system with more
195 If you don't know what to do here, say N.
201 Say N here if you want to disable all floating-point related procedures
202 in the kernel and reduce binary size.
204 If you don't know what to do here, say Y.
206 source "kernel/Kconfig.hz"
208 config OPENRISC_NO_SPR_SR_DSX
209 bool "use SPR_SR_DSX software emulation" if OR1K_1200
212 SPR_SR_DSX bit is status register bit indicating whether
213 the last exception has happened in delay slot.
215 OpenRISC architecture makes it optional to have it implemented
216 in hardware and the OR1200 does not have it.
218 Say N here if you know that your OpenRISC processor has
219 SPR_SR_DSX bit implemented. Say Y if you are unsure.
221 config OPENRISC_HAVE_SHADOW_GPRS
222 bool "Support for shadow gpr files" if !SMP
225 Say Y here if your OpenRISC processor features shadowed
226 register files. They will in such case be used as a
227 scratch reg storage on exception entry.
229 On SMP systems, this feature is mandatory.
230 On a unicore system it's safe to say N here if you are unsure.
233 string "Default kernel command string"
236 On some architectures there is currently no way for the boot loader
237 to pass arguments to the kernel. For these architectures, you should
238 supply some command-line options at build time by entering them
241 menu "Debugging options"
243 config JUMP_UPON_UNHANDLED_EXCEPTION
244 bool "Try to die gracefully"
247 Now this puts kernel into infinite loop after first oops. Till
248 your kernel crashes this doesn't have any influence.
250 Say Y if you are unsure.
252 config OPENRISC_ESR_EXCEPTION_BUG_CHECK
253 bool "Check for possible ESR exception bug"
256 This option enables some checks that might expose some problems
259 Say N if you are unsure.