blob: 8588996165ae860b5e7d195486b099060261674e [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001# SPDX-License-Identifier: GPL-2.0
Jonas Bonnf8c4a272011-06-04 21:52:05 +03002#
3# For a description of the syntax of this configuration file,
Mauro Carvalho Chehabcd238ef2019-06-12 14:52:48 -03004# see Documentation/kbuild/kconfig-language.rst.
Jonas Bonnf8c4a272011-06-04 21:52:05 +03005#
6
7config OPENRISC
8 def_bool y
Yury Norov942fa982018-05-16 11:18:49 +03009 select ARCH_32BIT_OFF_T
Christoph Hellwiga4a4d112019-11-07 18:08:39 +010010 select ARCH_HAS_DMA_SET_UNCACHED
11 select ARCH_HAS_DMA_CLEAR_UNCACHED
Christoph Hellwig56007792018-07-19 06:02:32 -070012 select ARCH_HAS_SYNC_DMA_FOR_DEVICE
Jonas Bonnf8c4a272011-06-04 21:52:05 +030013 select OF
14 select OF_EARLY_FLATTREE
Jonas Bonnb4c4c6e2012-04-06 12:52:54 +020015 select IRQ_DOMAIN
Marc Zyngierd1f6f282014-08-26 11:03:19 +010016 select HANDLE_DOMAIN_IRQ
Linus Walleij8636f342016-04-19 13:15:43 +020017 select GPIOLIB
Krzysztof Kozlowski0ecdcaa2019-11-20 21:37:12 +080018 select HAVE_ARCH_TRACEHOOK
Stafford Horne0d4e1bb2020-02-25 19:04:17 +090019 select HAVE_COPY_THREAD_TLS
Jonas Bonnc0fcaf52012-05-09 23:19:44 +020020 select SPARSE_IRQ
Jonas Bonnf8c4a272011-06-04 21:52:05 +030021 select GENERIC_IRQ_CHIP
22 select GENERIC_IRQ_PROBE
23 select GENERIC_IRQ_SHOW
24 select GENERIC_IOMAP
Ben Hutchings9f13a1f2012-01-10 03:04:32 +000025 select GENERIC_CPU_DEVICES
Andrew Morton04ea1e92015-07-17 16:23:28 -070026 select HAVE_UID16
Richard Weinberger0662d332012-03-02 01:55:11 +010027 select GENERIC_ATOMIC64
Anna-Maria Gleixner5bf8f6b2012-05-18 16:45:51 +000028 select GENERIC_CLOCKEVENTS
Stefan Kristiansson8e6d08e2014-05-11 21:49:34 +030029 select GENERIC_CLOCKEVENTS_BROADCAST
Jonas Bonn603d6632012-05-25 08:24:49 +020030 select GENERIC_STRNCPY_FROM_USER
Jonas Bonnb48b2c32012-05-27 10:25:47 +020031 select GENERIC_STRNLEN_USER
Stefan Kristiansson8e6d08e2014-05-11 21:49:34 +030032 select GENERIC_SMP_IDLE_THREAD
David Howells786d35d2012-09-28 14:31:03 +093033 select MODULES_USE_ELF_RELA
Dave Hansend1a1dc02013-07-01 13:04:42 -070034 select HAVE_DEBUG_STACKOVERFLOW
Stefan Kristiansson4db8e6d2014-05-26 23:31:42 +030035 select OR1K_PIC
Zhaoxiu Zengfff7fb02016-05-20 17:03:57 -070036 select CPU_NO_EFFICIENT_FFS if !OPENRISC_HAVE_INST_FF1
Stafford Horneb5f82172017-03-24 07:13:03 +090037 select ARCH_USE_QUEUED_SPINLOCKS
38 select ARCH_USE_QUEUED_RWLOCKS
Stafford Horne9b544702017-10-30 21:38:35 +090039 select OMPIC if SMP
Stafford Horneeecac382017-07-24 21:44:35 +090040 select ARCH_WANT_FRAME_POINTERS
Palmer Dabbeltc5ca4562018-06-22 10:01:25 -070041 select GENERIC_IRQ_MULTI_HANDLER
Peter Zijlstra6137fed2018-09-04 17:04:07 +020042 select MMU_GATHER_NO_RANGE if MMU
Jonas Bonnf8c4a272011-06-04 21:52:05 +030043
Babu Moger4c97a0c2017-09-08 16:14:22 -070044config CPU_BIG_ENDIAN
45 def_bool y
46
Jonas Bonnf8c4a272011-06-04 21:52:05 +030047config MMU
48 def_bool y
49
Jonas Bonnf8c4a272011-06-04 21:52:05 +030050config GENERIC_HWEIGHT
51 def_bool y
52
Uwe Kleine-Königce816fa2014-04-07 15:39:19 -070053config NO_IOPORT_MAP
Jonas Bonnf8c4a272011-06-04 21:52:05 +030054 def_bool y
55
Jonas Bonnf8c4a272011-06-04 21:52:05 +030056config TRACE_IRQFLAGS_SUPPORT
Krzysztof Kozlowski0ecdcaa2019-11-20 21:37:12 +080057 def_bool y
Jonas Bonnf8c4a272011-06-04 21:52:05 +030058
59# For now, use generic checksum functions
60#These can be reimplemented in assembly later if so inclined
61config GENERIC_CSUM
Krzysztof Kozlowski0ecdcaa2019-11-20 21:37:12 +080062 def_bool y
Jonas Bonnf8c4a272011-06-04 21:52:05 +030063
Stafford Horneeecac382017-07-24 21:44:35 +090064config STACKTRACE_SUPPORT
65 def_bool y
66
Stafford Horne78cdfb52017-07-24 21:55:16 +090067config LOCKDEP_SUPPORT
68 def_bool y
69
Jonas Bonnf8c4a272011-06-04 21:52:05 +030070menu "Processor type and features"
71
72choice
73 prompt "Subarchitecture"
74 default OR1K_1200
75
76config OR1K_1200
77 bool "OR1200"
78 help
79 Generic OpenRISC 1200 architecture
80
81endchoice
82
Jan Henrik Weinstock4ee93d82015-11-04 17:26:10 +010083config DCACHE_WRITETHROUGH
84 bool "Have write through data caches"
85 default n
86 help
87 Select this if your implementation features write through data caches.
88 Selecting 'N' here will allow the kernel to force flushing of data
89 caches at relevant times. Most OpenRISC implementations support write-
90 through data caches.
91
92 If unsure say N here
93
Jonas Bonnf8c4a272011-06-04 21:52:05 +030094config OPENRISC_BUILTIN_DTB
Krzysztof Kozlowski0ecdcaa2019-11-20 21:37:12 +080095 string "Builtin DTB"
96 default ""
Jonas Bonnf8c4a272011-06-04 21:52:05 +030097
98menu "Class II Instructions"
99
100config OPENRISC_HAVE_INST_FF1
101 bool "Have instruction l.ff1"
102 default y
103 help
104 Select this if your implementation has the Class II instruction l.ff1
105
106config OPENRISC_HAVE_INST_FL1
107 bool "Have instruction l.fl1"
108 default y
109 help
110 Select this if your implementation has the Class II instruction l.fl1
111
112config OPENRISC_HAVE_INST_MUL
113 bool "Have instruction l.mul for hardware multiply"
114 default y
115 help
116 Select this if your implementation has a hardware multiply instruction
117
118config OPENRISC_HAVE_INST_DIV
119 bool "Have instruction l.div for hardware divide"
120 default y
121 help
122 Select this if your implementation has a hardware divide instruction
123endmenu
124
Stafford Horne34bbdcd2016-09-24 22:20:42 +0900125config NR_CPUS
Stefan Kristiansson8e6d08e2014-05-11 21:49:34 +0300126 int "Maximum number of CPUs (2-32)"
127 range 2 32
128 depends on SMP
129 default "2"
130
131config SMP
132 bool "Symmetric Multi-Processing support"
133 help
134 This enables support for systems with more than one CPU. If you have
135 a system with only one CPU, say N. If you have a system with more
136 than one CPU, say Y.
137
138 If you don't know what to do here, say N.
Jonas Bonnf8c4a272011-06-04 21:52:05 +0300139
Masahiro Yamada8636a1f2018-12-11 20:01:04 +0900140source "kernel/Kconfig.hz"
Jonas Bonnf8c4a272011-06-04 21:52:05 +0300141
142config OPENRISC_NO_SPR_SR_DSX
143 bool "use SPR_SR_DSX software emulation" if OR1K_1200
144 default y
145 help
146 SPR_SR_DSX bit is status register bit indicating whether
147 the last exception has happened in delay slot.
148
149 OpenRISC architecture makes it optional to have it implemented
150 in hardware and the OR1200 does not have it.
151
152 Say N here if you know that your OpenRISC processor has
153 SPR_SR_DSX bit implemented. Say Y if you are unsure.
154
Stefan Kristiansson91993c82014-05-11 12:08:37 +0300155config OPENRISC_HAVE_SHADOW_GPRS
156 bool "Support for shadow gpr files" if !SMP
157 default y if SMP
158 help
159 Say Y here if your OpenRISC processor features shadowed
160 register files. They will in such case be used as a
161 scratch reg storage on exception entry.
162
163 On SMP systems, this feature is mandatory.
164 On a unicore system it's safe to say N here if you are unsure.
165
Jonas Bonnf8c4a272011-06-04 21:52:05 +0300166config CMDLINE
Krzysztof Kozlowski0ecdcaa2019-11-20 21:37:12 +0800167 string "Default kernel command string"
168 default ""
169 help
170 On some architectures there is currently no way for the boot loader
171 to pass arguments to the kernel. For these architectures, you should
172 supply some command-line options at build time by entering them
173 here.
Jonas Bonnf8c4a272011-06-04 21:52:05 +0300174
175menu "Debugging options"
176
Jonas Bonnf8c4a272011-06-04 21:52:05 +0300177config JUMP_UPON_UNHANDLED_EXCEPTION
178 bool "Try to die gracefully"
179 default y
180 help
181 Now this puts kernel into infinite loop after first oops. Till
182 your kernel crashes this doesn't have any influence.
183
184 Say Y if you are unsure.
185
Jonas Bonnf8c4a272011-06-04 21:52:05 +0300186config OPENRISC_ESR_EXCEPTION_BUG_CHECK
187 bool "Check for possible ESR exception bug"
188 default n
189 help
190 This option enables some checks that might expose some problems
Krzysztof Kozlowski0ecdcaa2019-11-20 21:37:12 +0800191 in kernel.
Jonas Bonnf8c4a272011-06-04 21:52:05 +0300192
193 Say N if you are unsure.
194
195endmenu
196
197endmenu