]>
Commit | Line | Data |
---|---|---|
fbe934d6 PD |
1 | # |
2 | # For a description of the syntax of this configuration file, | |
3 | # see Documentation/kbuild/kconfig-language.txt. | |
4 | # | |
5 | ||
6 | config 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 | ||
39 | config MMU | |
40 | def_bool y | |
41 | ||
42 | # even on 32-bit, physical (and DMA) addresses are > 32-bits | |
43 | config ARCH_PHYS_ADDR_T_64BIT | |
44 | def_bool y | |
45 | ||
46 | config ARCH_DMA_ADDR_T_64BIT | |
47 | def_bool y | |
48 | ||
49 | config 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 | ||
55 | config STACKTRACE_SUPPORT | |
56 | def_bool y | |
57 | ||
58 | config RWSEM_GENERIC_SPINLOCK | |
59 | def_bool y | |
60 | ||
61 | config GENERIC_BUG | |
62 | def_bool y | |
63 | depends on BUG | |
64 | select GENERIC_BUG_RELATIVE_POINTERS if 64BIT | |
65 | ||
66 | config GENERIC_BUG_RELATIVE_POINTERS | |
67 | bool | |
68 | ||
69 | config GENERIC_CALIBRATE_DELAY | |
70 | def_bool y | |
71 | ||
72 | config GENERIC_CSUM | |
73 | def_bool y | |
74 | ||
75 | config GENERIC_HWEIGHT | |
76 | def_bool y | |
77 | ||
78 | config PGTABLE_LEVELS | |
79 | int | |
80 | default 3 if 64BIT | |
81 | default 2 | |
82 | ||
83 | config HAVE_KPROBES | |
84 | def_bool n | |
85 | ||
86 | config DMA_NOOP_OPS | |
87 | def_bool y | |
88 | ||
89 | menu "Platform type" | |
90 | ||
91 | choice | |
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 | ||
98 | config 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 | ||
106 | config ARCH_RV64I | |
107 | bool "RV64I" | |
108 | select CPU_SUPPORTS_64BIT_KERNEL | |
109 | select 64BIT | |
110 | ||
111 | endchoice | |
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. | |
116 | choice | |
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" | |
125 | endchoice | |
126 | ||
127 | choice | |
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" | |
138 | endchoice | |
139 | ||
140 | ||
141 | config 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 | ||
154 | config NR_CPUS | |
155 | int "Maximum number of CPUs (2-32)" | |
156 | range 2 32 | |
157 | depends on SMP | |
158 | default "8" | |
159 | ||
160 | config CPU_SUPPORTS_32BIT_KERNEL | |
161 | bool | |
162 | config CPU_SUPPORTS_64BIT_KERNEL | |
163 | bool | |
164 | ||
165 | choice | |
166 | prompt "CPU Tuning" | |
167 | default TUNE_GENERIC | |
168 | ||
169 | config TUNE_GENERIC | |
170 | bool "generic" | |
171 | ||
172 | endchoice | |
173 | ||
174 | config 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 | ||
184 | config RISCV_ISA_A | |
185 | def_bool y | |
186 | ||
187 | endmenu | |
188 | ||
189 | menu "Kernel type" | |
190 | ||
191 | choice | |
192 | prompt "Kernel code model" | |
193 | default 64BIT | |
194 | ||
195 | config 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 | ||
201 | config 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 | ||
207 | endchoice | |
208 | ||
209 | source "mm/Kconfig" | |
210 | ||
211 | source "kernel/Kconfig.preempt" | |
212 | ||
213 | source "kernel/Kconfig.hz" | |
214 | ||
215 | endmenu | |
216 | ||
217 | menu "Bus support" | |
218 | ||
219 | config 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 | ||
229 | config PCI_DOMAINS | |
230 | def_bool PCI | |
231 | ||
232 | config PCI_DOMAINS_GENERIC | |
233 | def_bool PCI | |
234 | ||
235 | source "drivers/pci/Kconfig" | |
236 | ||
237 | endmenu | |
238 | ||
239 | source "init/Kconfig" | |
240 | ||
241 | source "kernel/Kconfig.freezer" | |
242 | ||
243 | menu "Executable file formats" | |
244 | ||
245 | source "fs/Kconfig.binfmt" | |
246 | ||
247 | endmenu | |
248 | ||
249 | menu "Power management options" | |
250 | ||
251 | source kernel/power/Kconfig | |
252 | ||
253 | endmenu | |
254 | ||
255 | source "net/Kconfig" | |
256 | ||
257 | source "drivers/Kconfig" | |
258 | ||
259 | source "fs/Kconfig" | |
260 | ||
261 | menu "Kernel hacking" | |
262 | ||
263 | config 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 | ||
280 | config 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 | ||
287 | config 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 | ||
297 | config EARLY_PRINTK | |
298 | def_bool y | |
299 | ||
300 | source "lib/Kconfig.debug" | |
301 | ||
302 | config CMDLINE_BOOL | |
303 | bool | |
304 | endmenu | |
305 | ||
306 | source "security/Kconfig" | |
307 | ||
308 | source "crypto/Kconfig" | |
309 | ||
310 | source "lib/Kconfig" |