xref: /linux/arch/openrisc/Kconfig (revision 5600779ea5f3d29fadc62208e21feb0bb9b813aa)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
2f8c4a270SJonas Bonn#
3f8c4a270SJonas Bonn# For a description of the syntax of this configuration file,
4395cf969SPaul Bolle# see Documentation/kbuild/kconfig-language.txt.
5f8c4a270SJonas Bonn#
6f8c4a270SJonas Bonn
7f8c4a270SJonas Bonnconfig OPENRISC
8f8c4a270SJonas Bonn	def_bool y
9*5600779eSChristoph Hellwig	select ARCH_HAS_SYNC_DMA_FOR_DEVICE
10*5600779eSChristoph Hellwig	select DMA_NONCOHERENT_OPS
11f8c4a270SJonas Bonn	select OF
12f8c4a270SJonas Bonn	select OF_EARLY_FLATTREE
13b4c4c6eeSJonas Bonn	select IRQ_DOMAIN
14d1f6f28fSMarc Zyngier	select HANDLE_DOMAIN_IRQ
15f8c4a270SJonas Bonn	select HAVE_MEMBLOCK
168636f344SLinus Walleij	select GPIOLIB
17f8c4a270SJonas Bonn        select HAVE_ARCH_TRACEHOOK
18c0fcaf55SJonas Bonn	select SPARSE_IRQ
19f8c4a270SJonas Bonn	select GENERIC_IRQ_CHIP
20f8c4a270SJonas Bonn	select GENERIC_IRQ_PROBE
21f8c4a270SJonas Bonn	select GENERIC_IRQ_SHOW
22f8c4a270SJonas Bonn	select GENERIC_IOMAP
239f13a1fdSBen Hutchings	select GENERIC_CPU_DEVICES
2404ea1e91SAndrew Morton	select HAVE_UID16
250662d33aSRichard Weinberger	select GENERIC_ATOMIC64
265bf8f6bfSAnna-Maria Gleixner	select GENERIC_CLOCKEVENTS
278e6d08e0SStefan Kristiansson	select GENERIC_CLOCKEVENTS_BROADCAST
28603d6637SJonas Bonn	select GENERIC_STRNCPY_FROM_USER
29b48b2c3eSJonas Bonn	select GENERIC_STRNLEN_USER
308e6d08e0SStefan Kristiansson	select GENERIC_SMP_IDLE_THREAD
31786d35d4SDavid Howells	select MODULES_USE_ELF_RELA
3283fbdf1cSPalmer Dabbelt	select MULTI_IRQ_HANDLER
33d1a1dc0bSDave Hansen	select HAVE_DEBUG_STACKOVERFLOW
344db8e6d2SStefan Kristiansson	select OR1K_PIC
35fff7fb0bSZhaoxiu Zeng	select CPU_NO_EFFICIENT_FFS if !OPENRISC_HAVE_INST_FF1
36266c7fadSStafford Horne	select NO_BOOTMEM
37b5f82176SStafford Horne	select ARCH_USE_QUEUED_SPINLOCKS
38b5f82176SStafford Horne	select ARCH_USE_QUEUED_RWLOCKS
399b54470aSStafford Horne	select OMPIC if SMP
40eecac38bSStafford Horne	select ARCH_WANT_FRAME_POINTERS
41f8c4a270SJonas Bonn
424c97a0c8SBabu Mogerconfig CPU_BIG_ENDIAN
434c97a0c8SBabu Moger	def_bool y
444c97a0c8SBabu Moger
45f8c4a270SJonas Bonnconfig MMU
46f8c4a270SJonas Bonn	def_bool y
47f8c4a270SJonas Bonn
48f8c4a270SJonas Bonnconfig RWSEM_GENERIC_SPINLOCK
49f8c4a270SJonas Bonn	def_bool y
50f8c4a270SJonas Bonn
51f8c4a270SJonas Bonnconfig RWSEM_XCHGADD_ALGORITHM
52f8c4a270SJonas Bonn	def_bool n
53f8c4a270SJonas Bonn
54f8c4a270SJonas Bonnconfig GENERIC_HWEIGHT
55f8c4a270SJonas Bonn	def_bool y
56f8c4a270SJonas Bonn
57ce816fa8SUwe Kleine-Königconfig NO_IOPORT_MAP
58f8c4a270SJonas Bonn	def_bool y
59f8c4a270SJonas Bonn
60f8c4a270SJonas Bonnconfig TRACE_IRQFLAGS_SUPPORT
61f8c4a270SJonas Bonn        def_bool y
62f8c4a270SJonas Bonn
63f8c4a270SJonas Bonn# For now, use generic checksum functions
64f8c4a270SJonas Bonn#These can be reimplemented in assembly later if so inclined
65f8c4a270SJonas Bonnconfig GENERIC_CSUM
66f8c4a270SJonas Bonn        def_bool y
67f8c4a270SJonas Bonn
68eecac38bSStafford Horneconfig STACKTRACE_SUPPORT
69eecac38bSStafford Horne	def_bool y
70eecac38bSStafford Horne
7178cdfb5cSStafford Horneconfig LOCKDEP_SUPPORT
7278cdfb5cSStafford Horne	def_bool  y
7378cdfb5cSStafford Horne
7483fbdf1cSPalmer Dabbeltconfig MULTI_IRQ_HANDLER
7583fbdf1cSPalmer Dabbelt	def_bool y
7683fbdf1cSPalmer Dabbelt
77f8c4a270SJonas Bonnsource "init/Kconfig"
78f8c4a270SJonas Bonn
7957a1a197SChen Gangsource "kernel/Kconfig.freezer"
80f8c4a270SJonas Bonn
81f8c4a270SJonas Bonnmenu "Processor type and features"
82f8c4a270SJonas Bonn
83f8c4a270SJonas Bonnchoice
84f8c4a270SJonas Bonn	prompt "Subarchitecture"
85f8c4a270SJonas Bonn	default OR1K_1200
86f8c4a270SJonas Bonn
87f8c4a270SJonas Bonnconfig OR1K_1200
88f8c4a270SJonas Bonn	bool "OR1200"
89f8c4a270SJonas Bonn	help
90f8c4a270SJonas Bonn	  Generic OpenRISC 1200 architecture
91f8c4a270SJonas Bonn
92f8c4a270SJonas Bonnendchoice
93f8c4a270SJonas Bonn
944ee93d80SJan Henrik Weinstockconfig DCACHE_WRITETHROUGH
954ee93d80SJan Henrik Weinstock	bool "Have write through data caches"
964ee93d80SJan Henrik Weinstock	default n
974ee93d80SJan Henrik Weinstock	help
984ee93d80SJan Henrik Weinstock	  Select this if your implementation features write through data caches.
994ee93d80SJan Henrik Weinstock	  Selecting 'N' here will allow the kernel to force flushing of data
1004ee93d80SJan Henrik Weinstock	  caches at relevant times. Most OpenRISC implementations support write-
1014ee93d80SJan Henrik Weinstock	  through data caches.
1024ee93d80SJan Henrik Weinstock
1034ee93d80SJan Henrik Weinstock	  If unsure say N here
1044ee93d80SJan Henrik Weinstock
105f8c4a270SJonas Bonnconfig OPENRISC_BUILTIN_DTB
106f8c4a270SJonas Bonn        string "Builtin DTB"
107f8c4a270SJonas Bonn        default ""
108f8c4a270SJonas Bonn
109f8c4a270SJonas Bonnmenu "Class II Instructions"
110f8c4a270SJonas Bonn
111f8c4a270SJonas Bonnconfig OPENRISC_HAVE_INST_FF1
112f8c4a270SJonas Bonn	bool "Have instruction l.ff1"
113f8c4a270SJonas Bonn	default y
114f8c4a270SJonas Bonn	help
115f8c4a270SJonas Bonn	  Select this if your implementation has the Class II instruction l.ff1
116f8c4a270SJonas Bonn
117f8c4a270SJonas Bonnconfig OPENRISC_HAVE_INST_FL1
118f8c4a270SJonas Bonn	bool "Have instruction l.fl1"
119f8c4a270SJonas Bonn	default y
120f8c4a270SJonas Bonn	help
121f8c4a270SJonas Bonn	  Select this if your implementation has the Class II instruction l.fl1
122f8c4a270SJonas Bonn
123f8c4a270SJonas Bonnconfig OPENRISC_HAVE_INST_MUL
124f8c4a270SJonas Bonn	bool "Have instruction l.mul for hardware multiply"
125f8c4a270SJonas Bonn	default y
126f8c4a270SJonas Bonn	help
127f8c4a270SJonas Bonn	  Select this if your implementation has a hardware multiply instruction
128f8c4a270SJonas Bonn
129f8c4a270SJonas Bonnconfig OPENRISC_HAVE_INST_DIV
130f8c4a270SJonas Bonn	bool "Have instruction l.div for hardware divide"
131f8c4a270SJonas Bonn	default y
132f8c4a270SJonas Bonn	help
133f8c4a270SJonas Bonn	  Select this if your implementation has a hardware divide instruction
134f8c4a270SJonas Bonnendmenu
135f8c4a270SJonas Bonn
13634bbdcdcSStafford Horneconfig NR_CPUS
1378e6d08e0SStefan Kristiansson	int "Maximum number of CPUs (2-32)"
1388e6d08e0SStefan Kristiansson	range 2 32
1398e6d08e0SStefan Kristiansson	depends on SMP
1408e6d08e0SStefan Kristiansson	default "2"
1418e6d08e0SStefan Kristiansson
1428e6d08e0SStefan Kristianssonconfig SMP
1438e6d08e0SStefan Kristiansson	bool "Symmetric Multi-Processing support"
1448e6d08e0SStefan Kristiansson	help
1458e6d08e0SStefan Kristiansson	  This enables support for systems with more than one CPU. If you have
1468e6d08e0SStefan Kristiansson	  a system with only one CPU, say N. If you have a system with more
1478e6d08e0SStefan Kristiansson	  than one CPU, say Y.
1488e6d08e0SStefan Kristiansson
1498e6d08e0SStefan Kristiansson	  If you don't know what to do here, say N.
150f8c4a270SJonas Bonn
151f8c4a270SJonas Bonnsource kernel/Kconfig.hz
152f8c4a270SJonas Bonnsource kernel/Kconfig.preempt
153f8c4a270SJonas Bonnsource "mm/Kconfig"
154f8c4a270SJonas Bonn
155f8c4a270SJonas Bonnconfig OPENRISC_NO_SPR_SR_DSX
156f8c4a270SJonas Bonn	bool "use SPR_SR_DSX software emulation" if OR1K_1200
157f8c4a270SJonas Bonn	default y
158f8c4a270SJonas Bonn	help
159f8c4a270SJonas Bonn	  SPR_SR_DSX bit is status register bit indicating whether
160f8c4a270SJonas Bonn	  the last exception has happened in delay slot.
161f8c4a270SJonas Bonn
162f8c4a270SJonas Bonn	  OpenRISC architecture makes it optional to have it implemented
163f8c4a270SJonas Bonn	  in hardware and the OR1200 does not have it.
164f8c4a270SJonas Bonn
165f8c4a270SJonas Bonn	  Say N here if you know that your OpenRISC processor has
166f8c4a270SJonas Bonn	  SPR_SR_DSX bit implemented. Say Y if you are unsure.
167f8c4a270SJonas Bonn
16891993c8cSStefan Kristianssonconfig OPENRISC_HAVE_SHADOW_GPRS
16991993c8cSStefan Kristiansson	bool "Support for shadow gpr files" if !SMP
17091993c8cSStefan Kristiansson	default y if SMP
17191993c8cSStefan Kristiansson	help
17291993c8cSStefan Kristiansson	  Say Y here if your OpenRISC processor features shadowed
17391993c8cSStefan Kristiansson	  register files. They will in such case be used as a
17491993c8cSStefan Kristiansson	  scratch reg storage on exception entry.
17591993c8cSStefan Kristiansson
17691993c8cSStefan Kristiansson	  On SMP systems, this feature is mandatory.
17791993c8cSStefan Kristiansson	  On a unicore system it's safe to say N here if you are unsure.
17891993c8cSStefan Kristiansson
179f8c4a270SJonas Bonnconfig CMDLINE
180f8c4a270SJonas Bonn        string "Default kernel command string"
181f8c4a270SJonas Bonn        default ""
182f8c4a270SJonas Bonn        help
183f8c4a270SJonas Bonn          On some architectures there is currently no way for the boot loader
184f8c4a270SJonas Bonn          to pass arguments to the kernel. For these architectures, you should
185f8c4a270SJonas Bonn          supply some command-line options at build time by entering them
186f8c4a270SJonas Bonn          here.
187f8c4a270SJonas Bonn
188f8c4a270SJonas Bonnmenu "Debugging options"
189f8c4a270SJonas Bonn
190f8c4a270SJonas Bonnconfig JUMP_UPON_UNHANDLED_EXCEPTION
191f8c4a270SJonas Bonn	bool "Try to die gracefully"
192f8c4a270SJonas Bonn	default y
193f8c4a270SJonas Bonn	help
194f8c4a270SJonas Bonn	  Now this puts kernel into infinite loop after first oops. Till
195f8c4a270SJonas Bonn	  your kernel crashes this doesn't have any influence.
196f8c4a270SJonas Bonn
197f8c4a270SJonas Bonn	  Say Y if you are unsure.
198f8c4a270SJonas Bonn
199f8c4a270SJonas Bonnconfig OPENRISC_ESR_EXCEPTION_BUG_CHECK
200f8c4a270SJonas Bonn	bool "Check for possible ESR exception bug"
201f8c4a270SJonas Bonn	default n
202f8c4a270SJonas Bonn	help
203f8c4a270SJonas Bonn	  This option enables some checks that might expose some problems
204f8c4a270SJonas Bonn          in kernel.
205f8c4a270SJonas Bonn
206f8c4a270SJonas Bonn	  Say N if you are unsure.
207f8c4a270SJonas Bonn
208f8c4a270SJonas Bonnendmenu
209f8c4a270SJonas Bonn
210f8c4a270SJonas Bonnendmenu
211f8c4a270SJonas Bonn
212f8c4a270SJonas Bonnmenu "Executable file formats"
213f8c4a270SJonas Bonn
214f8c4a270SJonas Bonnsource "fs/Kconfig.binfmt"
215f8c4a270SJonas Bonn
216f8c4a270SJonas Bonnendmenu
217f8c4a270SJonas Bonn
218f8c4a270SJonas Bonnsource "net/Kconfig"
219f8c4a270SJonas Bonn
220f8c4a270SJonas Bonnsource "drivers/Kconfig"
221f8c4a270SJonas Bonn
222f8c4a270SJonas Bonnsource "fs/Kconfig"
223f8c4a270SJonas Bonn
224f8c4a270SJonas Bonnsource "security/Kconfig"
225f8c4a270SJonas Bonn
226f8c4a270SJonas Bonnsource "crypto/Kconfig"
227f8c4a270SJonas Bonn
228f8c4a270SJonas Bonnsource "lib/Kconfig"
229f8c4a270SJonas Bonn
230f8c4a270SJonas Bonnmenu "Kernel hacking"
231f8c4a270SJonas Bonn
232f8c4a270SJonas Bonnsource "lib/Kconfig.debug"
233f8c4a270SJonas Bonn
234f8c4a270SJonas Bonnendmenu
235