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
14 select OF_EARLY_FLATTREE
16 select HANDLE_DOMAIN_IRQ
18 select HAVE_ARCH_TRACEHOOK
19 select HAVE_COPY_THREAD_TLS
21 select GENERIC_IRQ_CHIP
22 select GENERIC_IRQ_PROBE
23 select GENERIC_IRQ_SHOW
25 select GENERIC_CPU_DEVICES
27 select GENERIC_ATOMIC64
28 select GENERIC_CLOCKEVENTS
29 select GENERIC_CLOCKEVENTS_BROADCAST
30 select GENERIC_STRNCPY_FROM_USER
31 select GENERIC_STRNLEN_USER
32 select GENERIC_SMP_IDLE_THREAD
33 select MODULES_USE_ELF_RELA
34 select HAVE_DEBUG_STACKOVERFLOW
36 select CPU_NO_EFFICIENT_FFS if !OPENRISC_HAVE_INST_FF1
37 select ARCH_USE_QUEUED_SPINLOCKS
38 select ARCH_USE_QUEUED_RWLOCKS
40 select ARCH_WANT_FRAME_POINTERS
41 select GENERIC_IRQ_MULTI_HANDLER
42 select MMU_GATHER_NO_RANGE if MMU
50 config GENERIC_HWEIGHT
56 config TRACE_IRQFLAGS_SUPPORT
59 # For now, use generic checksum functions
60 #These can be reimplemented in assembly later if so inclined
64 config STACKTRACE_SUPPORT
67 config LOCKDEP_SUPPORT
70 menu "Processor type and features"
73 prompt "Subarchitecture"
79 Generic OpenRISC 1200 architecture
83 config DCACHE_WRITETHROUGH
84 bool "Have write through data caches"
87 Select this if your implementation features write through data caches.
88 Selecting 'N' here will allow the kernel to force flushing of data
89 caches at relevant times. Most OpenRISC implementations support write-
94 config OPENRISC_BUILTIN_DTB
98 menu "Class II Instructions"
100 config OPENRISC_HAVE_INST_FF1
101 bool "Have instruction l.ff1"
104 Select this if your implementation has the Class II instruction l.ff1
106 config OPENRISC_HAVE_INST_FL1
107 bool "Have instruction l.fl1"
110 Select this if your implementation has the Class II instruction l.fl1
112 config OPENRISC_HAVE_INST_MUL
113 bool "Have instruction l.mul for hardware multiply"
116 Select this if your implementation has a hardware multiply instruction
118 config OPENRISC_HAVE_INST_DIV
119 bool "Have instruction l.div for hardware divide"
122 Select this if your implementation has a hardware divide instruction
126 int "Maximum number of CPUs (2-32)"
132 bool "Symmetric Multi-Processing support"
134 This enables support for systems with more than one CPU. If you have
135 a system with only one CPU, say N. If you have a system with more
138 If you don't know what to do here, say N.
140 source "kernel/Kconfig.hz"
142 config OPENRISC_NO_SPR_SR_DSX
143 bool "use SPR_SR_DSX software emulation" if OR1K_1200
146 SPR_SR_DSX bit is status register bit indicating whether
147 the last exception has happened in delay slot.
149 OpenRISC architecture makes it optional to have it implemented
150 in hardware and the OR1200 does not have it.
152 Say N here if you know that your OpenRISC processor has
153 SPR_SR_DSX bit implemented. Say Y if you are unsure.
155 config OPENRISC_HAVE_SHADOW_GPRS
156 bool "Support for shadow gpr files" if !SMP
159 Say Y here if your OpenRISC processor features shadowed
160 register files. They will in such case be used as a
161 scratch reg storage on exception entry.
163 On SMP systems, this feature is mandatory.
164 On a unicore system it's safe to say N here if you are unsure.
167 string "Default kernel command string"
170 On some architectures there is currently no way for the boot loader
171 to pass arguments to the kernel. For these architectures, you should
172 supply some command-line options at build time by entering them
175 menu "Debugging options"
177 config JUMP_UPON_UNHANDLED_EXCEPTION
178 bool "Try to die gracefully"
181 Now this puts kernel into infinite loop after first oops. Till
182 your kernel crashes this doesn't have any influence.
184 Say Y if you are unsure.
186 config OPENRISC_ESR_EXCEPTION_BUG_CHECK
187 bool "Check for possible ESR exception bug"
190 This option enables some checks that might expose some problems
193 Say N if you are unsure.