2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
14 # even on 32-bit, physical (and DMA) addresses are > 32-bits
15 select PHYS_ADDR_T_64BIT
17 select OF_EARLY_FLATTREE
19 select ARCH_WANT_FRAME_POINTERS
20 select CLONE_BACKWARDS
23 select GENERIC_CLOCKEVENTS
24 select GENERIC_CPU_DEVICES
25 select GENERIC_IRQ_SHOW
26 select GENERIC_PCI_IOMAP
27 select GENERIC_STRNCPY_FROM_USER
28 select GENERIC_STRNLEN_USER
29 select GENERIC_SMP_IDLE_THREAD
30 select GENERIC_ATOMIC64 if !64BIT || !RISCV_ISA_A
32 select HAVE_MEMBLOCK_NODE_MAP
33 select HAVE_DMA_CONTIGUOUS
34 select HAVE_GENERIC_DMA_COHERENT
37 select RISCV_ISA_A if SMP
39 select SYSCTL_EXCEPTION_TRACE
40 select HAVE_ARCH_TRACEHOOK
41 select MODULES_USE_ELF_RELA if MODULES
42 select THREAD_INFO_IN_TASK
44 select GENERIC_IRQ_MULTI_HANDLER
45 select ARCH_HAS_PTE_SPECIAL
56 default 0xC0000000 if 32BIT && MAXPHYSMEM_2GB
57 default 0xffffffff80000000 if 64BIT && MAXPHYSMEM_2GB
58 default 0xffffffe000000000 if 64BIT && MAXPHYSMEM_128GB
60 config STACKTRACE_SUPPORT
63 config TRACE_IRQFLAGS_SUPPORT
66 config RWSEM_GENERIC_SPINLOCK
72 select GENERIC_BUG_RELATIVE_POINTERS if 64BIT
74 config GENERIC_BUG_RELATIVE_POINTERS
77 config GENERIC_CALIBRATE_DELAY
83 config GENERIC_HWEIGHT
100 This selects the base ISA that this kernel will traget and must match
106 select GENERIC_LIB_ASHLDI3
107 select GENERIC_LIB_ASHRDI3
108 select GENERIC_LIB_LSHRDI3
113 select HAVE_FUNCTION_TRACER
114 select HAVE_FUNCTION_GRAPH_TRACER
115 select HAVE_FTRACE_MCOUNT_RECORD
116 select HAVE_DYNAMIC_FTRACE
117 select HAVE_DYNAMIC_FTRACE_WITH_REGS
122 # We must be able to map all physical memory into the kernel, but the compiler
123 # is still a bit more efficient when generating code if it's setup in a manner
124 # such that it can only map 2GiB of memory.
126 prompt "Kernel Code Model"
127 default CMODEL_MEDLOW if 32BIT
128 default CMODEL_MEDANY if 64BIT
131 bool "medium low code model"
133 bool "medium any code model"
136 config MODULE_SECTIONS
138 select HAVE_MOD_ARCH_SPECIFIC
141 prompt "Maximum Physical Memory"
142 default MAXPHYSMEM_2GB if 32BIT
143 default MAXPHYSMEM_2GB if 64BIT && CMODEL_MEDLOW
144 default MAXPHYSMEM_128GB if 64BIT && CMODEL_MEDANY
146 config MAXPHYSMEM_2GB
148 config MAXPHYSMEM_128GB
149 depends on 64BIT && CMODEL_MEDANY
150 select MODULE_SECTIONS if MODULES
156 bool "Symmetric Multi-Processing"
158 This enables support for systems with more than one CPU. If
159 you say N here, the kernel will run on single and
160 multiprocessor machines, but will use only one CPU of a
161 multiprocessor machine. If you say Y here, the kernel will run
162 on many, but not all, single processor machines. On a single
163 processor machine, the kernel will run faster if you say N
166 If you don't know what to do here, say N.
169 int "Maximum number of CPUs (2-32)"
184 bool "Emit compressed instructions when building Linux"
187 Adds "C" to the ISA subsets that the toolchain is allowed to emit
188 when building Linux, which results in compressed instructions in the
191 If you don't know what to do here, say Y.
202 source "kernel/Kconfig.preempt"
204 source "kernel/Kconfig.hz"
214 This feature enables support for PCI bus system. If you say Y
215 here, the kernel will include drivers and infrastructure code
216 to support PCI bus devices.
218 If you don't know what to do here, say Y.
223 config PCI_DOMAINS_GENERIC
226 source "drivers/pci/Kconfig"
230 source "init/Kconfig"
232 source "kernel/Kconfig.freezer"
234 menu "Executable file formats"
236 source "fs/Kconfig.binfmt"
240 menu "Power management options"
242 source kernel/power/Kconfig
248 source "drivers/Kconfig"
252 menu "Kernel hacking"
255 bool "Built-in kernel command line"
257 For most platforms, it is firmware or second stage bootloader
258 that by default specifies the kernel command line options.
259 However, it might be necessary or advantageous to either override
260 the default kernel command line or add a few extra options to it.
261 For such cases, this option allows hardcoding command line options
262 directly into the kernel.
264 For that, choose 'Y' here and fill in the extra boot parameters
267 The built-in options will be concatenated to the default command
268 line if CMDLINE_FORCE is set to 'N'. Otherwise, the default
269 command line will be ignored and replaced by the built-in string.
272 string "Built-in kernel command string"
273 depends on CMDLINE_BOOL
276 Supply command-line options at build time by entering them here.
279 bool "Built-in command line overrides bootloader arguments"
280 depends on CMDLINE_BOOL
282 Set this option to 'Y' to have the kernel ignore the bootloader
283 or firmware command line. Instead, the built-in command line
284 will be used exclusively.
286 If you don't know what to do here, say N.
291 source "lib/Kconfig.debug"
297 source "security/Kconfig"
299 source "crypto/Kconfig"