blob: df2136ab1dcca223481ad65633368a8cf037359a [file] [log] [blame]
rjw1f884582022-01-06 17:20:42 +08001# 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