GNU Linux-libre 4.19.211-gnu1
[releases.git] / arch / openrisc / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 #
3 # For a description of the syntax of this configuration file,
4 # see Documentation/kbuild/kconfig-language.txt.
5 #
6
7 config OPENRISC
8         def_bool y
9         select ARCH_HAS_SYNC_DMA_FOR_DEVICE
10         select DMA_NONCOHERENT_OPS
11         select OF
12         select OF_EARLY_FLATTREE
13         select IRQ_DOMAIN
14         select HANDLE_DOMAIN_IRQ
15         select HAVE_MEMBLOCK
16         select GPIOLIB
17         select HAVE_ARCH_TRACEHOOK
18         select SPARSE_IRQ
19         select GENERIC_IRQ_CHIP
20         select GENERIC_IRQ_PROBE
21         select GENERIC_IRQ_SHOW
22         select GENERIC_IOMAP
23         select GENERIC_CPU_DEVICES
24         select HAVE_UID16
25         select GENERIC_ATOMIC64
26         select GENERIC_CLOCKEVENTS
27         select GENERIC_CLOCKEVENTS_BROADCAST
28         select GENERIC_STRNCPY_FROM_USER
29         select GENERIC_STRNLEN_USER
30         select GENERIC_SMP_IDLE_THREAD
31         select MODULES_USE_ELF_RELA
32         select HAVE_DEBUG_STACKOVERFLOW
33         select OR1K_PIC
34         select CPU_NO_EFFICIENT_FFS if !OPENRISC_HAVE_INST_FF1
35         select NO_BOOTMEM
36         select ARCH_USE_QUEUED_SPINLOCKS
37         select ARCH_USE_QUEUED_RWLOCKS
38         select OMPIC if SMP
39         select ARCH_WANT_FRAME_POINTERS
40         select GENERIC_IRQ_MULTI_HANDLER
41
42 config CPU_BIG_ENDIAN
43         def_bool y
44
45 config MMU
46         def_bool y
47
48 config RWSEM_GENERIC_SPINLOCK
49         def_bool y
50
51 config RWSEM_XCHGADD_ALGORITHM
52         def_bool n
53
54 config GENERIC_HWEIGHT
55         def_bool y
56
57 config NO_IOPORT_MAP
58         def_bool y
59
60 config TRACE_IRQFLAGS_SUPPORT
61         def_bool y
62
63 # For now, use generic checksum functions
64 #These can be reimplemented in assembly later if so inclined
65 config GENERIC_CSUM
66         def_bool y
67
68 config STACKTRACE_SUPPORT
69         def_bool y
70
71 config LOCKDEP_SUPPORT
72         def_bool  y
73
74 menu "Processor type and features"
75
76 choice
77         prompt "Subarchitecture"
78         default OR1K_1200
79
80 config OR1K_1200
81         bool "OR1200"
82         help
83           Generic OpenRISC 1200 architecture
84
85 endchoice
86
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.
95
96           If unsure say N here
97
98 config OPENRISC_BUILTIN_DTB
99         string "Builtin DTB"
100         default ""
101
102 menu "Class II Instructions"
103
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
109
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
115
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
121
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
127 endmenu
128
129 config NR_CPUS
130         int "Maximum number of CPUs (2-32)"
131         range 2 32
132         depends on SMP
133         default "2"
134
135 config SMP
136         bool "Symmetric Multi-Processing support"
137         help
138           This enables support for systems with more than one CPU. If you have
139           a system with only one CPU, say N. If you have a system with more
140           than one CPU, say Y.
141
142           If you don't know what to do here, say N.
143
144 source kernel/Kconfig.hz
145
146 config OPENRISC_NO_SPR_SR_DSX
147         bool "use SPR_SR_DSX software emulation" if OR1K_1200
148         default y
149         help
150           SPR_SR_DSX bit is status register bit indicating whether
151           the last exception has happened in delay slot.
152
153           OpenRISC architecture makes it optional to have it implemented
154           in hardware and the OR1200 does not have it.
155
156           Say N here if you know that your OpenRISC processor has
157           SPR_SR_DSX bit implemented. Say Y if you are unsure.
158
159 config OPENRISC_HAVE_SHADOW_GPRS
160         bool "Support for shadow gpr files" if !SMP
161         default y if SMP
162         help
163           Say Y here if your OpenRISC processor features shadowed
164           register files. They will in such case be used as a
165           scratch reg storage on exception entry.
166
167           On SMP systems, this feature is mandatory.
168           On a unicore system it's safe to say N here if you are unsure.
169
170 config CMDLINE
171         string "Default kernel command string"
172         default ""
173         help
174           On some architectures there is currently no way for the boot loader
175           to pass arguments to the kernel. For these architectures, you should
176           supply some command-line options at build time by entering them
177           here.
178
179 menu "Debugging options"
180
181 config JUMP_UPON_UNHANDLED_EXCEPTION
182         bool "Try to die gracefully"
183         default y
184         help
185           Now this puts kernel into infinite loop after first oops. Till
186           your kernel crashes this doesn't have any influence.
187
188           Say Y if you are unsure.
189
190 config OPENRISC_ESR_EXCEPTION_BUG_CHECK
191         bool "Check for possible ESR exception bug"
192         default n
193         help
194           This option enables some checks that might expose some problems
195           in kernel.
196
197           Say N if you are unsure.
198
199 endmenu
200
201 endmenu