xref: /linux/arch/loongarch/Kconfig (revision fa96b57c149061f71a70bd6582d995f6424fbbf4)
1*fa96b57cSHuacai Chen# SPDX-License-Identifier: GPL-2.0
2*fa96b57cSHuacai Chenconfig LOONGARCH
3*fa96b57cSHuacai Chen	bool
4*fa96b57cSHuacai Chen	default y
5*fa96b57cSHuacai Chen	select ACPI_SYSTEM_POWER_STATES_SUPPORT	if ACPI
6*fa96b57cSHuacai Chen	select ARCH_BINFMT_ELF_STATE
7*fa96b57cSHuacai Chen	select ARCH_ENABLE_MEMORY_HOTPLUG
8*fa96b57cSHuacai Chen	select ARCH_ENABLE_MEMORY_HOTREMOVE
9*fa96b57cSHuacai Chen	select ARCH_HAS_ACPI_TABLE_UPGRADE	if ACPI
10*fa96b57cSHuacai Chen	select ARCH_HAS_PTE_SPECIAL
11*fa96b57cSHuacai Chen	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
12*fa96b57cSHuacai Chen	select ARCH_INLINE_READ_LOCK if !PREEMPTION
13*fa96b57cSHuacai Chen	select ARCH_INLINE_READ_LOCK_BH if !PREEMPTION
14*fa96b57cSHuacai Chen	select ARCH_INLINE_READ_LOCK_IRQ if !PREEMPTION
15*fa96b57cSHuacai Chen	select ARCH_INLINE_READ_LOCK_IRQSAVE if !PREEMPTION
16*fa96b57cSHuacai Chen	select ARCH_INLINE_READ_UNLOCK if !PREEMPTION
17*fa96b57cSHuacai Chen	select ARCH_INLINE_READ_UNLOCK_BH if !PREEMPTION
18*fa96b57cSHuacai Chen	select ARCH_INLINE_READ_UNLOCK_IRQ if !PREEMPTION
19*fa96b57cSHuacai Chen	select ARCH_INLINE_READ_UNLOCK_IRQRESTORE if !PREEMPTION
20*fa96b57cSHuacai Chen	select ARCH_INLINE_WRITE_LOCK if !PREEMPTION
21*fa96b57cSHuacai Chen	select ARCH_INLINE_WRITE_LOCK_BH if !PREEMPTION
22*fa96b57cSHuacai Chen	select ARCH_INLINE_WRITE_LOCK_IRQ if !PREEMPTION
23*fa96b57cSHuacai Chen	select ARCH_INLINE_WRITE_LOCK_IRQSAVE if !PREEMPTION
24*fa96b57cSHuacai Chen	select ARCH_INLINE_WRITE_UNLOCK if !PREEMPTION
25*fa96b57cSHuacai Chen	select ARCH_INLINE_WRITE_UNLOCK_BH if !PREEMPTION
26*fa96b57cSHuacai Chen	select ARCH_INLINE_WRITE_UNLOCK_IRQ if !PREEMPTION
27*fa96b57cSHuacai Chen	select ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE if !PREEMPTION
28*fa96b57cSHuacai Chen	select ARCH_INLINE_SPIN_TRYLOCK if !PREEMPTION
29*fa96b57cSHuacai Chen	select ARCH_INLINE_SPIN_TRYLOCK_BH if !PREEMPTION
30*fa96b57cSHuacai Chen	select ARCH_INLINE_SPIN_LOCK if !PREEMPTION
31*fa96b57cSHuacai Chen	select ARCH_INLINE_SPIN_LOCK_BH if !PREEMPTION
32*fa96b57cSHuacai Chen	select ARCH_INLINE_SPIN_LOCK_IRQ if !PREEMPTION
33*fa96b57cSHuacai Chen	select ARCH_INLINE_SPIN_LOCK_IRQSAVE if !PREEMPTION
34*fa96b57cSHuacai Chen	select ARCH_INLINE_SPIN_UNLOCK if !PREEMPTION
35*fa96b57cSHuacai Chen	select ARCH_INLINE_SPIN_UNLOCK_BH if !PREEMPTION
36*fa96b57cSHuacai Chen	select ARCH_INLINE_SPIN_UNLOCK_IRQ if !PREEMPTION
37*fa96b57cSHuacai Chen	select ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE if !PREEMPTION
38*fa96b57cSHuacai Chen	select ARCH_MIGHT_HAVE_PC_PARPORT
39*fa96b57cSHuacai Chen	select ARCH_MIGHT_HAVE_PC_SERIO
40*fa96b57cSHuacai Chen	select ARCH_SPARSEMEM_ENABLE
41*fa96b57cSHuacai Chen	select ARCH_SUPPORTS_ACPI
42*fa96b57cSHuacai Chen	select ARCH_SUPPORTS_ATOMIC_RMW
43*fa96b57cSHuacai Chen	select ARCH_SUPPORTS_HUGETLBFS
44*fa96b57cSHuacai Chen	select ARCH_USE_BUILTIN_BSWAP
45*fa96b57cSHuacai Chen	select ARCH_USE_CMPXCHG_LOCKREF
46*fa96b57cSHuacai Chen	select ARCH_USE_QUEUED_RWLOCKS
47*fa96b57cSHuacai Chen	select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT
48*fa96b57cSHuacai Chen	select ARCH_WANTS_NO_INSTR
49*fa96b57cSHuacai Chen	select BUILDTIME_TABLE_SORT
50*fa96b57cSHuacai Chen	select COMMON_CLK
51*fa96b57cSHuacai Chen	select GENERIC_CLOCKEVENTS
52*fa96b57cSHuacai Chen	select GENERIC_CMOS_UPDATE
53*fa96b57cSHuacai Chen	select GENERIC_CPU_AUTOPROBE
54*fa96b57cSHuacai Chen	select GENERIC_ENTRY
55*fa96b57cSHuacai Chen	select GENERIC_FIND_FIRST_BIT
56*fa96b57cSHuacai Chen	select GENERIC_GETTIMEOFDAY
57*fa96b57cSHuacai Chen	select GENERIC_IRQ_MULTI_HANDLER
58*fa96b57cSHuacai Chen	select GENERIC_IRQ_PROBE
59*fa96b57cSHuacai Chen	select GENERIC_IRQ_SHOW
60*fa96b57cSHuacai Chen	select GENERIC_LIB_ASHLDI3
61*fa96b57cSHuacai Chen	select GENERIC_LIB_ASHRDI3
62*fa96b57cSHuacai Chen	select GENERIC_LIB_CMPDI2
63*fa96b57cSHuacai Chen	select GENERIC_LIB_LSHRDI3
64*fa96b57cSHuacai Chen	select GENERIC_LIB_UCMPDI2
65*fa96b57cSHuacai Chen	select GENERIC_PCI_IOMAP
66*fa96b57cSHuacai Chen	select GENERIC_SCHED_CLOCK
67*fa96b57cSHuacai Chen	select GENERIC_TIME_VSYSCALL
68*fa96b57cSHuacai Chen	select GPIOLIB
69*fa96b57cSHuacai Chen	select HAVE_ARCH_AUDITSYSCALL
70*fa96b57cSHuacai Chen	select HAVE_ARCH_COMPILER_H
71*fa96b57cSHuacai Chen	select HAVE_ARCH_MMAP_RND_BITS if MMU
72*fa96b57cSHuacai Chen	select HAVE_ARCH_SECCOMP_FILTER
73*fa96b57cSHuacai Chen	select HAVE_ARCH_TRACEHOOK
74*fa96b57cSHuacai Chen	select HAVE_ARCH_TRANSPARENT_HUGEPAGE
75*fa96b57cSHuacai Chen	select HAVE_ASM_MODVERSIONS
76*fa96b57cSHuacai Chen	select HAVE_CONTEXT_TRACKING
77*fa96b57cSHuacai Chen	select HAVE_COPY_THREAD_TLS
78*fa96b57cSHuacai Chen	select HAVE_DEBUG_STACKOVERFLOW
79*fa96b57cSHuacai Chen	select HAVE_DMA_CONTIGUOUS
80*fa96b57cSHuacai Chen	select HAVE_EXIT_THREAD
81*fa96b57cSHuacai Chen	select HAVE_FAST_GUP
82*fa96b57cSHuacai Chen	select HAVE_GENERIC_VDSO
83*fa96b57cSHuacai Chen	select HAVE_IOREMAP_PROT
84*fa96b57cSHuacai Chen	select HAVE_IRQ_EXIT_ON_IRQ_STACK
85*fa96b57cSHuacai Chen	select HAVE_IRQ_TIME_ACCOUNTING
86*fa96b57cSHuacai Chen	select HAVE_MEMBLOCK
87*fa96b57cSHuacai Chen	select HAVE_MEMBLOCK_NODE_MAP
88*fa96b57cSHuacai Chen	select HAVE_MOD_ARCH_SPECIFIC
89*fa96b57cSHuacai Chen	select HAVE_NMI
90*fa96b57cSHuacai Chen	select HAVE_PERF_EVENTS
91*fa96b57cSHuacai Chen	select HAVE_REGS_AND_STACK_ACCESS_API
92*fa96b57cSHuacai Chen	select HAVE_RSEQ
93*fa96b57cSHuacai Chen	select HAVE_SYSCALL_TRACEPOINTS
94*fa96b57cSHuacai Chen	select HAVE_TIF_NOHZ
95*fa96b57cSHuacai Chen	select HAVE_VIRT_CPU_ACCOUNTING_GEN
96*fa96b57cSHuacai Chen	select IRQ_FORCED_THREADING
97*fa96b57cSHuacai Chen	select IRQ_LOONGARCH_CPU
98*fa96b57cSHuacai Chen	select MODULES_USE_ELF_RELA if MODULES
99*fa96b57cSHuacai Chen	select OF
100*fa96b57cSHuacai Chen	select OF_EARLY_FLATTREE
101*fa96b57cSHuacai Chen	select PERF_USE_VMALLOC
102*fa96b57cSHuacai Chen	select RTC_LIB
103*fa96b57cSHuacai Chen	select SPARSE_IRQ
104*fa96b57cSHuacai Chen	select SYSCTL_EXCEPTION_TRACE
105*fa96b57cSHuacai Chen	select SWIOTLB
106*fa96b57cSHuacai Chen	select TRACE_IRQFLAGS_SUPPORT
107*fa96b57cSHuacai Chen	select ZONE_DMA32
108*fa96b57cSHuacai Chen
109*fa96b57cSHuacai Chenconfig 32BIT
110*fa96b57cSHuacai Chen	bool
111*fa96b57cSHuacai Chen
112*fa96b57cSHuacai Chenconfig 64BIT
113*fa96b57cSHuacai Chen	def_bool y
114*fa96b57cSHuacai Chen
115*fa96b57cSHuacai Chenconfig CPU_HAS_FPU
116*fa96b57cSHuacai Chen	bool
117*fa96b57cSHuacai Chen	default y
118*fa96b57cSHuacai Chen
119*fa96b57cSHuacai Chenconfig CPU_HAS_PREFETCH
120*fa96b57cSHuacai Chen	bool
121*fa96b57cSHuacai Chen	default y
122*fa96b57cSHuacai Chen
123*fa96b57cSHuacai Chenconfig GENERIC_CALIBRATE_DELAY
124*fa96b57cSHuacai Chen	def_bool y
125*fa96b57cSHuacai Chen
126*fa96b57cSHuacai Chenconfig GENERIC_CSUM
127*fa96b57cSHuacai Chen	def_bool y
128*fa96b57cSHuacai Chen
129*fa96b57cSHuacai Chenconfig GENERIC_HWEIGHT
130*fa96b57cSHuacai Chen	def_bool y
131*fa96b57cSHuacai Chen
132*fa96b57cSHuacai Chenconfig L1_CACHE_SHIFT
133*fa96b57cSHuacai Chen	int
134*fa96b57cSHuacai Chen	default "6"
135*fa96b57cSHuacai Chen
136*fa96b57cSHuacai Chenconfig LOCKDEP_SUPPORT
137*fa96b57cSHuacai Chen	bool
138*fa96b57cSHuacai Chen	default y
139*fa96b57cSHuacai Chen
140*fa96b57cSHuacai Chen# MACH_LOONGSON32 and MACH_LOONGSON64 are delibrately carried over from the
141*fa96b57cSHuacai Chen# MIPS Loongson code, to preserve Loongson-specific code paths in drivers that
142*fa96b57cSHuacai Chen# are shared between architectures, and specifically expecting the symbols.
143*fa96b57cSHuacai Chenconfig MACH_LOONGSON32
144*fa96b57cSHuacai Chen	def_bool 32BIT
145*fa96b57cSHuacai Chen
146*fa96b57cSHuacai Chenconfig MACH_LOONGSON64
147*fa96b57cSHuacai Chen	def_bool 64BIT
148*fa96b57cSHuacai Chen
149*fa96b57cSHuacai Chenconfig PAGE_SIZE_4KB
150*fa96b57cSHuacai Chen	bool
151*fa96b57cSHuacai Chen
152*fa96b57cSHuacai Chenconfig PAGE_SIZE_16KB
153*fa96b57cSHuacai Chen	bool
154*fa96b57cSHuacai Chen
155*fa96b57cSHuacai Chenconfig PAGE_SIZE_64KB
156*fa96b57cSHuacai Chen	bool
157*fa96b57cSHuacai Chen
158*fa96b57cSHuacai Chenconfig PGTABLE_2LEVEL
159*fa96b57cSHuacai Chen	bool
160*fa96b57cSHuacai Chen
161*fa96b57cSHuacai Chenconfig PGTABLE_3LEVEL
162*fa96b57cSHuacai Chen	bool
163*fa96b57cSHuacai Chen
164*fa96b57cSHuacai Chenconfig PGTABLE_4LEVEL
165*fa96b57cSHuacai Chen	bool
166*fa96b57cSHuacai Chen
167*fa96b57cSHuacai Chenconfig PGTABLE_LEVELS
168*fa96b57cSHuacai Chen	int
169*fa96b57cSHuacai Chen	default 2 if PGTABLE_2LEVEL
170*fa96b57cSHuacai Chen	default 3 if PGTABLE_3LEVEL
171*fa96b57cSHuacai Chen	default 4 if PGTABLE_4LEVEL
172*fa96b57cSHuacai Chen
173*fa96b57cSHuacai Chenconfig SCHED_OMIT_FRAME_POINTER
174*fa96b57cSHuacai Chen	bool
175*fa96b57cSHuacai Chen	default y
176*fa96b57cSHuacai Chen
177*fa96b57cSHuacai Chenmenu "Kernel type and options"
178*fa96b57cSHuacai Chen
179*fa96b57cSHuacai Chensource "kernel/Kconfig.hz"
180*fa96b57cSHuacai Chen
181*fa96b57cSHuacai Chenchoice
182*fa96b57cSHuacai Chen	prompt "Page Table Layout"
183*fa96b57cSHuacai Chen	default 16KB_2LEVEL if 32BIT
184*fa96b57cSHuacai Chen	default 16KB_3LEVEL if 64BIT
185*fa96b57cSHuacai Chen	help
186*fa96b57cSHuacai Chen	  Allows choosing the page table layout, which is a combination
187*fa96b57cSHuacai Chen	  of page size and page table levels. The size of virtual memory
188*fa96b57cSHuacai Chen	  address space are determined by the page table layout.
189*fa96b57cSHuacai Chen
190*fa96b57cSHuacai Chenconfig 4KB_3LEVEL
191*fa96b57cSHuacai Chen	bool "4KB with 3 levels"
192*fa96b57cSHuacai Chen	select PAGE_SIZE_4KB
193*fa96b57cSHuacai Chen	select PGTABLE_3LEVEL
194*fa96b57cSHuacai Chen	help
195*fa96b57cSHuacai Chen	  This option selects 4KB page size with 3 level page tables, which
196*fa96b57cSHuacai Chen	  support a maximum of 39 bits of application virtual memory.
197*fa96b57cSHuacai Chen
198*fa96b57cSHuacai Chenconfig 4KB_4LEVEL
199*fa96b57cSHuacai Chen	bool "4KB with 4 levels"
200*fa96b57cSHuacai Chen	select PAGE_SIZE_4KB
201*fa96b57cSHuacai Chen	select PGTABLE_4LEVEL
202*fa96b57cSHuacai Chen	help
203*fa96b57cSHuacai Chen	  This option selects 4KB page size with 4 level page tables, which
204*fa96b57cSHuacai Chen	  support a maximum of 48 bits of application virtual memory.
205*fa96b57cSHuacai Chen
206*fa96b57cSHuacai Chenconfig 16KB_2LEVEL
207*fa96b57cSHuacai Chen	bool "16KB with 2 levels"
208*fa96b57cSHuacai Chen	select PAGE_SIZE_16KB
209*fa96b57cSHuacai Chen	select PGTABLE_2LEVEL
210*fa96b57cSHuacai Chen	help
211*fa96b57cSHuacai Chen	  This option selects 16KB page size with 2 level page tables, which
212*fa96b57cSHuacai Chen	  support a maximum of 36 bits of application virtual memory.
213*fa96b57cSHuacai Chen
214*fa96b57cSHuacai Chenconfig 16KB_3LEVEL
215*fa96b57cSHuacai Chen	bool "16KB with 3 levels"
216*fa96b57cSHuacai Chen	select PAGE_SIZE_16KB
217*fa96b57cSHuacai Chen	select PGTABLE_3LEVEL
218*fa96b57cSHuacai Chen	help
219*fa96b57cSHuacai Chen	  This option selects 16KB page size with 3 level page tables, which
220*fa96b57cSHuacai Chen	  support a maximum of 47 bits of application virtual memory.
221*fa96b57cSHuacai Chen
222*fa96b57cSHuacai Chenconfig 64KB_2LEVEL
223*fa96b57cSHuacai Chen	bool "64KB with 2 levels"
224*fa96b57cSHuacai Chen	select PAGE_SIZE_64KB
225*fa96b57cSHuacai Chen	select PGTABLE_2LEVEL
226*fa96b57cSHuacai Chen	help
227*fa96b57cSHuacai Chen	  This option selects 64KB page size with 2 level page tables, which
228*fa96b57cSHuacai Chen	  support a maximum of 42 bits of application virtual memory.
229*fa96b57cSHuacai Chen
230*fa96b57cSHuacai Chenconfig 64KB_3LEVEL
231*fa96b57cSHuacai Chen	bool "64KB with 3 levels"
232*fa96b57cSHuacai Chen	select PAGE_SIZE_64KB
233*fa96b57cSHuacai Chen	select PGTABLE_3LEVEL
234*fa96b57cSHuacai Chen	help
235*fa96b57cSHuacai Chen	  This option selects 64KB page size with 3 level page tables, which
236*fa96b57cSHuacai Chen	  support a maximum of 55 bits of application virtual memory.
237*fa96b57cSHuacai Chen
238*fa96b57cSHuacai Chenendchoice
239*fa96b57cSHuacai Chen
240*fa96b57cSHuacai Chenconfig CMDLINE
241*fa96b57cSHuacai Chen	string "Built-in kernel command line"
242*fa96b57cSHuacai Chen	help
243*fa96b57cSHuacai Chen	  For most platforms, the arguments for the kernel's command line
244*fa96b57cSHuacai Chen	  are provided at run-time, during boot. However, there are cases
245*fa96b57cSHuacai Chen	  where either no arguments are being provided or the provided
246*fa96b57cSHuacai Chen	  arguments are insufficient or even invalid.
247*fa96b57cSHuacai Chen
248*fa96b57cSHuacai Chen	  When that occurs, it is possible to define a built-in command
249*fa96b57cSHuacai Chen	  line here and choose how the kernel should use it later on.
250*fa96b57cSHuacai Chen
251*fa96b57cSHuacai Chenchoice
252*fa96b57cSHuacai Chen	prompt "Kernel command line type"
253*fa96b57cSHuacai Chen	default CMDLINE_BOOTLOADER
254*fa96b57cSHuacai Chen	help
255*fa96b57cSHuacai Chen	  Choose how the kernel will handle the provided built-in command
256*fa96b57cSHuacai Chen	  line.
257*fa96b57cSHuacai Chen
258*fa96b57cSHuacai Chenconfig CMDLINE_BOOTLOADER
259*fa96b57cSHuacai Chen	bool "Use bootloader kernel arguments if available"
260*fa96b57cSHuacai Chen	help
261*fa96b57cSHuacai Chen	  Prefer the command-line passed by the boot loader if available.
262*fa96b57cSHuacai Chen	  Use the built-in command line as fallback in case we get nothing
263*fa96b57cSHuacai Chen	  during boot. This is the default behaviour.
264*fa96b57cSHuacai Chen
265*fa96b57cSHuacai Chenconfig CMDLINE_EXTEND
266*fa96b57cSHuacai Chen	bool "Use built-in to extend bootloader kernel arguments"
267*fa96b57cSHuacai Chen	help
268*fa96b57cSHuacai Chen	  The command-line arguments provided during boot will be
269*fa96b57cSHuacai Chen	  appended to the built-in command line. This is useful in
270*fa96b57cSHuacai Chen	  cases where the provided arguments are insufficient and
271*fa96b57cSHuacai Chen	  you don't want to or cannot modify them.
272*fa96b57cSHuacai Chen
273*fa96b57cSHuacai Chenconfig CMDLINE_FORCE
274*fa96b57cSHuacai Chen	bool "Always use the built-in kernel command string"
275*fa96b57cSHuacai Chen	help
276*fa96b57cSHuacai Chen	  Always use the built-in command line, even if we get one during
277*fa96b57cSHuacai Chen	  boot. This is useful in case you need to override the provided
278*fa96b57cSHuacai Chen	  command line on systems where you don't have or want control
279*fa96b57cSHuacai Chen	  over it.
280*fa96b57cSHuacai Chen
281*fa96b57cSHuacai Chenendchoice
282*fa96b57cSHuacai Chen
283*fa96b57cSHuacai Chenconfig DMI
284*fa96b57cSHuacai Chen	bool "Enable DMI scanning"
285*fa96b57cSHuacai Chen	select DMI_SCAN_MACHINE_NON_EFI_FALLBACK
286*fa96b57cSHuacai Chen	default y
287*fa96b57cSHuacai Chen	help
288*fa96b57cSHuacai Chen	  This enables SMBIOS/DMI feature for systems, and scanning of
289*fa96b57cSHuacai Chen	  DMI to identify machine quirks.
290*fa96b57cSHuacai Chen
291*fa96b57cSHuacai Chenconfig EFI
292*fa96b57cSHuacai Chen	bool "EFI runtime service support"
293*fa96b57cSHuacai Chen	select UCS2_STRING
294*fa96b57cSHuacai Chen	select EFI_PARAMS_FROM_FDT
295*fa96b57cSHuacai Chen	select EFI_RUNTIME_WRAPPERS
296*fa96b57cSHuacai Chen	help
297*fa96b57cSHuacai Chen	  This enables the kernel to use EFI runtime services that are
298*fa96b57cSHuacai Chen	  available (such as the EFI variable services).
299*fa96b57cSHuacai Chen
300*fa96b57cSHuacai Chenconfig FORCE_MAX_ZONEORDER
301*fa96b57cSHuacai Chen	int "Maximum zone order"
302*fa96b57cSHuacai Chen	range 14 64 if PAGE_SIZE_64KB
303*fa96b57cSHuacai Chen	default "14" if PAGE_SIZE_64KB
304*fa96b57cSHuacai Chen	range 12 64 if PAGE_SIZE_16KB
305*fa96b57cSHuacai Chen	default "12" if PAGE_SIZE_16KB
306*fa96b57cSHuacai Chen	range 11 64
307*fa96b57cSHuacai Chen	default "11"
308*fa96b57cSHuacai Chen	help
309*fa96b57cSHuacai Chen	  The kernel memory allocator divides physically contiguous memory
310*fa96b57cSHuacai Chen	  blocks into "zones", where each zone is a power of two number of
311*fa96b57cSHuacai Chen	  pages.  This option selects the largest power of two that the kernel
312*fa96b57cSHuacai Chen	  keeps in the memory allocator.  If you need to allocate very large
313*fa96b57cSHuacai Chen	  blocks of physically contiguous memory, then you may need to
314*fa96b57cSHuacai Chen	  increase this value.
315*fa96b57cSHuacai Chen
316*fa96b57cSHuacai Chen	  This config option is actually maximum order plus one. For example,
317*fa96b57cSHuacai Chen	  a value of 11 means that the largest free memory block is 2^10 pages.
318*fa96b57cSHuacai Chen
319*fa96b57cSHuacai Chen	  The page size is not necessarily 4KB.  Keep this in mind
320*fa96b57cSHuacai Chen	  when choosing a value for this option.
321*fa96b57cSHuacai Chen
322*fa96b57cSHuacai Chenconfig SECCOMP
323*fa96b57cSHuacai Chen	bool "Enable seccomp to safely compute untrusted bytecode"
324*fa96b57cSHuacai Chen	depends on PROC_FS
325*fa96b57cSHuacai Chen	default y
326*fa96b57cSHuacai Chen	help
327*fa96b57cSHuacai Chen	  This kernel feature is useful for number crunching applications
328*fa96b57cSHuacai Chen	  that may need to compute untrusted bytecode during their
329*fa96b57cSHuacai Chen	  execution. By using pipes or other transports made available to
330*fa96b57cSHuacai Chen	  the process as file descriptors supporting the read/write
331*fa96b57cSHuacai Chen	  syscalls, it's possible to isolate those applications in
332*fa96b57cSHuacai Chen	  their own address space using seccomp. Once seccomp is
333*fa96b57cSHuacai Chen	  enabled via /proc/<pid>/seccomp, it cannot be disabled
334*fa96b57cSHuacai Chen	  and the task is only allowed to execute a few safe syscalls
335*fa96b57cSHuacai Chen	  defined by each seccomp mode.
336*fa96b57cSHuacai Chen
337*fa96b57cSHuacai Chen	  If unsure, say Y. Only embedded should say N here.
338*fa96b57cSHuacai Chen
339*fa96b57cSHuacai Chenendmenu
340*fa96b57cSHuacai Chen
341*fa96b57cSHuacai Chenconfig ARCH_SELECT_MEMORY_MODEL
342*fa96b57cSHuacai Chen	def_bool y
343*fa96b57cSHuacai Chen
344*fa96b57cSHuacai Chenconfig ARCH_FLATMEM_ENABLE
345*fa96b57cSHuacai Chen	def_bool y
346*fa96b57cSHuacai Chen
347*fa96b57cSHuacai Chenconfig ARCH_SPARSEMEM_ENABLE
348*fa96b57cSHuacai Chen	def_bool y
349*fa96b57cSHuacai Chen	help
350*fa96b57cSHuacai Chen	  Say Y to support efficient handling of sparse physical memory,
351*fa96b57cSHuacai Chen	  for architectures which are either NUMA (Non-Uniform Memory Access)
352*fa96b57cSHuacai Chen	  or have huge holes in the physical address space for other reasons.
353*fa96b57cSHuacai Chen	  See <file:Documentation/vm/numa.rst> for more.
354*fa96b57cSHuacai Chen
355*fa96b57cSHuacai Chenconfig ARCH_ENABLE_THP_MIGRATION
356*fa96b57cSHuacai Chen	def_bool y
357*fa96b57cSHuacai Chen	depends on TRANSPARENT_HUGEPAGE
358*fa96b57cSHuacai Chen
359*fa96b57cSHuacai Chenconfig ARCH_MEMORY_PROBE
360*fa96b57cSHuacai Chen	def_bool y
361*fa96b57cSHuacai Chen	depends on MEMORY_HOTPLUG
362*fa96b57cSHuacai Chen
363*fa96b57cSHuacai Chenconfig MMU
364*fa96b57cSHuacai Chen	bool
365*fa96b57cSHuacai Chen	default y
366*fa96b57cSHuacai Chen
367*fa96b57cSHuacai Chenconfig ARCH_MMAP_RND_BITS_MIN
368*fa96b57cSHuacai Chen	default 12
369*fa96b57cSHuacai Chen
370*fa96b57cSHuacai Chenconfig ARCH_MMAP_RND_BITS_MAX
371*fa96b57cSHuacai Chen	default 18
372*fa96b57cSHuacai Chen
373*fa96b57cSHuacai Chenmenu "Power management options"
374*fa96b57cSHuacai Chen
375*fa96b57cSHuacai Chensource "drivers/acpi/Kconfig"
376*fa96b57cSHuacai Chen
377*fa96b57cSHuacai Chenendmenu
378*fa96b57cSHuacai Chen
379*fa96b57cSHuacai Chensource "drivers/firmware/Kconfig"
380