xref: /linux/arch/openrisc/Kconfig (revision c5ca4560de0f04a3c872bdd17ae3378762c66bd2)
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
9f8c4a270SJonas Bonn	select OF
10f8c4a270SJonas Bonn	select OF_EARLY_FLATTREE
11b4c4c6eeSJonas Bonn	select IRQ_DOMAIN
12d1f6f28fSMarc Zyngier	select HANDLE_DOMAIN_IRQ
13f8c4a270SJonas Bonn	select HAVE_MEMBLOCK
148636f344SLinus Walleij	select GPIOLIB
15f8c4a270SJonas Bonn        select HAVE_ARCH_TRACEHOOK
16c0fcaf55SJonas Bonn	select SPARSE_IRQ
17f8c4a270SJonas Bonn	select GENERIC_IRQ_CHIP
18f8c4a270SJonas Bonn	select GENERIC_IRQ_PROBE
19f8c4a270SJonas Bonn	select GENERIC_IRQ_SHOW
20f8c4a270SJonas Bonn	select GENERIC_IOMAP
219f13a1fdSBen Hutchings	select GENERIC_CPU_DEVICES
2204ea1e91SAndrew Morton	select HAVE_UID16
230662d33aSRichard Weinberger	select GENERIC_ATOMIC64
245bf8f6bfSAnna-Maria Gleixner	select GENERIC_CLOCKEVENTS
258e6d08e0SStefan Kristiansson	select GENERIC_CLOCKEVENTS_BROADCAST
26603d6637SJonas Bonn	select GENERIC_STRNCPY_FROM_USER
27b48b2c3eSJonas Bonn	select GENERIC_STRNLEN_USER
288e6d08e0SStefan Kristiansson	select GENERIC_SMP_IDLE_THREAD
29786d35d4SDavid Howells	select MODULES_USE_ELF_RELA
30d1a1dc0bSDave Hansen	select HAVE_DEBUG_STACKOVERFLOW
314db8e6d2SStefan Kristiansson	select OR1K_PIC
32fff7fb0bSZhaoxiu Zeng	select CPU_NO_EFFICIENT_FFS if !OPENRISC_HAVE_INST_FF1
33266c7fadSStafford Horne	select NO_BOOTMEM
34b5f82176SStafford Horne	select ARCH_USE_QUEUED_SPINLOCKS
35b5f82176SStafford Horne	select ARCH_USE_QUEUED_RWLOCKS
369b54470aSStafford Horne	select OMPIC if SMP
37eecac38bSStafford Horne	select ARCH_WANT_FRAME_POINTERS
38*c5ca4560SPalmer Dabbelt	select GENERIC_IRQ_MULTI_HANDLER
39f8c4a270SJonas Bonn
404c97a0c8SBabu Mogerconfig CPU_BIG_ENDIAN
414c97a0c8SBabu Moger	def_bool y
424c97a0c8SBabu Moger
43f8c4a270SJonas Bonnconfig MMU
44f8c4a270SJonas Bonn	def_bool y
45f8c4a270SJonas Bonn
46f8c4a270SJonas Bonnconfig RWSEM_GENERIC_SPINLOCK
47f8c4a270SJonas Bonn	def_bool y
48f8c4a270SJonas Bonn
49f8c4a270SJonas Bonnconfig RWSEM_XCHGADD_ALGORITHM
50f8c4a270SJonas Bonn	def_bool n
51f8c4a270SJonas Bonn
52f8c4a270SJonas Bonnconfig GENERIC_HWEIGHT
53f8c4a270SJonas Bonn	def_bool y
54f8c4a270SJonas Bonn
55ce816fa8SUwe Kleine-Königconfig NO_IOPORT_MAP
56f8c4a270SJonas Bonn	def_bool y
57f8c4a270SJonas Bonn
58f8c4a270SJonas Bonnconfig TRACE_IRQFLAGS_SUPPORT
59f8c4a270SJonas Bonn        def_bool y
60f8c4a270SJonas Bonn
61f8c4a270SJonas Bonn# For now, use generic checksum functions
62f8c4a270SJonas Bonn#These can be reimplemented in assembly later if so inclined
63f8c4a270SJonas Bonnconfig GENERIC_CSUM
64f8c4a270SJonas Bonn        def_bool y
65f8c4a270SJonas Bonn
66eecac38bSStafford Horneconfig STACKTRACE_SUPPORT
67eecac38bSStafford Horne	def_bool y
68eecac38bSStafford Horne
6978cdfb5cSStafford Horneconfig LOCKDEP_SUPPORT
7078cdfb5cSStafford Horne	def_bool  y
7178cdfb5cSStafford Horne
72f8c4a270SJonas Bonnsource "init/Kconfig"
73f8c4a270SJonas Bonn
7457a1a197SChen Gangsource "kernel/Kconfig.freezer"
75f8c4a270SJonas Bonn
76f8c4a270SJonas Bonnmenu "Processor type and features"
77f8c4a270SJonas Bonn
78f8c4a270SJonas Bonnchoice
79f8c4a270SJonas Bonn	prompt "Subarchitecture"
80f8c4a270SJonas Bonn	default OR1K_1200
81f8c4a270SJonas Bonn
82f8c4a270SJonas Bonnconfig OR1K_1200
83f8c4a270SJonas Bonn	bool "OR1200"
84f8c4a270SJonas Bonn	help
85f8c4a270SJonas Bonn	  Generic OpenRISC 1200 architecture
86f8c4a270SJonas Bonn
87f8c4a270SJonas Bonnendchoice
88f8c4a270SJonas Bonn
894ee93d80SJan Henrik Weinstockconfig DCACHE_WRITETHROUGH
904ee93d80SJan Henrik Weinstock	bool "Have write through data caches"
914ee93d80SJan Henrik Weinstock	default n
924ee93d80SJan Henrik Weinstock	help
934ee93d80SJan Henrik Weinstock	  Select this if your implementation features write through data caches.
944ee93d80SJan Henrik Weinstock	  Selecting 'N' here will allow the kernel to force flushing of data
954ee93d80SJan Henrik Weinstock	  caches at relevant times. Most OpenRISC implementations support write-
964ee93d80SJan Henrik Weinstock	  through data caches.
974ee93d80SJan Henrik Weinstock
984ee93d80SJan Henrik Weinstock	  If unsure say N here
994ee93d80SJan Henrik Weinstock
100f8c4a270SJonas Bonnconfig OPENRISC_BUILTIN_DTB
101f8c4a270SJonas Bonn        string "Builtin DTB"
102f8c4a270SJonas Bonn        default ""
103f8c4a270SJonas Bonn
104f8c4a270SJonas Bonnmenu "Class II Instructions"
105f8c4a270SJonas Bonn
106f8c4a270SJonas Bonnconfig OPENRISC_HAVE_INST_FF1
107f8c4a270SJonas Bonn	bool "Have instruction l.ff1"
108f8c4a270SJonas Bonn	default y
109f8c4a270SJonas Bonn	help
110f8c4a270SJonas Bonn	  Select this if your implementation has the Class II instruction l.ff1
111f8c4a270SJonas Bonn
112f8c4a270SJonas Bonnconfig OPENRISC_HAVE_INST_FL1
113f8c4a270SJonas Bonn	bool "Have instruction l.fl1"
114f8c4a270SJonas Bonn	default y
115f8c4a270SJonas Bonn	help
116f8c4a270SJonas Bonn	  Select this if your implementation has the Class II instruction l.fl1
117f8c4a270SJonas Bonn
118f8c4a270SJonas Bonnconfig OPENRISC_HAVE_INST_MUL
119f8c4a270SJonas Bonn	bool "Have instruction l.mul for hardware multiply"
120f8c4a270SJonas Bonn	default y
121f8c4a270SJonas Bonn	help
122f8c4a270SJonas Bonn	  Select this if your implementation has a hardware multiply instruction
123f8c4a270SJonas Bonn
124f8c4a270SJonas Bonnconfig OPENRISC_HAVE_INST_DIV
125f8c4a270SJonas Bonn	bool "Have instruction l.div for hardware divide"
126f8c4a270SJonas Bonn	default y
127f8c4a270SJonas Bonn	help
128f8c4a270SJonas Bonn	  Select this if your implementation has a hardware divide instruction
129f8c4a270SJonas Bonnendmenu
130f8c4a270SJonas Bonn
13134bbdcdcSStafford Horneconfig NR_CPUS
1328e6d08e0SStefan Kristiansson	int "Maximum number of CPUs (2-32)"
1338e6d08e0SStefan Kristiansson	range 2 32
1348e6d08e0SStefan Kristiansson	depends on SMP
1358e6d08e0SStefan Kristiansson	default "2"
1368e6d08e0SStefan Kristiansson
1378e6d08e0SStefan Kristianssonconfig SMP
1388e6d08e0SStefan Kristiansson	bool "Symmetric Multi-Processing support"
1398e6d08e0SStefan Kristiansson	help
1408e6d08e0SStefan Kristiansson	  This enables support for systems with more than one CPU. If you have
1418e6d08e0SStefan Kristiansson	  a system with only one CPU, say N. If you have a system with more
1428e6d08e0SStefan Kristiansson	  than one CPU, say Y.
1438e6d08e0SStefan Kristiansson
1448e6d08e0SStefan Kristiansson	  If you don't know what to do here, say N.
145f8c4a270SJonas Bonn
146f8c4a270SJonas Bonnsource kernel/Kconfig.hz
147f8c4a270SJonas Bonnsource kernel/Kconfig.preempt
148f8c4a270SJonas Bonnsource "mm/Kconfig"
149f8c4a270SJonas Bonn
150f8c4a270SJonas Bonnconfig OPENRISC_NO_SPR_SR_DSX
151f8c4a270SJonas Bonn	bool "use SPR_SR_DSX software emulation" if OR1K_1200
152f8c4a270SJonas Bonn	default y
153f8c4a270SJonas Bonn	help
154f8c4a270SJonas Bonn	  SPR_SR_DSX bit is status register bit indicating whether
155f8c4a270SJonas Bonn	  the last exception has happened in delay slot.
156f8c4a270SJonas Bonn
157f8c4a270SJonas Bonn	  OpenRISC architecture makes it optional to have it implemented
158f8c4a270SJonas Bonn	  in hardware and the OR1200 does not have it.
159f8c4a270SJonas Bonn
160f8c4a270SJonas Bonn	  Say N here if you know that your OpenRISC processor has
161f8c4a270SJonas Bonn	  SPR_SR_DSX bit implemented. Say Y if you are unsure.
162f8c4a270SJonas Bonn
16391993c8cSStefan Kristianssonconfig OPENRISC_HAVE_SHADOW_GPRS
16491993c8cSStefan Kristiansson	bool "Support for shadow gpr files" if !SMP
16591993c8cSStefan Kristiansson	default y if SMP
16691993c8cSStefan Kristiansson	help
16791993c8cSStefan Kristiansson	  Say Y here if your OpenRISC processor features shadowed
16891993c8cSStefan Kristiansson	  register files. They will in such case be used as a
16991993c8cSStefan Kristiansson	  scratch reg storage on exception entry.
17091993c8cSStefan Kristiansson
17191993c8cSStefan Kristiansson	  On SMP systems, this feature is mandatory.
17291993c8cSStefan Kristiansson	  On a unicore system it's safe to say N here if you are unsure.
17391993c8cSStefan Kristiansson
174f8c4a270SJonas Bonnconfig CMDLINE
175f8c4a270SJonas Bonn        string "Default kernel command string"
176f8c4a270SJonas Bonn        default ""
177f8c4a270SJonas Bonn        help
178f8c4a270SJonas Bonn          On some architectures there is currently no way for the boot loader
179f8c4a270SJonas Bonn          to pass arguments to the kernel. For these architectures, you should
180f8c4a270SJonas Bonn          supply some command-line options at build time by entering them
181f8c4a270SJonas Bonn          here.
182f8c4a270SJonas Bonn
183f8c4a270SJonas Bonnmenu "Debugging options"
184f8c4a270SJonas Bonn
185f8c4a270SJonas Bonnconfig JUMP_UPON_UNHANDLED_EXCEPTION
186f8c4a270SJonas Bonn	bool "Try to die gracefully"
187f8c4a270SJonas Bonn	default y
188f8c4a270SJonas Bonn	help
189f8c4a270SJonas Bonn	  Now this puts kernel into infinite loop after first oops. Till
190f8c4a270SJonas Bonn	  your kernel crashes this doesn't have any influence.
191f8c4a270SJonas Bonn
192f8c4a270SJonas Bonn	  Say Y if you are unsure.
193f8c4a270SJonas Bonn
194f8c4a270SJonas Bonnconfig OPENRISC_ESR_EXCEPTION_BUG_CHECK
195f8c4a270SJonas Bonn	bool "Check for possible ESR exception bug"
196f8c4a270SJonas Bonn	default n
197f8c4a270SJonas Bonn	help
198f8c4a270SJonas Bonn	  This option enables some checks that might expose some problems
199f8c4a270SJonas Bonn          in kernel.
200f8c4a270SJonas Bonn
201f8c4a270SJonas Bonn	  Say N if you are unsure.
202f8c4a270SJonas Bonn
203f8c4a270SJonas Bonnendmenu
204f8c4a270SJonas Bonn
205f8c4a270SJonas Bonnendmenu
206f8c4a270SJonas Bonn
207f8c4a270SJonas Bonnmenu "Executable file formats"
208f8c4a270SJonas Bonn
209f8c4a270SJonas Bonnsource "fs/Kconfig.binfmt"
210f8c4a270SJonas Bonn
211f8c4a270SJonas Bonnendmenu
212f8c4a270SJonas Bonn
213f8c4a270SJonas Bonnsource "net/Kconfig"
214f8c4a270SJonas Bonn
215f8c4a270SJonas Bonnsource "drivers/Kconfig"
216f8c4a270SJonas Bonn
217f8c4a270SJonas Bonnsource "fs/Kconfig"
218f8c4a270SJonas Bonn
219f8c4a270SJonas Bonnsource "security/Kconfig"
220f8c4a270SJonas Bonn
221f8c4a270SJonas Bonnsource "crypto/Kconfig"
222f8c4a270SJonas Bonn
223f8c4a270SJonas Bonnsource "lib/Kconfig"
224f8c4a270SJonas Bonn
225f8c4a270SJonas Bonnmenu "Kernel hacking"
226f8c4a270SJonas Bonn
227f8c4a270SJonas Bonnsource "lib/Kconfig.debug"
228f8c4a270SJonas Bonn
229f8c4a270SJonas Bonnendmenu
230