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
15 select OF_EARLY_FLATTREE
18 select HAVE_ARCH_TRACEHOOK
20 select GENERIC_IRQ_CHIP
21 select GENERIC_IRQ_PROBE
22 select GENERIC_IRQ_SHOW
23 select GENERIC_PCI_IOMAP
24 select GENERIC_CPU_DEVICES
27 select GENERIC_ATOMIC64
28 select GENERIC_CLOCKEVENTS_BROADCAST
29 select GENERIC_SMP_IDLE_THREAD
30 select MODULES_USE_ELF_RELA
31 select HAVE_DEBUG_STACKOVERFLOW
33 select CPU_NO_EFFICIENT_FFS if !OPENRISC_HAVE_INST_FF1
34 select ARCH_USE_QUEUED_RWLOCKS
36 select PCI_DOMAINS_GENERIC if PCI
38 select ARCH_WANT_FRAME_POINTERS
39 select GENERIC_IRQ_MULTI_HANDLER
40 select MMU_GATHER_NO_RANGE if MMU
41 select TRACE_IRQFLAGS_SUPPORT
49 config GENERIC_HWEIGHT
55 # For now, use generic checksum functions
56 #These can be reimplemented in assembly later if so inclined
60 config STACKTRACE_SUPPORT
63 config LOCKDEP_SUPPORT
66 menu "Processor type and features"
69 prompt "Subarchitecture"
75 Generic OpenRISC 1200 architecture
79 config DCACHE_WRITETHROUGH
80 bool "Have write through data caches"
83 Select this if your implementation features write through data caches.
84 Selecting 'N' here will allow the kernel to force flushing of data
85 caches at relevant times. Most OpenRISC implementations support write-
90 config OPENRISC_BUILTIN_DTB
94 menu "Class II Instructions"
96 config OPENRISC_HAVE_INST_FF1
97 bool "Have instruction l.ff1"
100 Select this if your implementation has the Class II instruction l.ff1
102 config OPENRISC_HAVE_INST_FL1
103 bool "Have instruction l.fl1"
106 Select this if your implementation has the Class II instruction l.fl1
108 config OPENRISC_HAVE_INST_MUL
109 bool "Have instruction l.mul for hardware multiply"
112 Select this if your implementation has a hardware multiply instruction
114 config OPENRISC_HAVE_INST_DIV
115 bool "Have instruction l.div for hardware divide"
118 Select this if your implementation has a hardware divide instruction
120 config OPENRISC_HAVE_INST_CMOV
121 bool "Have instruction l.cmov for conditional move"
124 This config enables gcc to generate l.cmov instructions when compiling
125 the kernel which in general will improve performance and reduce the
128 Select this if your implementation has support for the Class II
129 l.cmov conistional move instruction.
131 Say N if you are unsure.
133 config OPENRISC_HAVE_INST_ROR
134 bool "Have instruction l.ror for rotate right"
137 This config enables gcc to generate l.ror instructions when compiling
138 the kernel which in general will improve performance and reduce the
141 Select this if your implementation has support for the Class II
142 l.ror rotate right instruction.
144 Say N if you are unsure.
146 config OPENRISC_HAVE_INST_RORI
147 bool "Have instruction l.rori for rotate right with immediate"
150 This config enables gcc to generate l.rori instructions when compiling
151 the kernel which in general will improve performance and reduce the
154 Select this if your implementation has support for the Class II
155 l.rori rotate right with immediate instruction.
157 Say N if you are unsure.
159 config OPENRISC_HAVE_INST_SEXT
160 bool "Have instructions l.ext* for sign extension"
163 This config enables gcc to generate l.ext* instructions when compiling
164 the kernel which in general will improve performance and reduce the
167 Select this if your implementation has support for the Class II
168 l.exths, l.extbs, l.exthz and l.extbz size extend instructions.
170 Say N if you are unsure.
175 int "Maximum number of CPUs (2-32)"
181 bool "Symmetric Multi-Processing support"
183 This enables support for systems with more than one CPU. If you have
184 a system with only one CPU, say N. If you have a system with more
187 If you don't know what to do here, say N.
189 source "kernel/Kconfig.hz"
191 config OPENRISC_NO_SPR_SR_DSX
192 bool "use SPR_SR_DSX software emulation" if OR1K_1200
195 SPR_SR_DSX bit is status register bit indicating whether
196 the last exception has happened in delay slot.
198 OpenRISC architecture makes it optional to have it implemented
199 in hardware and the OR1200 does not have it.
201 Say N here if you know that your OpenRISC processor has
202 SPR_SR_DSX bit implemented. Say Y if you are unsure.
204 config OPENRISC_HAVE_SHADOW_GPRS
205 bool "Support for shadow gpr files" if !SMP
208 Say Y here if your OpenRISC processor features shadowed
209 register files. They will in such case be used as a
210 scratch reg storage on exception entry.
212 On SMP systems, this feature is mandatory.
213 On a unicore system it's safe to say N here if you are unsure.
216 string "Default kernel command string"
219 On some architectures there is currently no way for the boot loader
220 to pass arguments to the kernel. For these architectures, you should
221 supply some command-line options at build time by entering them
224 menu "Debugging options"
226 config JUMP_UPON_UNHANDLED_EXCEPTION
227 bool "Try to die gracefully"
230 Now this puts kernel into infinite loop after first oops. Till
231 your kernel crashes this doesn't have any influence.
233 Say Y if you are unsure.
235 config OPENRISC_ESR_EXCEPTION_BUG_CHECK
236 bool "Check for possible ESR exception bug"
239 This option enables some checks that might expose some problems
242 Say N if you are unsure.