Merge tag 'x86-urgent-2025-01-28' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux.git] / arch / openrisc / Kconfig
blobb38fee299bc48a134d8af8d558ea2c88fb197e81
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.
7 config OPENRISC
8         def_bool y
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
14         select COMMON_CLK
15         select OF
16         select OF_EARLY_FLATTREE
17         select IRQ_DOMAIN
18         select GPIOLIB
19         select HAVE_ARCH_TRACEHOOK
20         select SPARSE_IRQ
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
27         select HAVE_PCI
28         select HAVE_UID16
29         select HAVE_PAGE_SIZE_8KB
30         select HAVE_REGS_AND_STACK_ACCESS_API
31         select HAVE_RSEQ
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
37         select OR1K_PIC
38         select CPU_NO_EFFICIENT_FFS if !OPENRISC_HAVE_INST_FF1
39         select ARCH_USE_QUEUED_RWLOCKS
40         select OMPIC if SMP
41         select PCI_DOMAINS_GENERIC if PCI
42         select PCI_MSI 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
48 config CPU_BIG_ENDIAN
49         def_bool y
51 config MMU
52         def_bool y
54 config GENERIC_HWEIGHT
55         def_bool y
57 config NO_IOPORT_MAP
58         def_bool y
60 # For now, use generic checksum functions
61 #These can be reimplemented in assembly later if so inclined
62 config GENERIC_CSUM
63         def_bool y
65 config STACKTRACE_SUPPORT
66         def_bool y
68 config LOCKDEP_SUPPORT
69         def_bool  y
71 config FIX_EARLYCON_MEM
72         def_bool y
74 menu "Processor type and features"
76 choice
77         prompt "Subarchitecture"
78         default OR1K_1200
80 config OR1K_1200
81         bool "OR1200"
82         help
83           Generic OpenRISC 1200 architecture
85 endchoice
87 config DCACHE_WRITETHROUGH
88         bool "Have write through data caches"
89         default n
90         help
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-
94           through data caches.
96           If unsure say N here
98 config BUILTIN_DTB_NAME
99         string "Builtin DTB"
100         default ""
102 menu "Class II Instructions"
104 config OPENRISC_HAVE_INST_FF1
105         bool "Have instruction l.ff1"
106         default y
107         help
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"
112         default y
113         help
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"
118         default y
119         help
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"
124         default y
125         help
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"
130         default n
131         help
132           This config enables gcc to generate l.cmov instructions when compiling
133           the kernel which in general will improve performance and reduce the
134           binary size.
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"
143         default n
144         help
145           This config enables gcc to generate l.ror instructions when compiling
146           the kernel which in general will improve performance and reduce the
147           binary size.
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"
156         default n
157         help
158           This config enables gcc to generate l.rori instructions when compiling
159           the kernel which in general will improve performance and reduce the
160           binary size.
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"
169         default n
170         help
171           This config enables gcc to generate l.ext* instructions when compiling
172           the kernel which in general will improve performance and reduce the
173           binary size.
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.
180 endmenu
182 config NR_CPUS
183         int "Maximum number of CPUs (2-32)"
184         range 2 32
185         depends on SMP
186         default "2"
188 config SMP
189         bool "Symmetric Multi-Processing support"
190         help
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
193           than one CPU, say Y.
195           If you don't know what to do here, say N.
197 config FPU
198         bool "FPU support"
199         default y
200         help
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
210         default y
211         help
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
223         default y if SMP
224         help
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.
232 config CMDLINE
233         string "Default kernel command string"
234         default ""
235         help
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
239           here.
241 menu "Debugging options"
243 config JUMP_UPON_UNHANDLED_EXCEPTION
244         bool "Try to die gracefully"
245         default y
246         help
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"
254         default n
255         help
256           This option enables some checks that might expose some problems
257           in kernel.
259           Say N if you are unsure.
261 endmenu
263 endmenu