]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - arch/riscv/Kconfig
i2c: xlp9xx: Add support for SMBAlert
[mirror_ubuntu-bionic-kernel.git] / arch / riscv / Kconfig
CommitLineData
fbe934d6
PD
1#
2# For a description of the syntax of this configuration file,
3# see Documentation/kbuild/kconfig-language.txt.
4#
5
6config RISCV
7 def_bool y
8 select OF
9 select OF_EARLY_FLATTREE
10 select OF_IRQ
11 select ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
12 select ARCH_WANT_FRAME_POINTERS
13 select CLONE_BACKWARDS
14 select COMMON_CLK
15 select GENERIC_CLOCKEVENTS
16 select GENERIC_CPU_DEVICES
17 select GENERIC_IRQ_SHOW
18 select GENERIC_PCI_IOMAP
19 select GENERIC_STRNCPY_FROM_USER
20 select GENERIC_STRNLEN_USER
21 select GENERIC_SMP_IDLE_THREAD
22 select GENERIC_ATOMIC64 if !64BIT || !RISCV_ISA_A
23 select ARCH_WANT_OPTIONAL_GPIOLIB
24 select HAVE_MEMBLOCK
25 select HAVE_DMA_API_DEBUG
26 select HAVE_DMA_CONTIGUOUS
27 select HAVE_GENERIC_DMA_COHERENT
28 select IRQ_DOMAIN
29 select NO_BOOTMEM
30 select RISCV_ISA_A if SMP
31 select SPARSE_IRQ
32 select SYSCTL_EXCEPTION_TRACE
33 select HAVE_ARCH_TRACEHOOK
34 select MODULES_USE_ELF_RELA if MODULES
35 select THREAD_INFO_IN_TASK
36 select RISCV_IRQ_INTC
37 select RISCV_TIMER
38
39config MMU
40 def_bool y
41
42# even on 32-bit, physical (and DMA) addresses are > 32-bits
43config ARCH_PHYS_ADDR_T_64BIT
44 def_bool y
45
46config ARCH_DMA_ADDR_T_64BIT
47 def_bool y
48
49config PAGE_OFFSET
50 hex
51 default 0xC0000000 if 32BIT && MAXPHYSMEM_2GB
52 default 0xffffffff80000000 if 64BIT && MAXPHYSMEM_2GB
53 default 0xffffffe000000000 if 64BIT && MAXPHYSMEM_128GB
54
55config STACKTRACE_SUPPORT
56 def_bool y
57
58config RWSEM_GENERIC_SPINLOCK
59 def_bool y
60
61config GENERIC_BUG
62 def_bool y
63 depends on BUG
64 select GENERIC_BUG_RELATIVE_POINTERS if 64BIT
65
66config GENERIC_BUG_RELATIVE_POINTERS
67 bool
68
69config GENERIC_CALIBRATE_DELAY
70 def_bool y
71
72config GENERIC_CSUM
73 def_bool y
74
75config GENERIC_HWEIGHT
76 def_bool y
77
78config PGTABLE_LEVELS
79 int
80 default 3 if 64BIT
81 default 2
82
83config HAVE_KPROBES
84 def_bool n
85
86config DMA_NOOP_OPS
87 def_bool y
88
89menu "Platform type"
90
91choice
92 prompt "Base ISA"
93 default ARCH_RV64I
94 help
95 This selects the base ISA that this kernel will traget and must match
96 the target platform.
97
98config ARCH_RV32I
99 bool "RV32I"
100 select CPU_SUPPORTS_32BIT_KERNEL
101 select 32BIT
102 select GENERIC_ASHLDI3
103 select GENERIC_ASHRDI3
104 select GENERIC_LSHRDI3
105
106config ARCH_RV64I
107 bool "RV64I"
108 select CPU_SUPPORTS_64BIT_KERNEL
109 select 64BIT
110
111endchoice
112
113# We must be able to map all physical memory into the kernel, but the compiler
114# is still a bit more efficient when generating code if it's setup in a manner
115# such that it can only map 2GiB of memory.
116choice
117 prompt "Kernel Code Model"
118 default CMODEL_MEDLOW if 32BIT
119 default CMODEL_MEDANY if 64BIT
120
121 config CMODEL_MEDLOW
122 bool "medium low code model"
123 config CMODEL_MEDANY
124 bool "medium any code model"
125endchoice
126
127choice
128 prompt "Maximum Physical Memory"
129 default MAXPHYSMEM_2GB if 32BIT
130 default MAXPHYSMEM_2GB if 64BIT && CMODEL_MEDLOW
131 default MAXPHYSMEM_128GB if 64BIT && CMODEL_MEDANY
132
133 config MAXPHYSMEM_2GB
134 bool "2GiB"
135 config MAXPHYSMEM_128GB
136 depends on 64BIT && CMODEL_MEDANY
137 bool "128GiB"
138endchoice
139
140
141config SMP
142 bool "Symmetric Multi-Processing"
143 help
144 This enables support for systems with more than one CPU. If
145 you say N here, the kernel will run on single and
146 multiprocessor machines, but will use only one CPU of a
147 multiprocessor machine. If you say Y here, the kernel will run
148 on many, but not all, single processor machines. On a single
149 processor machine, the kernel will run faster if you say N
150 here.
151
152 If you don't know what to do here, say N.
153
154config NR_CPUS
155 int "Maximum number of CPUs (2-32)"
156 range 2 32
157 depends on SMP
158 default "8"
159
160config CPU_SUPPORTS_32BIT_KERNEL
161 bool
162config CPU_SUPPORTS_64BIT_KERNEL
163 bool
164
165choice
166 prompt "CPU Tuning"
167 default TUNE_GENERIC
168
169config TUNE_GENERIC
170 bool "generic"
171
172endchoice
173
174config RISCV_ISA_C
175 bool "Emit compressed instructions when building Linux"
176 default y
177 help
178 Adds "C" to the ISA subsets that the toolchain is allowed to emit
179 when building Linux, which results in compressed instructions in the
180 Linux binary.
181
182 If you don't know what to do here, say Y.
183
184config RISCV_ISA_A
185 def_bool y
186
187endmenu
188
189menu "Kernel type"
190
191choice
192 prompt "Kernel code model"
193 default 64BIT
194
195config 32BIT
196 bool "32-bit kernel"
197 depends on CPU_SUPPORTS_32BIT_KERNEL
198 help
199 Select this option to build a 32-bit kernel.
200
201config 64BIT
202 bool "64-bit kernel"
203 depends on CPU_SUPPORTS_64BIT_KERNEL
204 help
205 Select this option to build a 64-bit kernel.
206
207endchoice
208
209source "mm/Kconfig"
210
211source "kernel/Kconfig.preempt"
212
213source "kernel/Kconfig.hz"
214
215endmenu
216
217menu "Bus support"
218
219config PCI
220 bool "PCI support"
221 select PCI_MSI
222 help
223 This feature enables support for PCI bus system. If you say Y
224 here, the kernel will include drivers and infrastructure code
225 to support PCI bus devices.
226
227 If you don't know what to do here, say Y.
228
229config PCI_DOMAINS
230 def_bool PCI
231
232config PCI_DOMAINS_GENERIC
233 def_bool PCI
234
235source "drivers/pci/Kconfig"
236
237endmenu
238
239source "init/Kconfig"
240
241source "kernel/Kconfig.freezer"
242
243menu "Executable file formats"
244
245source "fs/Kconfig.binfmt"
246
247endmenu
248
249menu "Power management options"
250
251source kernel/power/Kconfig
252
253endmenu
254
255source "net/Kconfig"
256
257source "drivers/Kconfig"
258
259source "fs/Kconfig"
260
261menu "Kernel hacking"
262
263config CMDLINE_BOOL
264 bool "Built-in kernel command line"
265 help
266 For most platforms, it is firmware or second stage bootloader
267 that by default specifies the kernel command line options.
268 However, it might be necessary or advantageous to either override
269 the default kernel command line or add a few extra options to it.
270 For such cases, this option allows hardcoding command line options
271 directly into the kernel.
272
273 For that, choose 'Y' here and fill in the extra boot parameters
274 in CONFIG_CMDLINE.
275
276 The built-in options will be concatenated to the default command
277 line if CMDLINE_OVERRIDE is set to 'N'. Otherwise, the default
278 command line will be ignored and replaced by the built-in string.
279
280config CMDLINE
281 string "Built-in kernel command string"
282 depends on CMDLINE_BOOL
283 default ""
284 help
285 Supply command-line options at build time by entering them here.
286
287config CMDLINE_OVERRIDE
288 bool "Built-in command line overrides bootloader arguments"
289 depends on CMDLINE_BOOL
290 help
291 Set this option to 'Y' to have the kernel ignore the bootloader
292 or firmware command line. Instead, the built-in command line
293 will be used exclusively.
294
295 If you don't know what to do here, say N.
296
297config EARLY_PRINTK
298 def_bool y
299
300source "lib/Kconfig.debug"
301
302config CMDLINE_BOOL
303 bool
304endmenu
305
306source "security/Kconfig"
307
308source "crypto/Kconfig"
309
310source "lib/Kconfig"