xref: /openbmc/linux/arch/openrisc/Kconfig (revision b2441318)
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
7config OPENRISC
8	def_bool y
9	select OF
10	select OF_EARLY_FLATTREE
11	select IRQ_DOMAIN
12	select HANDLE_DOMAIN_IRQ
13	select HAVE_MEMBLOCK
14	select GPIOLIB
15        select HAVE_ARCH_TRACEHOOK
16	select SPARSE_IRQ
17	select GENERIC_IRQ_CHIP
18	select GENERIC_IRQ_PROBE
19	select GENERIC_IRQ_SHOW
20	select GENERIC_IOMAP
21	select GENERIC_CPU_DEVICES
22	select HAVE_UID16
23	select GENERIC_ATOMIC64
24	select GENERIC_CLOCKEVENTS
25	select GENERIC_STRNCPY_FROM_USER
26	select GENERIC_STRNLEN_USER
27	select MODULES_USE_ELF_RELA
28	select HAVE_DEBUG_STACKOVERFLOW
29	select OR1K_PIC
30	select CPU_NO_EFFICIENT_FFS if !OPENRISC_HAVE_INST_FF1
31	select NO_BOOTMEM
32
33config CPU_BIG_ENDIAN
34	def_bool y
35
36config MMU
37	def_bool y
38
39config RWSEM_GENERIC_SPINLOCK
40	def_bool y
41
42config RWSEM_XCHGADD_ALGORITHM
43	def_bool n
44
45config GENERIC_HWEIGHT
46	def_bool y
47
48config NO_IOPORT_MAP
49	def_bool y
50
51config TRACE_IRQFLAGS_SUPPORT
52        def_bool y
53
54# For now, use generic checksum functions
55#These can be reimplemented in assembly later if so inclined
56config GENERIC_CSUM
57        def_bool y
58
59source "init/Kconfig"
60
61source "kernel/Kconfig.freezer"
62
63menu "Processor type and features"
64
65choice
66	prompt "Subarchitecture"
67	default OR1K_1200
68
69config OR1K_1200
70	bool "OR1200"
71	help
72	  Generic OpenRISC 1200 architecture
73
74endchoice
75
76config OPENRISC_BUILTIN_DTB
77        string "Builtin DTB"
78        default ""
79
80menu "Class II Instructions"
81
82config OPENRISC_HAVE_INST_FF1
83	bool "Have instruction l.ff1"
84	default y
85	help
86	  Select this if your implementation has the Class II instruction l.ff1
87
88config OPENRISC_HAVE_INST_FL1
89	bool "Have instruction l.fl1"
90	default y
91	help
92	  Select this if your implementation has the Class II instruction l.fl1
93
94config OPENRISC_HAVE_INST_MUL
95	bool "Have instruction l.mul for hardware multiply"
96	default y
97	help
98	  Select this if your implementation has a hardware multiply instruction
99
100config OPENRISC_HAVE_INST_DIV
101	bool "Have instruction l.div for hardware divide"
102	default y
103	help
104	  Select this if your implementation has a hardware divide instruction
105endmenu
106
107config NR_CPUS
108	int
109	default "1"
110
111source kernel/Kconfig.hz
112source kernel/Kconfig.preempt
113source "mm/Kconfig"
114
115config OPENRISC_NO_SPR_SR_DSX
116	bool "use SPR_SR_DSX software emulation" if OR1K_1200
117	default y
118	help
119	  SPR_SR_DSX bit is status register bit indicating whether
120	  the last exception has happened in delay slot.
121
122	  OpenRISC architecture makes it optional to have it implemented
123	  in hardware and the OR1200 does not have it.
124
125	  Say N here if you know that your OpenRISC processor has
126	  SPR_SR_DSX bit implemented. Say Y if you are unsure.
127
128config CMDLINE
129        string "Default kernel command string"
130        default ""
131        help
132          On some architectures there is currently no way for the boot loader
133          to pass arguments to the kernel. For these architectures, you should
134          supply some command-line options at build time by entering them
135          here.
136
137menu "Debugging options"
138
139config JUMP_UPON_UNHANDLED_EXCEPTION
140	bool "Try to die gracefully"
141	default y
142	help
143	  Now this puts kernel into infinite loop after first oops. Till
144	  your kernel crashes this doesn't have any influence.
145
146	  Say Y if you are unsure.
147
148config OPENRISC_ESR_EXCEPTION_BUG_CHECK
149	bool "Check for possible ESR exception bug"
150	default n
151	help
152	  This option enables some checks that might expose some problems
153          in kernel.
154
155	  Say N if you are unsure.
156
157endmenu
158
159endmenu
160
161menu "Executable file formats"
162
163source "fs/Kconfig.binfmt"
164
165endmenu
166
167source "net/Kconfig"
168
169source "drivers/Kconfig"
170
171source "fs/Kconfig"
172
173source "security/Kconfig"
174
175source "crypto/Kconfig"
176
177source "lib/Kconfig"
178
179menu "Kernel hacking"
180
181source "lib/Kconfig.debug"
182
183endmenu
184