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_SYNC_DMA_FOR_DEVICE
12 select OF_EARLY_FLATTREE
14 select HANDLE_DOMAIN_IRQ
16 select HAVE_ARCH_TRACEHOOK
18 select GENERIC_IRQ_CHIP
19 select GENERIC_IRQ_PROBE
20 select GENERIC_IRQ_SHOW
22 select GENERIC_CPU_DEVICES
24 select GENERIC_ATOMIC64
25 select GENERIC_CLOCKEVENTS
26 select GENERIC_CLOCKEVENTS_BROADCAST
27 select GENERIC_STRNCPY_FROM_USER
28 select GENERIC_STRNLEN_USER
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_SPINLOCKS
35 select ARCH_USE_QUEUED_RWLOCKS
37 select ARCH_WANT_FRAME_POINTERS
38 select GENERIC_IRQ_MULTI_HANDLER
39 select MMU_GATHER_NO_RANGE if MMU
47 config GENERIC_HWEIGHT
53 config TRACE_IRQFLAGS_SUPPORT
56 # For now, use generic checksum functions
57 #These can be reimplemented in assembly later if so inclined
61 config STACKTRACE_SUPPORT
64 config LOCKDEP_SUPPORT
67 menu "Processor type and features"
70 prompt "Subarchitecture"
76 Generic OpenRISC 1200 architecture
80 config DCACHE_WRITETHROUGH
81 bool "Have write through data caches"
84 Select this if your implementation features write through data caches.
85 Selecting 'N' here will allow the kernel to force flushing of data
86 caches at relevant times. Most OpenRISC implementations support write-
91 config OPENRISC_BUILTIN_DTB
95 menu "Class II Instructions"
97 config OPENRISC_HAVE_INST_FF1
98 bool "Have instruction l.ff1"
101 Select this if your implementation has the Class II instruction l.ff1
103 config OPENRISC_HAVE_INST_FL1
104 bool "Have instruction l.fl1"
107 Select this if your implementation has the Class II instruction l.fl1
109 config OPENRISC_HAVE_INST_MUL
110 bool "Have instruction l.mul for hardware multiply"
113 Select this if your implementation has a hardware multiply instruction
115 config OPENRISC_HAVE_INST_DIV
116 bool "Have instruction l.div for hardware divide"
119 Select this if your implementation has a hardware divide instruction
123 int "Maximum number of CPUs (2-32)"
129 bool "Symmetric Multi-Processing support"
131 This enables support for systems with more than one CPU. If you have
132 a system with only one CPU, say N. If you have a system with more
135 If you don't know what to do here, say N.
137 source "kernel/Kconfig.hz"
139 config OPENRISC_NO_SPR_SR_DSX
140 bool "use SPR_SR_DSX software emulation" if OR1K_1200
143 SPR_SR_DSX bit is status register bit indicating whether
144 the last exception has happened in delay slot.
146 OpenRISC architecture makes it optional to have it implemented
147 in hardware and the OR1200 does not have it.
149 Say N here if you know that your OpenRISC processor has
150 SPR_SR_DSX bit implemented. Say Y if you are unsure.
152 config OPENRISC_HAVE_SHADOW_GPRS
153 bool "Support for shadow gpr files" if !SMP
156 Say Y here if your OpenRISC processor features shadowed
157 register files. They will in such case be used as a
158 scratch reg storage on exception entry.
160 On SMP systems, this feature is mandatory.
161 On a unicore system it's safe to say N here if you are unsure.
164 string "Default kernel command string"
167 On some architectures there is currently no way for the boot loader
168 to pass arguments to the kernel. For these architectures, you should
169 supply some command-line options at build time by entering them
172 menu "Debugging options"
174 config JUMP_UPON_UNHANDLED_EXCEPTION
175 bool "Try to die gracefully"
178 Now this puts kernel into infinite loop after first oops. Till
179 your kernel crashes this doesn't have any influence.
181 Say Y if you are unsure.
183 config OPENRISC_ESR_EXCEPTION_BUG_CHECK
184 bool "Check for possible ESR exception bug"
187 This option enables some checks that might expose some problems
190 Say N if you are unsure.