blob: a6aea40f9bad8d259f2c3d625100330de31b3dfd [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001# SPDX-License-Identifier: GPL-2.0-only
2#
3# Copyright (C) 2006-2014 OpenWrt.org
4
5config KERNEL_BUILD_USER
6 string "Custom Kernel Build User Name"
7 default "builder" if BUILDBOT
8 default ""
9 help
10 Sets the Kernel build user string, which for example will be returned
11 by 'uname -a' on running systems.
12 If not set, uses system user at build time.
13
14config KERNEL_BUILD_DOMAIN
15 string "Custom Kernel Build Domain Name"
16 default "buildhost" if BUILDBOT
17 default ""
18 help
19 Sets the Kernel build domain string, which for example will be
20 returned by 'uname -a' on running systems.
21 If not set, uses system hostname at build time.
22
23config KERNEL_PRINTK
24 bool "Enable support for printk"
25 default y
26
27config KERNEL_SWAP
28 bool "Support for paging of anonymous memory (swap)"
29 default y if !SMALL_FLASH
30
31config KERNEL_PROC_STRIPPED
32 bool "Strip non-essential /proc functionality to reduce code size"
33 default y if SMALL_FLASH
34
35config KERNEL_DEBUG_FS
36 bool "Compile the kernel with debug filesystem enabled"
37 default y
38 help
39 debugfs is a virtual file system that kernel developers use to put
40 debugging files into. Enable this option to be able to read and
41 write to these files. Many common debugging facilities, such as
42 ftrace, require the existence of debugfs.
43
44config KERNEL_MIPS_FP_SUPPORT
45 bool
46 default y if TARGET_pistachio
47
48config KERNEL_ARM_PMU
49 bool
50 default y if TARGET_armsr_armv8
51 depends on (arm || aarch64)
52
53config KERNEL_ARM_PMUV3
54 bool
55 default y if TARGET_armsr_armv8
56 depends on (arm_v7 || aarch64) && LINUX_6_6
57
58config KERNEL_RISCV_PMU
59 bool
60 select KERNEL_RISCV_PMU_SBI
61 depends on riscv64
62
63config KERNEL_RISCV_PMU_SBI
64 bool
65 depends on riscv64
66
67config KERNEL_X86_VSYSCALL_EMULATION
68 bool "Enable vsyscall emulation"
69 depends on x86_64
70 help
71 This enables emulation of the legacy vsyscall page. Disabling
72 it is roughly equivalent to booting with vsyscall=none, except
73 that it will also disable the helpful warning if a program
74 tries to use a vsyscall. With this option set to N, offending
75 programs will just segfault, citing addresses of the form
76 0xffffffffff600?00.
77
78 This option is required by many programs built before 2013, and
79 care should be used even with newer programs if set to N.
80
81 Disabling this option saves about 7K of kernel size and
82 possibly 4K of additional runtime pagetable memory.
83
84config KERNEL_PERF_EVENTS
85 bool "Compile the kernel with performance events and counters"
86 select KERNEL_ARM_PMU if (arm || aarch64)
87 select KERNEL_ARM_PMUV3 if (arm_v7 || aarch64) && LINUX_6_6
88 select KERNEL_RISCV_PMU if riscv64
89
90config KERNEL_PROFILING
91 bool "Compile the kernel with profiling enabled"
92 select KERNEL_PERF_EVENTS
93 help
94 Enable the extended profiling support mechanisms used by profilers such
95 as OProfile.
96
97config KERNEL_RPI_AXIPERF
98 bool "Compile the kernel with RaspberryPi AXI Performance monitors"
99 default y
100 depends on KERNEL_PERF_EVENTS && TARGET_bcm27xx
101
102config KERNEL_UBSAN
103 bool "Compile the kernel with undefined behaviour sanity checker"
104 help
105 This option enables undefined behaviour sanity checker
106 Compile-time instrumentation is used to detect various undefined
107 behaviours in runtime. Various types of checks may be enabled
108 via boot parameter ubsan_handle
109 (see: Documentation/dev-tools/ubsan.rst).
110
111config KERNEL_UBSAN_SANITIZE_ALL
112 bool "Enable instrumentation for the entire kernel"
113 depends on KERNEL_UBSAN
114 default y
115 help
116 This option activates instrumentation for the entire kernel.
117 If you don't enable this option, you have to explicitly specify
118 UBSAN_SANITIZE := y for the files/directories you want to check for UB.
119 Enabling this option will get kernel image size increased
120 significantly.
121
122config KERNEL_UBSAN_ALIGNMENT
123 bool "Enable checking of pointers alignment"
124 depends on KERNEL_UBSAN
125 help
126 This option enables detection of unaligned memory accesses.
127 Enabling this option on architectures that support unaligned
128 accesses may produce a lot of false positives.
129
130config KERNEL_UBSAN_BOUNDS
131 bool "Perform array index bounds checking"
132 depends on KERNEL_UBSAN
133 help
134 This option enables detection of directly indexed out of bounds array
135 accesses, where the array size is known at compile time. Note that
136 this does not protect array overflows via bad calls to the
137 {str,mem}*cpy() family of functions (that is addressed by
138 FORTIFY_SOURCE).
139
140config KERNEL_UBSAN_NULL
141 bool "Enable checking of null pointers"
142 depends on KERNEL_UBSAN
143 help
144 This option enables detection of memory accesses via a
145 null pointer.
146
147config KERNEL_UBSAN_TRAP
148 bool "On Sanitizer warnings, abort the running kernel code"
149 depends on KERNEL_UBSAN
150 help
151 Building kernels with Sanitizer features enabled tends to grow the
152 kernel size by around 5%, due to adding all the debugging text on
153 failure paths. To avoid this, Sanitizer instrumentation can just
154 issue a trap. This reduces the kernel size overhead but turns all
155 warnings (including potentially harmless conditions) into full
156 exceptions that abort the running kernel code (regardless of context,
157 locks held, etc), which may destabilize the system. For some system
158 builders this is an acceptable trade-off.
159
160config KERNEL_KASAN
161 bool "Compile the kernel with KASan: runtime memory debugger"
162 select KERNEL_SLUB_DEBUG
163 depends on (x86_64 || aarch64 || arm || powerpc || riscv64)
164 help
165 Enables kernel address sanitizer - runtime memory debugger,
166 designed to find out-of-bounds accesses and use-after-free bugs.
167 This is strictly a debugging feature and it requires a gcc version
168 of 4.9.2 or later. Detection of out of bounds accesses to stack or
169 global variables requires gcc 5.0 or later.
170 This feature consumes about 1/8 of available memory and brings about
171 ~x3 performance slowdown.
172 For better error detection enable CONFIG_STACKTRACE.
173 Currently CONFIG_KASAN doesn't work with CONFIG_DEBUG_SLAB
174 (the resulting kernel does not boot).
175
176config KERNEL_KASAN_VMALLOC
177 bool "Back mappings in vmalloc space with real shadow memory"
178 depends on KERNEL_KASAN
179 help
180 By default, the shadow region for vmalloc space is the read-only
181 zero page. This means that KASAN cannot detect errors involving
182 vmalloc space.
183
184 Enabling this option will hook in to vmap/vmalloc and back those
185 mappings with real shadow memory allocated on demand. This allows
186 for KASAN to detect more sorts of errors (and to support vmapped
187 stacks), but at the cost of higher memory usage.
188
189 This option depends on HAVE_ARCH_KASAN_VMALLOC, but we can't
190 depend on that in here, so it is possible that enabling this
191 will have no effect.
192
193if KERNEL_KASAN
194choice
195 prompt "KASAN mode"
196 depends on KERNEL_KASAN
197 default KERNEL_KASAN_GENERIC
198 help
199 KASAN has three modes:
200
201 1. Generic KASAN (supported by many architectures, enabled with
202 CONFIG_KASAN_GENERIC, similar to userspace ASan),
203 2. Software Tag-Based KASAN (arm64 only, based on software memory
204 tagging, enabled with CONFIG_KASAN_SW_TAGS, similar to userspace
205 HWASan), and
206 3. Hardware Tag-Based KASAN (arm64 only, based on hardware memory
207 tagging, enabled with CONFIG_KASAN_HW_TAGS).
208
209config KERNEL_KASAN_GENERIC
210 bool "Generic KASAN"
211 select KERNEL_SLUB_DEBUG
212 help
213 Enables Generic KASAN.
214
215 Consumes about 1/8th of available memory at kernel start and adds an
216 overhead of ~50% for dynamic allocations.
217 The performance slowdown is ~x3.
218
219config KERNEL_KASAN_SW_TAGS
220 bool "Software Tag-Based KASAN"
221 depends on aarch64
222 select KERNEL_SLUB_DEBUG
223 help
224 Enables Software Tag-Based KASAN.
225
226 Supported only on arm64 CPUs and relies on Top Byte Ignore.
227
228 Consumes about 1/16th of available memory at kernel start and
229 add an overhead of ~20% for dynamic allocations.
230
231 May potentially introduce problems related to pointer casting and
232 comparison, as it embeds a tag into the top byte of each pointer.
233
234config KERNEL_KASAN_HW_TAGS
235 bool "Hardware Tag-Based KASAN"
236 depends on aarch64
237 select KERNEL_SLUB_DEBUG
238 select KERNEL_ARM64_MTE
239 help
240 Enables Hardware Tag-Based KASAN.
241
242 Supported only on arm64 CPUs starting from ARMv8.5 and relies on
243 Memory Tagging Extension and Top Byte Ignore.
244
245 Consumes about 1/32nd of available memory.
246
247 May potentially introduce problems related to pointer casting and
248 comparison, as it embeds a tag into the top byte of each pointer.
249
250endchoice
251
252 config KERNEL_ARM64_MTE
253 def_bool n
254
255endif
256
257choice
258 prompt "Instrumentation type"
259 depends on KERNEL_KASAN
260 depends on !KERNEL_KASAN_HW_TAGS
261 default KERNEL_KASAN_OUTLINE
262
263config KERNEL_KASAN_OUTLINE
264 bool "Outline instrumentation"
265 help
266 Before every memory access compiler insert function call
267 __asan_load*/__asan_store*. These functions performs check
268 of shadow memory. This is slower than inline instrumentation,
269 however it doesn't bloat size of kernel's .text section so
270 much as inline does.
271
272config KERNEL_KASAN_INLINE
273 bool "Inline instrumentation"
274 help
275 Compiler directly inserts code checking shadow memory before
276 memory accesses. This is faster than outline (in some workloads
277 it gives about x2 boost over outline instrumentation), but
278 make kernel's .text size much bigger.
279 This requires a gcc version of 5.0 or later.
280
281endchoice
282
283config KERNEL_KCOV
284 bool "Compile the kernel with code coverage for fuzzing"
285 select KERNEL_DEBUG_FS
286 help
287 KCOV exposes kernel code coverage information in a form suitable
288 for coverage-guided fuzzing (randomized testing).
289
290 If RANDOMIZE_BASE is enabled, PC values will not be stable across
291 different machines and across reboots. If you need stable PC values,
292 disable RANDOMIZE_BASE.
293
294 For more details, see Documentation/kcov.txt.
295
296config KERNEL_KCOV_ENABLE_COMPARISONS
297 bool "Enable comparison operands collection by KCOV"
298 depends on KERNEL_KCOV
299 help
300 KCOV also exposes operands of every comparison in the instrumented
301 code along with operand sizes and PCs of the comparison instructions.
302 These operands can be used by fuzzing engines to improve the quality
303 of fuzzing coverage.
304
305config KERNEL_KCOV_INSTRUMENT_ALL
306 bool "Instrument all code by default"
307 depends on KERNEL_KCOV
308 default y if KERNEL_KCOV
309 help
310 If you are doing generic system call fuzzing (like e.g. syzkaller),
311 then you will want to instrument the whole kernel and you should
312 say y here. If you are doing more targeted fuzzing (like e.g.
313 filesystem fuzzing with AFL) then you will want to enable coverage
314 for more specific subsets of files, and should say n here.
315
316config KERNEL_TASKSTATS
317 bool "Compile the kernel with task resource/io statistics and accounting"
318 help
319 Enable the collection and publishing of task/io statistics and
320 accounting. Enable this option to enable i/o monitoring in system
321 monitors.
322
323if KERNEL_TASKSTATS
324
325 config KERNEL_TASK_DELAY_ACCT
326 def_bool y
327
328 config KERNEL_TASK_IO_ACCOUNTING
329 def_bool y
330
331 config KERNEL_TASK_XACCT
332 def_bool y
333
334endif
335
336config KERNEL_PSI
337 bool "Compile the kernel with pressure stall information tracking"
338 help
339 Collect metrics that indicate how overcommitted the CPU, memory,
340 and IO capacity are in the system.
341
342 If you say Y here, the kernel will create /proc/pressure/ with the
343 pressure statistics files cpu, memory, and io. These will indicate
344 the share of walltime in which some or all tasks in the system are
345 delayed due to contention of the respective resource.
346
347 In kernels with cgroup support, cgroups (cgroup2 only) will
348 have cpu.pressure, memory.pressure, and io.pressure files,
349 which aggregate pressure stalls for the grouped tasks only.
350
351 For more details see Documentation/accounting/psi.rst.
352
353 Say N if unsure.
354
355config KERNEL_KALLSYMS
356 bool "Compile the kernel with symbol table information"
357 default y if !SMALL_FLASH
358 help
359 This will give you more information in stack traces from kernel oopses.
360
361config KERNEL_FTRACE
362 bool "Compile the kernel with tracing support"
363 depends on !TARGET_uml
364
365config KERNEL_FTRACE_SYSCALLS
366 bool "Trace system calls"
367 depends on KERNEL_FTRACE
368
369config KERNEL_ENABLE_DEFAULT_TRACERS
370 bool "Trace process context switches and events"
371 depends on KERNEL_FTRACE
372
373config KERNEL_FUNCTION_TRACER
374 bool "Function tracer"
375 depends on KERNEL_FTRACE
376
377config KERNEL_FUNCTION_GRAPH_TRACER
378 bool "Function graph tracer"
379 depends on KERNEL_FUNCTION_TRACER
380
381config KERNEL_DYNAMIC_FTRACE
382 bool "Enable/disable function tracing dynamically"
383 depends on KERNEL_FUNCTION_TRACER
384
385config KERNEL_FUNCTION_PROFILER
386 bool "Function profiler"
387 depends on KERNEL_FUNCTION_TRACER
388
389config KERNEL_IRQSOFF_TRACER
390 bool "Interrupts-off Latency Tracer"
391 depends on KERNEL_FTRACE
392 help
393 This option measures the time spent in irqs-off critical
394 sections, with microsecond accuracy.
395
396 The default measurement method is a maximum search, which is
397 disabled by default and can be runtime (re-)started
398 via:
399
400 echo 0 > /sys/kernel/debug/tracing/tracing_max_latency
401
402 (Note that kernel size and overhead increase with this option
403 enabled. This option and the preempt-off timing option can be
404 used together or separately.)
405
406config KERNEL_PREEMPT_TRACER
407 bool "Preemption-off Latency Tracer"
408 depends on KERNEL_FTRACE
409 help
410 This option measures the time spent in preemption-off critical
411 sections, with microsecond accuracy.
412
413 The default measurement method is a maximum search, which is
414 disabled by default and can be runtime (re-)started
415 via:
416
417 echo 0 > /sys/kernel/debug/tracing/tracing_max_latency
418
419 (Note that kernel size and overhead increase with this option
420 enabled. This option and the irqs-off timing option can be
421 used together or separately.)
422
423config KERNEL_HIST_TRIGGERS
424 bool "Histogram triggers"
425 depends on KERNEL_FTRACE
426 help
427 Hist triggers allow one or more arbitrary trace event fields to be
428 aggregated into hash tables and dumped to stdout by reading a
429 debugfs/tracefs file. They're useful for gathering quick and dirty
430 (though precise) summaries of event activity as an initial guide for
431 further investigation using more advanced tools.
432
433 Inter-event tracing of quantities such as latencies is also
434 supported using hist triggers under this option.
435
436config KERNEL_DEBUG_KERNEL
437 bool
438
439config KERNEL_DEBUG_INFO
440 bool "Compile the kernel with debug information"
441 default y if !SMALL_FLASH
442 select KERNEL_DEBUG_KERNEL
443 help
444 This will compile your kernel and modules with debug information.
445
446config KERNEL_DEBUG_INFO_BTF
447 bool "Enable additional BTF type information"
448 depends on !HOST_OS_MACOS
449 depends on KERNEL_DEBUG_INFO && !KERNEL_DEBUG_INFO_REDUCED
450 select DWARVES
451 help
452 Generate BPF Type Format (BTF) information from DWARF debug info.
453 Turning this on expects presence of pahole tool, which will convert
454 DWARF type info into equivalent deduplicated BTF type info.
455
456 Required to run BPF CO-RE applications.
457
458config KERNEL_DEBUG_INFO_BTF_MODULES
459 def_bool y
460 depends on KERNEL_DEBUG_INFO_BTF
461
462config KERNEL_MODULE_ALLOW_BTF_MISMATCH
463 bool "Allow loading modules with non-matching BTF type info"
464 depends on KERNEL_DEBUG_INFO_BTF_MODULES
465 help
466 For modules whose split BTF does not match vmlinux, load without
467 BTF rather than refusing to load. The default behavior with
468 module BTF enabled is to reject modules with such mismatches;
469 this option will still load module BTF where possible but ignore
470 it when a mismatch is found.
471
472config KERNEL_DEBUG_INFO_REDUCED
473 bool "Reduce debugging information"
474 default n
475 depends on KERNEL_DEBUG_INFO
476 help
477 If you say Y here gcc is instructed to generate less debugging
478 information for structure types. This means that tools that
479 need full debugging information (like kgdb or systemtap) won't
480 be happy. But if you merely need debugging information to
481 resolve line numbers there is no loss. Advantage is that
482 build directory object sizes shrink dramatically over a full
483 DEBUG_INFO build and compile times are reduced too.
484 Only works with newer gcc versions.
485
486config KERNEL_FRAME_WARN
487 int
488 range 0 8192
489 default 1280 if KERNEL_KASAN && !ARCH_64BIT
490 default 1024 if !ARCH_64BIT
491 default 2048 if ARCH_64BIT
492 help
493 Tell the compiler to warn at build time for stack frames larger than this.
494 Setting this too low will cause a lot of warnings.
495 Setting it to 0 disables the warning.
496
497# KERNEL_DEBUG_LL symbols must have the default value set as otherwise
498# KConfig wont evaluate them unless KERNEL_EARLY_PRINTK is selected
499# which means that buildroot wont override the DEBUG_LL symbols in target
500# kernel configurations and lead to devices that dont have working console
501config KERNEL_DEBUG_LL_UART_NONE
502 bool
503 default n
504 depends on arm
505
506config KERNEL_DEBUG_LL
507 bool
508 default n
509 depends on arm
510 select KERNEL_DEBUG_LL_UART_NONE
511 help
512 ARM low level debugging.
513
514config KERNEL_DEBUG_VIRTUAL
515 bool "Compile the kernel with VM translations debugging"
516 select KERNEL_DEBUG_KERNEL
517 help
518 Enable checks sanity checks to catch invalid uses of
519 virt_to_phys()/phys_to_virt() against the non-linear address space.
520
521config KERNEL_DYNAMIC_DEBUG
522 bool "Compile the kernel with dynamic printk"
523 select KERNEL_DEBUG_FS
524 help
525 Compiles debug level messages into the kernel, which would not
526 otherwise be available at runtime. These messages can then be
527 enabled/disabled based on various levels of scope - per source file,
528 function, module, format string, and line number. This mechanism
529 implicitly compiles in all pr_debug() and dev_dbg() calls, which
530 enlarges the kernel text size by about 2%.
531
532config KERNEL_EARLY_PRINTK
533 bool "Compile the kernel with early printk"
534 default y if TARGET_bcm53xx
535 depends on arm
536 select KERNEL_DEBUG_KERNEL
537 select KERNEL_DEBUG_LL if arm
538 help
539 Compile the kernel with early printk support. This is only useful for
540 debugging purposes to send messages over the serial console in early boot.
541 Enable this to debug early boot problems.
542
543config KERNEL_KPROBES
544 bool "Compile the kernel with kprobes support"
545 select KERNEL_FTRACE
546 select KERNEL_PERF_EVENTS
547 help
548 Compiles the kernel with KPROBES support, which allows you to trap
549 at almost any kernel address and execute a callback function.
550 register_kprobe() establishes a probepoint and specifies the
551 callback. Kprobes is useful for kernel debugging, non-intrusive
552 instrumentation and testing.
553 If in doubt, say "N".
554
555config KERNEL_KPROBE_EVENTS
556 bool
557 default y if KERNEL_KPROBES
558
559config KERNEL_BPF_EVENTS
560 bool "Compile the kernel with BPF event support"
561 select KERNEL_KPROBES
562 help
563 Allows to attach BPF programs to kprobe, uprobe and tracepoint events.
564 This is required to use BPF maps of type BPF_MAP_TYPE_PERF_EVENT_ARRAY
565 for sending data from BPF programs to user-space for post-processing
566 or logging.
567
568config KERNEL_PROBE_EVENTS_BTF_ARGS
569 bool "Support BTF function arguments for probe events"
570 depends on KERNEL_DEBUG_INFO_BTF && KERNEL_KPROBE_EVENTS && LINUX_6_6
571
572config KERNEL_BPF_KPROBE_OVERRIDE
573 bool
574 depends on KERNEL_KPROBES
575 default n
576
577config KERNEL_AIO
578 bool "Compile the kernel with asynchronous IO support"
579 default y if !SMALL_FLASH
580
581config KERNEL_IO_URING
582 bool "Compile the kernel with io_uring support"
583 depends on !SMALL_FLASH
584 default y if (x86_64 || aarch64)
585
586config KERNEL_FHANDLE
587 bool "Compile the kernel with support for fhandle syscalls"
588 default y if !SMALL_FLASH
589
590config KERNEL_FANOTIFY
591 bool "Compile the kernel with modern file notification support"
592 default y if !SMALL_FLASH
593
594config KERNEL_BLK_DEV_BSG
595 bool "Compile the kernel with SCSI generic v4 support for any block device"
596
597config KERNEL_TRANSPARENT_HUGEPAGE
598 bool
599
600choice
601 prompt "Transparent Hugepage Support sysfs defaults"
602 depends on KERNEL_TRANSPARENT_HUGEPAGE
603 default KERNEL_TRANSPARENT_HUGEPAGE_ALWAYS
604
605 config KERNEL_TRANSPARENT_HUGEPAGE_ALWAYS
606 bool "always"
607
608 config KERNEL_TRANSPARENT_HUGEPAGE_MADVISE
609 bool "madvise"
610endchoice
611
612config KERNEL_HUGETLBFS
613 bool
614
615config KERNEL_HUGETLB_PAGE
616 bool "Compile the kernel with HugeTLB support"
617 select KERNEL_TRANSPARENT_HUGEPAGE
618 select KERNEL_HUGETLBFS
619
620config KERNEL_MAGIC_SYSRQ
621 bool "Compile the kernel with SysRq support"
622 default y
623
624config KERNEL_DEBUG_PINCTRL
625 bool "Compile the kernel with pinctrl debugging"
626 select KERNEL_DEBUG_KERNEL
627
628config KERNEL_DEBUG_GPIO
629 bool "Compile the kernel with gpio debugging"
630 select KERNEL_DEBUG_KERNEL
631
632config KERNEL_COREDUMP
633 bool
634
635config KERNEL_ELF_CORE
636 bool "Enable process core dump support"
637 select KERNEL_COREDUMP
638 default y if !SMALL_FLASH
639
640config KERNEL_PROVE_LOCKING
641 bool "Enable kernel lock checking"
642 select KERNEL_DEBUG_KERNEL
643
644config KERNEL_SOFTLOCKUP_DETECTOR
645 bool "Compile the kernel with detect Soft Lockups"
646 depends on KERNEL_DEBUG_KERNEL
647 help
648 Say Y here to enable the kernel to act as a watchdog to detect
649 soft lockups.
650
651 Softlockups are bugs that cause the kernel to loop in kernel
652 mode for more than 20 seconds, without giving other tasks a
653 chance to run. The current stack trace is displayed upon
654 detection and the system will stay locked up.
655
656config KERNEL_HARDLOCKUP_DETECTOR
657 bool "Compile the kernel with detect Hard Lockups"
658 depends on KERNEL_DEBUG_KERNEL
659 help
660 Say Y here to enable the kernel to act as a watchdog to detect
661 hard lockups.
662
663 Hardlockups are bugs that cause the CPU to loop in kernel mode
664 for more than 10 seconds, without letting other interrupts have a
665 chance to run. The current stack trace is displayed upon detection
666 and the system will stay locked up.
667
668config KERNEL_DETECT_HUNG_TASK
669 bool "Compile the kernel with detect Hung Tasks"
670 depends on KERNEL_DEBUG_KERNEL
671 default KERNEL_SOFTLOCKUP_DETECTOR
672 help
673 Say Y here to enable the kernel to detect "hung tasks",
674 which are bugs that cause the task to be stuck in
675 uninterruptible "D" state indefinitely.
676
677 When a hung task is detected, the kernel will print the
678 current stack trace (which you should report), but the
679 task will stay in uninterruptible state. If lockdep is
680 enabled then all held locks will also be reported. This
681 feature has negligible overhead.
682
683config KERNEL_WQ_WATCHDOG
684 bool "Compile the kernel with detect Workqueue Stalls"
685 depends on KERNEL_DEBUG_KERNEL
686 help
687 Say Y here to enable stall detection on workqueues. If a
688 worker pool doesn't make forward progress on a pending work
689 item for over a given amount of time, 30s by default, a
690 warning message is printed along with dump of workqueue
691 state. This can be configured through kernel parameter
692 "workqueue.watchdog_thresh" and its sysfs counterpart.
693
694config KERNEL_DEBUG_ATOMIC_SLEEP
695 bool "Compile the kernel with sleep inside atomic section checking"
696 depends on KERNEL_DEBUG_KERNEL
697 help
698 If you say Y here, various routines which may sleep will become very
699 noisy if they are called inside atomic sections: when a spinlock is
700 held, inside an rcu read side critical section, inside preempt disabled
701 sections, inside an interrupt, etc...
702
703config KERNEL_DEBUG_VM
704 bool "Compile the kernel with debug VM"
705 depends on KERNEL_DEBUG_KERNEL
706 help
707 Enable this to turn on extended checks in the virtual-memory system
708 that may impact performance.
709
710 If unsure, say N.
711
712config KERNEL_PRINTK_TIME
713 bool "Enable printk timestamps"
714 default y
715
716config KERNEL_SLUB_DEBUG
717 bool "Enable SLUB debugging support"
718 help
719 This enables various debugging features:
720 - Accepts "slub_debug" kernel parameter
721 - Provides caches debugging options (e.g. tracing, validating)
722 - Adds /sys/kernel/slab/ attrs for reading amounts of *objects*
723 - Enables /proc/slabinfo support
724 - Prints info when running out of memory
725
726 Enabling this can result in a significant increase of code size.
727
728config KERNEL_SLUB_DEBUG_ON
729 depends on KERNEL_SLUB_DEBUG
730 bool "Boot kernel with basic caches debugging enabled"
731 help
732 This enables by default sanity_checks, red_zone, poison and store_user
733 debugging options for all caches.
734
735config KERNEL_SLABINFO
736 select KERNEL_SLUB_DEBUG
737 select KERNEL_SLUB_DEBUG_ON
738 bool "Enable /proc slab debug info"
739
740config KERNEL_PROC_PAGE_MONITOR
741 bool "Enable /proc page monitoring"
742
743config KERNEL_RELAY
744 bool
745
746config KERNEL_KEXEC
747 bool "Enable kexec support"
748
749config KERNEL_PROC_VMCORE
750 bool
751
752config KERNEL_PROC_KCORE
753 bool
754
755config KERNEL_CRASH_DUMP
756 depends on i386 || x86_64 || arm || armeb
757 select KERNEL_KEXEC
758 select KERNEL_PROC_VMCORE
759 select KERNEL_PROC_KCORE
760 bool "Enable support for kexec crashdump"
761 default y
762
763config USE_RFKILL
764 bool "Enable rfkill support"
765 default RFKILL_SUPPORT
766
767config USE_SPARSE
768 bool "Enable sparse check during kernel build"
769
770config KERNEL_DEVTMPFS
771 bool "Compile the kernel with device tmpfs enabled"
772 help
773 devtmpfs is a simple, kernel-managed /dev filesystem. The kernel creates
774 devices nodes for all registered devices to simplify boot, but leaves more
775 complex tasks to userspace (e.g. udev).
776
777if KERNEL_DEVTMPFS
778
779 config KERNEL_DEVTMPFS_MOUNT
780 bool "Automatically mount devtmpfs after root filesystem is mounted"
781
782endif
783
784config KERNEL_KEYS
785 bool "Enable kernel access key retention support"
786 default !SMALL_FLASH
787
788config KERNEL_PERSISTENT_KEYRINGS
789 bool "Enable kernel persistent keyrings"
790 depends on KERNEL_KEYS
791
792config KERNEL_KEYS_REQUEST_CACHE
793 bool "Enable temporary caching of the last request_key() result"
794 depends on KERNEL_KEYS
795
796config KERNEL_BIG_KEYS
797 bool "Enable large payload keys on kernel keyrings"
798 depends on KERNEL_KEYS
799
800#
801# CGROUP support symbols
802#
803
804config KERNEL_CGROUPS
805 bool "Enable kernel cgroups"
806 default y if !SMALL_FLASH
807
808if KERNEL_CGROUPS
809
810 config KERNEL_CGROUP_DEBUG
811 bool "Example debug cgroup subsystem"
812 help
813 This option enables a simple cgroup subsystem that
814 exports useful debugging information about the cgroups
815 framework.
816
817 config KERNEL_FREEZER
818 bool
819
820 config KERNEL_CGROUP_FREEZER
821 bool "legacy Freezer cgroup subsystem"
822 select KERNEL_FREEZER
823 help
824 Provides a way to freeze and unfreeze all tasks in a
825 cgroup.
826 (legacy cgroup1-only controller, in cgroup2 freezer
827 is integrated in the Memory controller)
828
829 config KERNEL_CGROUP_DEVICE
830 bool "legacy Device controller for cgroups"
831 help
832 Provides a cgroup implementing whitelists for devices which
833 a process in the cgroup can mknod or open.
834 (legacy cgroup1-only controller)
835
836 config KERNEL_CGROUP_HUGETLB
837 bool "HugeTLB controller"
838 select KERNEL_HUGETLB_PAGE
839
840 config KERNEL_CGROUP_PIDS
841 bool "PIDs cgroup subsystem"
842 default y
843 help
844 Provides enforcement of process number limits in the scope of a
845 cgroup.
846
847 config KERNEL_CGROUP_RDMA
848 bool "RDMA controller for cgroups"
849 default y
850
851 config KERNEL_CGROUP_BPF
852 bool "Support for eBPF programs attached to cgroups"
853 default y
854
855 config KERNEL_CPUSETS
856 bool "Cpuset support"
857 default y
858 help
859 This option will let you create and manage CPUSETs which
860 allow dynamically partitioning a system into sets of CPUs and
861 Memory Nodes and assigning tasks to run only within those sets.
862 This is primarily useful on large SMP or NUMA systems.
863
864 config KERNEL_PROC_PID_CPUSET
865 bool "Include legacy /proc/<pid>/cpuset file"
866 depends on KERNEL_CPUSETS
867
868 config KERNEL_CGROUP_CPUACCT
869 bool "Simple CPU accounting cgroup subsystem"
870 default y
871 help
872 Provides a simple Resource Controller for monitoring the
873 total CPU consumed by the tasks in a cgroup.
874
875 config KERNEL_RESOURCE_COUNTERS
876 bool "Resource counters"
877 default y
878 help
879 This option enables controller independent resource accounting
880 infrastructure that works with cgroups.
881
882 config KERNEL_MM_OWNER
883 bool
884 default y if KERNEL_MEMCG
885
886 config KERNEL_MEMCG
887 bool "Memory Resource Controller for Control Groups"
888 default y
889 select KERNEL_FREEZER
890 depends on KERNEL_RESOURCE_COUNTERS
891 help
892 Provides a memory resource controller that manages both anonymous
893 memory and page cache. (See Documentation/cgroups/memory.txt)
894
895 Note that setting this option increases fixed memory overhead
896 associated with each page of memory in the system. By this,
897 20(40)bytes/PAGE_SIZE on 32(64)bit system will be occupied by memory
898 usage tracking struct at boot. Total amount of this is printed out
899 at boot.
900
901 Only enable when you're ok with these tradeoffs and really
902 sure you need the memory resource controller. Even when you enable
903 this, you can set "cgroup_disable=memory" at your boot option to
904 disable memory resource controller and you can avoid overheads
905 (but lose benefits of memory resource controller).
906
907 This config option also selects MM_OWNER config option, which
908 could in turn add some fork/exit overhead.
909
910 config KERNEL_MEMCG_SWAP
911 bool "Memory Resource Controller Swap Extension"
912 default y
913 depends on KERNEL_MEMCG
914 help
915 Add swap management feature to memory resource controller. When you
916 enable this, you can limit mem+swap usage per cgroup. In other words,
917 when you disable this, memory resource controller has no cares to
918 usage of swap...a process can exhaust all of the swap. This extension
919 is useful when you want to avoid exhaustion swap but this itself
920 adds more overheads and consumes memory for remembering information.
921 Especially if you use 32bit system or small memory system, please
922 be careful about enabling this. When memory resource controller
923 is disabled by boot option, this will be automatically disabled and
924 there will be no overhead from this. Even when you set this config=y,
925 if boot option "swapaccount=0" is set, swap will not be accounted.
926 Now, memory usage of swap_cgroup is 2 bytes per entry. If swap page
927 size is 4096bytes, 512k per 1Gbytes of swap.
928
929 config KERNEL_MEMCG_SWAP_ENABLED
930 bool "Memory Resource Controller Swap Extension enabled by default"
931 depends on KERNEL_MEMCG_SWAP
932 help
933 Memory Resource Controller Swap Extension comes with its price in
934 a bigger memory consumption. General purpose distribution kernels
935 which want to enable the feature but keep it disabled by default
936 and let the user enable it by swapaccount boot command line
937 parameter should have this option unselected.
938
939 Those who want to have the feature enabled by default should
940 select this option (if, for some reason, they need to disable it,
941 then swapaccount=0 does the trick).
942
943
944 config KERNEL_MEMCG_KMEM
945 bool "Memory Resource Controller Kernel Memory accounting (EXPERIMENTAL)"
946 default y
947 depends on KERNEL_MEMCG
948 help
949 The Kernel Memory extension for Memory Resource Controller can limit
950 the amount of memory used by kernel objects in the system. Those are
951 fundamentally different from the entities handled by the standard
952 Memory Controller, which are page-based, and can be swapped. Users of
953 the kmem extension can use it to guarantee that no group of processes
954 will ever exhaust kernel resources alone.
955
956 config KERNEL_CGROUP_PERF
957 bool "Enable perf_event per-cpu per-container group (cgroup) monitoring"
958 select KERNEL_PERF_EVENTS
959 help
960 This option extends the per-cpu mode to restrict monitoring to
961 threads which belong to the cgroup specified and run on the
962 designated cpu.
963
964 menuconfig KERNEL_CGROUP_SCHED
965 bool "Group CPU scheduler"
966 default y
967 help
968 This feature lets CPU scheduler recognize task groups and control CPU
969 bandwidth allocation to such task groups. It uses cgroups to group
970 tasks.
971
972 if KERNEL_CGROUP_SCHED
973
974 config KERNEL_FAIR_GROUP_SCHED
975 bool "Group scheduling for SCHED_OTHER"
976 default y
977
978 config KERNEL_CFS_BANDWIDTH
979 bool "CPU bandwidth provisioning for FAIR_GROUP_SCHED"
980 default y
981 depends on KERNEL_FAIR_GROUP_SCHED
982 help
983 This option allows users to define CPU bandwidth rates (limits) for
984 tasks running within the fair group scheduler. Groups with no limit
985 set are considered to be unconstrained and will run with no
986 restriction.
987 See tip/Documentation/scheduler/sched-bwc.txt for more information.
988
989 config KERNEL_RT_GROUP_SCHED
990 bool "Group scheduling for SCHED_RR/FIFO"
991 default y
992 help
993 This feature lets you explicitly allocate real CPU bandwidth
994 to task groups. If enabled, it will also make it impossible to
995 schedule realtime tasks for non-root users until you allocate
996 realtime bandwidth for them.
997
998 endif
999
1000 config KERNEL_BLK_CGROUP
1001 bool "Block IO controller"
1002 default y
1003 help
1004 Generic block IO controller cgroup interface. This is the common
1005 cgroup interface which should be used by various IO controlling
1006 policies.
1007
1008 Currently, CFQ IO scheduler uses it to recognize task groups and
1009 control disk bandwidth allocation (proportional time slice allocation)
1010 to such task groups. It is also used by bio throttling logic in
1011 block layer to implement upper limit in IO rates on a device.
1012
1013 This option only enables generic Block IO controller infrastructure.
1014 One needs to also enable actual IO controlling logic/policy. For
1015 enabling proportional weight division of disk bandwidth in CFQ, set
1016 CONFIG_CFQ_GROUP_IOSCHED=y; for enabling throttling policy, set
1017 CONFIG_BLK_DEV_THROTTLING=y.
1018
1019 if KERNEL_BLK_CGROUP
1020
1021 config KERNEL_CFQ_GROUP_IOSCHED
1022 bool "Proportional weight of disk bandwidth in CFQ"
1023
1024 config KERNEL_BLK_DEV_THROTTLING
1025 bool "Enable throttling policy"
1026 default y
1027
1028 config KERNEL_BLK_DEV_THROTTLING_LOW
1029 bool "Block throttling .low limit interface support (EXPERIMENTAL)"
1030 depends on KERNEL_BLK_DEV_THROTTLING
1031 endif
1032
1033 config KERNEL_DEBUG_BLK_CGROUP
1034 bool "Enable Block IO controller debugging"
1035 depends on KERNEL_BLK_CGROUP
1036 help
1037 Enable some debugging help. Currently it exports additional stat
1038 files in a cgroup which can be useful for debugging.
1039
1040 config KERNEL_NET_CLS_CGROUP
1041 bool "legacy Control Group Classifier"
1042
1043 config KERNEL_CGROUP_NET_CLASSID
1044 bool "legacy Network classid cgroup"
1045
1046 config KERNEL_CGROUP_NET_PRIO
1047 bool "legacy Network priority cgroup"
1048
1049endif
1050
1051#
1052# Namespace support symbols
1053#
1054
1055config KERNEL_NAMESPACES
1056 bool "Enable kernel namespaces"
1057 default y if !SMALL_FLASH
1058
1059if KERNEL_NAMESPACES
1060
1061 config KERNEL_UTS_NS
1062 bool "UTS namespace"
1063 default y
1064 help
1065 In this namespace, tasks see different info provided
1066 with the uname() system call.
1067
1068 config KERNEL_IPC_NS
1069 bool "IPC namespace"
1070 default y
1071 help
1072 In this namespace, tasks work with IPC ids which correspond to
1073 different IPC objects in different namespaces.
1074
1075 config KERNEL_USER_NS
1076 bool "User namespace (EXPERIMENTAL)"
1077 default y
1078 help
1079 This allows containers, i.e. vservers, to use user namespaces
1080 to provide different user info for different servers.
1081
1082 config KERNEL_PID_NS
1083 bool "PID Namespaces"
1084 default y
1085 help
1086 Support process id namespaces. This allows having multiple
1087 processes with the same pid as long as they are in different
1088 pid namespaces. This is a building block of containers.
1089
1090 config KERNEL_NET_NS
1091 bool "Network namespace"
1092 default y
1093 help
1094 Allow user space to create what appear to be multiple instances
1095 of the network stack.
1096
1097endif
1098
1099config KERNEL_DEVPTS_MULTIPLE_INSTANCES
1100 bool "Support multiple instances of devpts"
1101 default y if !SMALL_FLASH
1102 help
1103 Enable support for multiple instances of devpts filesystem.
1104 If you want to have isolated PTY namespaces (eg: in containers),
1105 say Y here. Otherwise, say N. If enabled, each mount of devpts
1106 filesystem with the '-o newinstance' option will create an
1107 independent PTY namespace.
1108
1109config KERNEL_POSIX_MQUEUE
1110 bool "POSIX Message Queues"
1111 default y if !SMALL_FLASH
1112 help
1113 POSIX variant of message queues is a part of IPC. In POSIX message
1114 queues every message has a priority which decides about succession
1115 of receiving it by a process. If you want to compile and run
1116 programs written e.g. for Solaris with use of its POSIX message
1117 queues (functions mq_*) say Y here.
1118
1119 POSIX message queues are visible as a filesystem called 'mqueue'
1120 and can be mounted somewhere if you want to do filesystem
1121 operations on message queues.
1122
1123
1124config KERNEL_SECCOMP_FILTER
1125 bool
1126 default y if !SMALL_FLASH
1127
1128config KERNEL_SECCOMP
1129 bool "Enable seccomp support"
1130 depends on !(TARGET_uml)
1131 select KERNEL_SECCOMP_FILTER
1132 default y if !SMALL_FLASH
1133 help
1134 Build kernel with support for seccomp.
1135
1136#
1137# IPv4 configuration
1138#
1139
1140config KERNEL_IP_MROUTE
1141 bool "Enable IPv4 multicast routing"
1142 default y
1143 help
1144 Multicast routing requires a multicast routing daemon in
1145 addition to kernel support.
1146
1147if KERNEL_IP_MROUTE
1148
1149 config KERNEL_IP_MROUTE_MULTIPLE_TABLES
1150 def_bool y
1151
1152 config KERNEL_IP_PIMSM_V1
1153 def_bool y
1154
1155 config KERNEL_IP_PIMSM_V2
1156 def_bool y
1157
1158endif
1159
1160#
1161# IPv6 configuration
1162#
1163
1164config KERNEL_IPV6
1165 def_bool IPV6
1166
1167if KERNEL_IPV6
1168
1169 config KERNEL_IPV6_MULTIPLE_TABLES
1170 def_bool y
1171
1172 config KERNEL_IPV6_SUBTREES
1173 def_bool y
1174
1175 config KERNEL_IPV6_MROUTE
1176 bool "Enable IPv6 multicast routing"
1177 default y
1178 help
1179 Multicast routing requires a multicast routing daemon in
1180 addition to kernel support.
1181
1182 if KERNEL_IPV6_MROUTE
1183
1184 config KERNEL_IPV6_MROUTE_MULTIPLE_TABLES
1185 def_bool y
1186
1187 config KERNEL_IPV6_PIMSM_V2
1188 def_bool y
1189
1190 endif
1191
1192 config KERNEL_IPV6_SEG6_LWTUNNEL
1193 bool "Enable support for lightweight tunnels"
1194 default y if !SMALL_FLASH
1195 help
1196 Using lwtunnel (needed for IPv6 segment routing) requires ip-full package.
1197
1198 config KERNEL_LWTUNNEL_BPF
1199 def_bool n
1200
1201endif
1202
1203#
1204# Miscellaneous network configuration
1205#
1206
1207config KERNEL_NET_L3_MASTER_DEV
1208 bool "L3 Master device support"
1209 default y if !SMALL_FLASH
1210 help
1211 This module provides glue between core networking code and device
1212 drivers to support L3 master devices like VRF.
1213 Increases the compressed kernel size by ~4kB (as of Linux 6.6).
1214
1215config KERNEL_XDP_SOCKETS
1216 bool "XDP sockets support"
1217 help
1218 XDP sockets allows a channel between XDP programs and
1219 userspace applications.
1220
1221config KERNEL_PAGE_POOL
1222 def_bool n
1223
1224config KERNEL_PAGE_POOL_STATS
1225 bool "Page pool stats support"
1226 depends on KERNEL_PAGE_POOL
1227
1228config KERNEL_NF_CONNTRACK_TIMEOUT
1229 bool "Per-connection connection tracking timeout"
1230 default y if !SMALL_FLASH
1231 help
1232 Select this option to enable support for per-connection conntrack timeouts.
1233 Increases the (uncompressed) size of nf_conntrack.ko by ~8kB.
1234
1235#
1236# NFS related symbols
1237#
1238config KERNEL_IP_PNP
1239 bool "Compile the kernel with rootfs on NFS"
1240 help
1241 If you want to make your kernel boot off a NFS server as root
1242 filesystem, select Y here.
1243
1244if KERNEL_IP_PNP
1245
1246 config KERNEL_IP_PNP_DHCP
1247 def_bool y
1248
1249 config KERNEL_IP_PNP_BOOTP
1250 def_bool n
1251
1252 config KERNEL_IP_PNP_RARP
1253 def_bool n
1254
1255 config KERNEL_NFS_FS
1256 def_bool y
1257
1258 config KERNEL_NFS_V2
1259 def_bool y
1260
1261 config KERNEL_NFS_V3
1262 def_bool y
1263
1264 config KERNEL_ROOT_NFS
1265 def_bool y
1266
1267endif
1268
1269config KERNEL_BTRFS_FS
1270 bool "Compile the kernel with built-in BTRFS support"
1271 help
1272 Say Y here if you want to make the kernel to be able to boot off a
1273 BTRFS partition.
1274
1275menu "Filesystem ACL and attr support options"
1276 config USE_FS_ACL_ATTR
1277 bool "Use filesystem ACL and attr support by default"
1278 help
1279 Make using ACLs (e.g. POSIX ACL, NFSv4 ACL) the default
1280 for kernel and packages, except tmpfs, flash filesystems,
1281 and old NFS. Also enable userspace extended attribute support
1282 by default. (OpenWrt already has an expection it will be
1283 present in the kernel).
1284
1285 config KERNEL_FS_POSIX_ACL
1286 bool "Enable POSIX ACL support"
1287 default y if USE_FS_ACL_ATTR
1288
1289 config KERNEL_BTRFS_FS_POSIX_ACL
1290 bool "Enable POSIX ACL for BtrFS Filesystems"
1291 select KERNEL_FS_POSIX_ACL
1292 default y if USE_FS_ACL_ATTR
1293
1294 config KERNEL_EXT4_FS_POSIX_ACL
1295 bool "Enable POSIX ACL for Ext4 Filesystems"
1296 select KERNEL_FS_POSIX_ACL
1297 default y if USE_FS_ACL_ATTR
1298
1299 config KERNEL_F2FS_FS_POSIX_ACL
1300 bool "Enable POSIX ACL for F2FS Filesystems"
1301 select KERNEL_FS_POSIX_ACL
1302
1303 config KERNEL_JFFS2_FS_POSIX_ACL
1304 bool "Enable POSIX ACL for JFFS2 Filesystems"
1305 select KERNEL_FS_POSIX_ACL
1306
1307 config KERNEL_TMPFS_POSIX_ACL
1308 bool "Enable POSIX ACL for TMPFS Filesystems"
1309 select KERNEL_FS_POSIX_ACL
1310
1311 config KERNEL_CIFS_ACL
1312 bool "Enable CIFS ACLs"
1313 select KERNEL_FS_POSIX_ACL
1314 default y if USE_FS_ACL_ATTR
1315
1316 config KERNEL_HFS_FS_POSIX_ACL
1317 bool "Enable POSIX ACL for HFS Filesystems"
1318 select KERNEL_FS_POSIX_ACL
1319 default y if USE_FS_ACL_ATTR
1320
1321 config KERNEL_HFSPLUS_FS_POSIX_ACL
1322 bool "Enable POSIX ACL for HFS+ Filesystems"
1323 select KERNEL_FS_POSIX_ACL
1324 default y if USE_FS_ACL_ATTR
1325
1326 config KERNEL_NFS_ACL_SUPPORT
1327 bool "Enable ACLs for NFS"
1328 default y if USE_FS_ACL_ATTR
1329
1330 config KERNEL_NFS_V3_ACL_SUPPORT
1331 bool "Enable ACLs for NFSv3"
1332
1333 config KERNEL_NFSD_V2_ACL_SUPPORT
1334 bool "Enable ACLs for NFSDv2"
1335
1336 config KERNEL_NFSD_V3_ACL_SUPPORT
1337 bool "Enable ACLs for NFSDv3"
1338
1339 config KERNEL_REISER_FS_POSIX_ACL
1340 bool "Enable POSIX ACLs for ReiserFS"
1341 select KERNEL_FS_POSIX_ACL
1342 default y if USE_FS_ACL_ATTR
1343
1344 config KERNEL_XFS_POSIX_ACL
1345 bool "Enable POSIX ACLs for XFS"
1346 select KERNEL_FS_POSIX_ACL
1347 default y if USE_FS_ACL_ATTR
1348
1349 config KERNEL_JFS_POSIX_ACL
1350 bool "Enable POSIX ACLs for JFS"
1351 select KERNEL_FS_POSIX_ACL
1352 default y if USE_FS_ACL_ATTR
1353
1354endmenu
1355
1356config KERNEL_DEVMEM
1357 bool "/dev/mem virtual device support"
1358 help
1359 Say Y here if you want to support the /dev/mem device.
1360 The /dev/mem device is used to access areas of physical
1361 memory.
1362
1363config KERNEL_DEVKMEM
1364 bool "/dev/kmem virtual device support"
1365 help
1366 Say Y here if you want to support the /dev/kmem device. The
1367 /dev/kmem device is rarely used, but can be used for certain
1368 kind of kernel debugging operations.
1369
1370config KERNEL_SQUASHFS_FRAGMENT_CACHE_SIZE
1371 int "Number of squashfs fragments cached"
1372 default 2 if (SMALL_FLASH && !LOW_MEMORY_FOOTPRINT)
1373 default 3
1374
1375config KERNEL_SQUASHFS_XATTR
1376 bool "Squashfs XATTR support"
1377
1378#
1379# compile optimization setting
1380#
1381choice
1382 prompt "Compiler optimization level"
1383 default KERNEL_CC_OPTIMIZE_FOR_SIZE if SMALL_FLASH
1384
1385config KERNEL_CC_OPTIMIZE_FOR_PERFORMANCE
1386 bool "Optimize for performance"
1387 help
1388 This is the default optimization level for the kernel, building
1389 with the "-O2" compiler flag for best performance and most
1390 helpful compile-time warnings.
1391
1392config KERNEL_CC_OPTIMIZE_FOR_SIZE
1393 bool "Optimize for size"
1394 help
1395 Enabling this option will pass "-Os" instead of "-O2" to
1396 your compiler resulting in a smaller kernel.
1397
1398endchoice
1399
1400config KERNEL_AUDIT
1401 bool "Auditing support"
1402
1403config KERNEL_SECURITY
1404 bool "Enable different security models"
1405
1406config KERNEL_SECURITY_NETWORK
1407 bool "Socket and Networking Security Hooks"
1408 select KERNEL_SECURITY
1409
1410config KERNEL_SECURITY_SELINUX
1411 bool "NSA SELinux Support"
1412 select KERNEL_SECURITY_NETWORK
1413 select KERNEL_AUDIT
1414
1415config KERNEL_SECURITY_SELINUX_BOOTPARAM
1416 bool "NSA SELinux boot parameter"
1417 depends on KERNEL_SECURITY_SELINUX
1418 default y
1419
1420config KERNEL_SECURITY_SELINUX_DISABLE
1421 bool "NSA SELinux runtime disable"
1422 depends on KERNEL_SECURITY_SELINUX
1423
1424config KERNEL_SECURITY_SELINUX_DEVELOP
1425 bool "NSA SELinux Development Support"
1426 depends on KERNEL_SECURITY_SELINUX
1427 default y
1428
1429config KERNEL_SECURITY_SELINUX_SIDTAB_HASH_BITS
1430 int
1431 depends on KERNEL_SECURITY_SELINUX
1432 default 9
1433
1434config KERNEL_SECURITY_SELINUX_SID2STR_CACHE_SIZE
1435 int
1436 depends on KERNEL_SECURITY_SELINUX
1437 default 256
1438
1439config KERNEL_LSM
1440 string
1441 default "lockdown,yama,loadpin,safesetid,integrity,selinux"
1442 depends on KERNEL_SECURITY_SELINUX
1443
1444config KERNEL_EXT4_FS_SECURITY
1445 bool "Ext4 Security Labels"
1446
1447config KERNEL_F2FS_FS_SECURITY
1448 bool "F2FS Security Labels"
1449
1450config KERNEL_UBIFS_FS_SECURITY
1451 bool "UBIFS Security Labels"
1452
1453config KERNEL_JFFS2_FS_SECURITY
1454 bool "JFFS2 Security Labels"
1455
1456config KERNEL_WERROR
1457 bool "Compile the kernel with warnings as errors"
1458 help
1459 A kernel build should not cause any compiler warnings, and this
1460 enables the '-Werror' (for C) and '-Dwarnings' (for Rust) flags
1461 to enforce that rule by default. Certain warnings from other tools
1462 such as the linker may be upgraded to errors with this option as
1463 well.
1464
1465 However, if you have a new (or very old) compiler or linker with odd
1466 and unusual warnings, or you have some architecture with problems,
1467 you may need to disable this config option in order to
1468 successfully build the kernel.
1469
1470config KERNEL_ENABLE_AUDIO
1471 bool
1472
1473config KERNEL_DISABLE_AUDIO
1474 bool
1475
1476config KERNEL_LINUX_ALSA_SSP_CONTROLLER_ENABLE
1477 bool
1478
1479config KERNEL_LINUX_ALSA_SSP_CONTROLLER_DISABLE
1480 bool
1481
1482config KERNEL_CODEC_PM812
1483 bool
1484
1485config KERNEL_CODEC_PM805
1486 bool
1487
1488config KERNEL_CODEC_NAU8810
1489 bool
1490
1491config KERNEL_CODEC_ALC5616
1492 bool
1493
1494config KERNEL_CODEC_NONE
1495 bool
1496
1497config KERNEL_CODEC_I2S_MASTER
1498 bool
1499
1500config KERNEL_CODEC_I2S_SLAVE
1501 bool
1502
1503config KERNEL_CODEC_PCM_MASTER
1504 bool
1505
1506config KERNEL_CODEC_PCM_SLAVE
1507 bool
1508
1509config KERNEL_CODEC_PCM_NB
1510 bool
1511
1512config KERNEL_CODEC_PCM_WB
1513 bool
1514
1515config KERNEL_CODEC_PCM_32KHz
1516 bool
1517
1518config KERNEL_CODEC_PCM_48KHz
1519 bool
1520
1521config KERNEL_MISLIC_LE9643
1522 bool
1523
1524config KERNEL_MISLIC_LE9653
1525 bool
1526
1527config KERNEL_MISLIC_NONE
1528 bool
1529
1530config KERNEL_PROSLIC_SI3217X
1531 bool
1532
1533config KERNEL_PROSLIC_SI3218X
1534 bool
1535
1536config KERNEL_PROSLIC_NONE
1537 bool
1538
1539config KERNEL_MODEM_AUDIO_CONTROLLER_GSSP
1540 bool
1541
1542config KERNEL_MODEM_AUDIO_CONTROLLER_SSPA
1543 bool
1544
1545config KERNEL_MODEM_AUDIO_INTERNAL_CODEC
1546 bool
1547
1548config KERNEL_DXSLIC_DXS101
1549 bool
1550
1551config KERNEL_DXSLIC_NONE
1552 bool
1553
1554config KERNEL_SECURITY_NETWORK_XFRM
1555 bool
1556 default n
1557
1558config XFRM_USER
1559 tristate
1560 default m
1561
1562config KERNEL_MD
1563 bool "Multiple devices driver support (RAID and LVM)"
1564
1565config KERNEL_BLK_DEV_DM
1566 bool "Device mapper support"
1567 depends on KERNEL_MD
1568
1569config KERNEL_DM_VERITY
1570 bool "Verity target support"
1571 depends on KERNEL_BLK_DEV_DM
1572
1573config KERNEL_DM_CRYPT
1574 bool "Crypt target support"
1575 depends on KERNEL_BLK_DEV_DM
1576
1577config KERNEL_DM_INIT
1578 bool "DM \"dm-mod.create=\" parameter support"
1579 depends on KERNEL_BLK_DEV_DM
1580
1581config KERNEL_BLK_DEV_MD
1582 bool
1583 depends on KERNEL_MD
1584 default n
1585
1586config KERNEL_DM_DEBUG_BLOCK_MANAGER_LOCKING
1587 bool
1588 default n
1589
1590config KERNEL_DM_SNAPSHOT
1591 tristate
1592 depends on KERNEL_BLK_DEV_DM
1593 default n
1594
1595config KERNEL_DM_VERITY_VERIFY_ROOTHASH_SIG
1596 bool
1597 depends on KERNEL_DM_VERITY
1598 default n
1599
1600config KERNEL_DM_VERITY_FEC
1601 bool
1602 depends on KERNEL_DM_VERITY
1603 default n
1604
1605config KERNEL_DM_BOW
1606 tristate
1607 depends on KERNEL_BLK_DEV_DM
1608 default n
1609
1610config KERNEL_DM_USER
1611 tristate
1612 depends on KERNEL_BLK_DEV_DM
1613
1614config KERNEL_TEE
1615 bool "Trusted Execution Environment support"
1616 depends on (arm && TEE_OS)
1617
1618config KERNEL_OPTEE
1619 bool "OP-TEE"
1620 depends on KERNEL_TEE
1621
1622config KERNEL_OPTEE_SHM_NUM_PRIV_PAGES
1623 int "Private Shared Memory Pages"
1624 default 1
1625 depends on KERNEL_OPTEE
1626
1627config KERNEL_HW_RANDOM_OPTEE
1628 bool
1629 default n
1630
1631config KERNEL_ASR_DSDS
1632 bool "Enable DSDS in Linux kernel"
1633 default n
1634
1635config KERNEL_ASR_OPTEE_VIRTUAL_UART
1636 bool "ASR forwarding Secure OS log to Linux kernel"
1637 default n
1638 depends on KERNEL_OPTEE
1639
1640config KERNEL_ASR_OPTEE_LOG_LEVEL
1641 bool "OPTEE log level in secure os"
1642 default n
1643 depends on KERNEL_OPTEE
1644
1645config KERNEL_HW_RANDOM_ASR
1646 bool
1647 default n
1648
1649config KERNEL_CRYPTO_USER_API
1650 bool
1651 default n
1652
1653config KERNEL_CRYPTO
1654 bool
1655 default n
1656
1657config KERNEL_CRYPTO_USER_API_SKCIPHER
1658 bool
1659 default n
1660
1661config KERNEL_CRYPTO_USER_API_HASH
1662 bool
1663 default n
1664
1665config KERNEL_IMA
1666 bool
1667 depends on SECURE_IMA
1668
1669config KERNEL_IMA_TRUSTED_KEYRING
1670 bool
1671 default n
1672
1673config KERNEL_IMA_BLACKLIST_KEYRING
1674 bool
1675 default n
1676
1677config KERNEL_INTEGRITY
1678 bool
1679 depends on SECURE_IMA
1680
1681config KERNEL_INTEGRITY_AUDIT
1682 bool
1683 depends on (KERNEL_INTEGRITY && KERNEL_AUDIT)
1684
1685config KERNEL_IMA_APPRAISE
1686 bool
1687 depends on SECURE_IMA
1688
1689config KERNEL_IMA_APPRAISE_BOOTPARAM
1690 bool
1691 depends on SECURE_IMA
1692
1693config KERNEL_IMA_READ_POLICY
1694 bool
1695 default n
1696
1697config KERNEL_IMA_WRITE_POLICY
1698 bool
1699 default n
1700
1701choice
1702 prompt "Default template"
1703 default KERNEL_IMA_NG_TEMPLATE
1704 depends on KERNEL_IMA
1705
1706config KERNEL_IMA_TEMPLATE
1707 bool "ima"
1708
1709config KERNEL_IMA_NG_TEMPLATE
1710 bool "ima-ng (default)"
1711
1712config KERNEL_IMA_SIG_TEMPLATE
1713 bool "ima-sig"
1714
1715endchoice
1716
1717config KERNEL_IMA_DEFAULT_TEMPLATE
1718 string
1719 depends on KERNEL_IMA
1720 default "ima" if KERNEL_IMA_TEMPLATE
1721 default "ima-ng" if KERNEL_IMA_NG_TEMPLATE
1722 default "ima-sig" if KERNEL_IMA_SIG_TEMPLATE
1723
1724choice
1725 prompt "Default integrity hash algorithm"
1726 default KERNEL_IMA_DEFAULT_HASH_SHA1
1727 depends on KERNEL_IMA
1728
1729config KERNEL_IMA_DEFAULT_HASH_SHA1
1730 bool "SHA1 (default)"
1731
1732config KERNEL_IMA_DEFAULT_HASH_SHA256
1733 bool "SHA256"
1734 depends on !KERNEL_IMA_TEMPLATE
1735
1736endchoice
1737
1738config KERNEL_IMA_DEFAULT_HASH
1739 string
1740 depends on KERNEL_IMA
1741 default "sha1" if KERNEL_IMA_DEFAULT_HASH_SHA1
1742 default "sha256" if KERNEL_IMA_DEFAULT_HASH_SHA256
1743
1744config KERNEL_AB_SYSTEM
1745 bool
1746 depends on AB_SYSTEM
1747
1748config KERNEL_ASR_SDTIM
1749 bool
1750 default n
1751
1752config KERNEL_INTEGRITY_SIGNATURE
1753 bool
1754 depends on SECURE_IMA
1755
1756config KERNEL_SIGNATURE
1757 tristate
1758 depends on KERNEL_INTEGRITY_SIGNATURE
1759
1760config KERNEL_SYSTEM_TRUSTED_KEYRING
1761 bool
1762 default n
1763
1764config KERNEL_INTEGRITY_ASYMMETRIC_KEYS
1765 bool
1766 depends on KERNEL_EVM
1767 default n
1768
1769config KERNEL_INTEGRITY_TRUSTED_KEYRING
1770 bool
1771 depends on KERNEL_INTEGRITY_ASYMMETRIC_KEYS
1772 default n
1773
1774config KERNEL_EVM_LOAD_X509
1775 bool
1776 default n
1777
1778config KERNEL_IMA_APPRAISE_BUILD_POLICY
1779 bool
1780 default n
1781
1782config KERNEL_IMA_ARCH_POLICY
1783 bool "Enable loading an IMA architecture specific policy"
1784 default n
1785
1786config KERNEL_IMA_APPRAISE_MODSIG
1787 bool "Support module-style signatures for appraisal"
1788 default n
1789
1790config KERNEL_QSPINAND_64M
1791 bool
1792 default n
1793
1794config KERNEL_STRICT_KERNEL_RWX
1795 bool "Make kernel text and rodata read-only"
1796 default n
1797 help
1798 If this is set, kernel text and rodata memory will be made read-only,
1799 and non-text memory will be made non-executable. This provides
1800 protection against certain security exploits (e.g. executing the heap
1801 or modifying text)
1802
1803 These features are considered standard security practice these days.
1804 You should say Y here in almost all cases.
1805
1806config KERNEL_EVM
1807 bool "EVM support"
1808 depends on SECURE_IMA
1809
1810config KERNEL_CRYPTO_RNG
1811 tristate "RNG"
1812 depends on SECURE_IMA
1813
1814config KERNEL_ENCRYPTED_KEYS
1815 tristate "ENCRYPTED KEYS"
1816 depends on SECURE_IMA
1817
1818config KERNEL_TRUSTED_KEYS
1819 tristate "TRUSTED KEYS"
1820 depends on SECURE_IMA
1821
1822config KERNEL_EVM_ADD_XATTRS
1823 bool "Add additional EVM extended attributes at runtime"
1824 depends on KERNEL_EVM
1825 default n
1826
1827config KERNEL_EVM_ATTR_FSUUID
1828 bool "FSUUID (version 2)"
1829 depends on KERNEL_EVM
1830 default n
1831
1832config KERNEL_ASYMMETRIC_TPM_KEY_SUBTYPE
1833 tristate "Asymmetric TPM backed private key subtype"
1834 depends on KERNEL_TRUSTED_KEYS
1835 default n
1836
1837config KERNEL_MEDIA_CAMERA_SUPPORT
1838 bool
1839 default n
1840config KERNEL_MEDIA_CONTROLLER
1841 bool
1842 default n
1843config KERNEL_MEDIA_SUPPORT
1844 bool
1845 default n
1846config KERNEL_V4L2_FWNODE
1847 bool
1848 default n
1849config KERNEL_VIDEOBUF2_CORE
1850 bool
1851 default n
1852config KERNEL_VIDEOBUF2_DMA_CONTIG
1853 bool
1854 default n
1855config KERNEL_VIDEOBUF2_MEMOPS
1856 bool
1857 default n
1858config KERNEL_VIDEOBUF2_V4L2
1859 bool
1860 default n
1861config KERNEL_VIDEOBUF2_VMALLOC
1862 bool
1863 default n
1864config KERNEL_VIDEO_DEV
1865 bool
1866 default n
1867config KERNEL_VIDEO_V4L2
1868 bool
1869 default n
1870config KERNEL_VIDEO_V4L2_I2C
1871 bool
1872 default n
1873config KERNEL_VIDEO_V4L2_SUBDEV_API
1874 bool
1875 default n
1876config KERNEL_VIDEO_GC032A
1877 bool
1878 default n
1879
1880config KERNEL_ASR_CAMERA
1881 bool
1882 default n
1883 select KERNEL_MEDIA_CAMERA_SUPPORT
1884 select KERNEL_MEDIA_CONTROLLER
1885 select KERNEL_MEDIA_SUPPORT
1886 select KERNEL_V4L2_FWNODE
1887 select KERNEL_VIDEOBUF2_CORE
1888 select KERNEL_VIDEOBUF2_DMA_CONTIG
1889 select KERNEL_VIDEOBUF2_MEMOPS
1890 select KERNEL_VIDEOBUF2_V4L2
1891 select KERNEL_VIDEOBUF2_VMALLOC
1892 select KERNEL_VIDEO_DEV
1893 select KERNEL_VIDEO_V4L2
1894 select KERNEL_VIDEO_V4L2_I2C
1895 select KERNEL_VIDEO_V4L2_SUBDEV_API
1896 select KERNEL_VIDEO_GC032A
1897
1898config KERNEL_VIDEO_GS1662
1899 bool
1900 default n
1901config KERNEL_VIDEO_IMX214
1902 bool
1903 default n
1904config KERNEL_VIDEO_IMX258
1905 bool
1906 default n
1907config KERNEL_VIDEO_IMX274
1908 bool
1909 default n
1910config KERNEL_VIDEO_IMX319
1911 bool
1912 default n
1913config KERNEL_VIDEO_IMX355
1914 bool
1915 default n
1916config KERNEL_VIDEO_LM3560
1917 bool
1918 default n
1919config KERNEL_VIDEO_LM3646
1920 bool
1921 default n
1922config KERNEL_VIDEO_M5MOLS
1923 bool
1924 default n
1925config KERNEL_VIDEO_MT9M001
1926 bool
1927 default n
1928config KERNEL_VIDEO_MT9M032
1929 bool
1930 default n
1931config KERNEL_VIDEO_MT9P031
1932 bool
1933 default n
1934config KERNEL_VIDEO_MT9T001
1935 bool
1936 default n
1937config KERNEL_VIDEO_MT9V032
1938 bool
1939 default n
1940config KERNEL_VIDEO_OV13858
1941 bool
1942 default n
1943config KERNEL_VIDEO_OV2680
1944 bool
1945 default n
1946config KERNEL_VIDEO_OV2685
1947 bool
1948 default n
1949config KERNEL_VIDEO_OV5640
1950 bool
1951 default n
1952config KERNEL_VIDEO_OV5645
1953 bool
1954 default n
1955config KERNEL_VIDEO_OV5647
1956 bool
1957 default n
1958config KERNEL_VIDEO_OV5670
1959 bool
1960 default n
1961config KERNEL_VIDEO_OV5675
1962 bool
1963 default n
1964config KERNEL_VIDEO_OV7251
1965 bool
1966 default n
1967config KERNEL_VIDEO_OV8856
1968 bool
1969 default n
1970config KERNEL_VIDEO_OV9650
1971 bool
1972 default n
1973config KERNEL_VIDEO_S5C73M3
1974 bool
1975 default n
1976config KERNEL_VIDEO_S5K4ECGX
1977 bool
1978 default n
1979config KERNEL_VIDEO_S5K5BAF
1980 bool
1981 default n
1982config KERNEL_VIDEO_S5K6A3
1983 bool
1984 default n
1985config KERNEL_VIDEO_S5K6AA
1986 bool
1987 default n
1988config KERNEL_VIDEO_SMIAPP
1989 bool
1990 default n
1991config KERNEL_VIDEO_ST_MIPID02
1992 bool
1993 default n
1994config KERNEL_VIDEO_TC358743
1995 bool
1996 default n
1997config KERNEL_VIDEO_TDA1997X
1998 bool
1999 default n
2000config KERNEL_VIDEO_DW9714
2001 bool
2002 default n
2003config KERNEL_VIDEO_DW9807_VCM
2004 bool
2005 default n
2006config KERNEL_VIDEO_ET8EK8
2007 bool
2008 default n
2009config KERNEL_VIDEO_AD5820
2010 bool
2011 default n
2012config KERNEL_VIDEO_AD9389B
2013 bool
2014 default n
2015config KERNEL_VIDEO_ADP1653
2016 bool
2017 default n
2018config KERNEL_VIDEO_ADV748X
2019 bool
2020 default n
2021config KERNEL_VIDEO_ADV7511
2022 bool
2023 default n
2024config KERNEL_VIDEO_ADV7604
2025 bool
2026 default n
2027config KERNEL_VIDEO_ADV7842
2028 bool
2029 default n
2030config KERNEL_VIDEO_AK7375
2031 bool
2032 default n
2033config KERNEL_V4L_PLATFORM_DRIVERS
2034 bool
2035 default n
2036
2037config KERNEL_POSE
2038 bool "ASR POS-E support"
2039 select KERNEL_ASR_CAMERA
2040
2041config KERNEL_POSL
2042 bool "ASR POS-L support"
2043 select KERNEL_ASR_CAMERA
2044
2045config KERNEL_FB
2046 bool
2047 default n
2048config KERNEL_FB_SYS_FILLRECT
2049 bool
2050 default n
2051config KERNEL_FB_SYS_COPYAREA
2052 bool
2053 default n
2054config KERNEL_FB_SYS_IMAGEBLIT
2055 bool
2056 default n
2057config KERNEL_FB_SYS_FOPS
2058 bool
2059 default n
2060config KERNEL_FB_DEFERRED_IO
2061 bool
2062 default n
2063config KERNEL_FB_CFB_FILLRECT
2064 bool
2065 default n
2066config KERNEL_FB_CFB_COPYAREA
2067 bool
2068 default n
2069config KERNEL_FB_CFB_IMAGEBLIT
2070 bool
2071 default n
2072config KERNEL_PWM
2073 bool
2074 default n
2075config KERNEL_PWM_PXA
2076 bool
2077 default n
2078config KERNEL_PWM_SYSFS
2079 bool
2080 default n
2081config KERNEL_BACKLIGHT_CLASS_DEVICE
2082 bool
2083 default n
2084config KERNEL_BACKLIGHT_PWM
2085 bool
2086 default n
2087config KERNEL_INPUT_TOUCHSCREEN
2088 bool
2089 default n
2090config KERNEL_TOUCHSCREEN_EDT_FT5X06
2091 bool
2092 default n
2093config KERNEL_TOUCHSCREEN_PROPERTIES
2094 bool
2095 default n
2096config KERNEL_TOUCHSCREEN_ASR_TSC
2097 bool
2098 default n
2099
2100config KERNEL_FB_ASR
2101 bool "ASR framebuffer support"
2102 depends on KERNEL_FB
2103 default n
2104 select KERNEL_FB_SYS_FILLRECT
2105 select KERNEL_FB_SYS_COPYAREA
2106 select KERNEL_FB_SYS_IMAGEBLIT
2107 select KERNEL_FB_SYS_FOPS
2108 select KERNEL_FB_DEFERRED_IO
2109 select KERNEL_FB_CFB_FILLRECT
2110 select KERNEL_FB_CFB_COPYAREA
2111 select KERNEL_FB_CFB_IMAGEBLIT
2112 help
2113 Framebuffer support for ASR
2114
2115choice
2116 prompt "Select the LCD interface"
2117 depends on KERNEL_FB_ASR
2118 default KERNEL_FB_ASR_MIPI if LCDC_MIPI
2119 default KERNEL_FB_ASR_SPI if LCDC_SPI
2120 default KERNEL_FB_ASR_MCU
2121
2122config KERNEL_FB_ASR_SPI
2123 bool "SPI"
2124config KERNEL_FB_ASR_MCU
2125 bool "MCU"
2126config KERNEL_FB_ASR_MIPI
2127 bool "MIPI"
2128endchoice
2129
2130config KERNEL_FB_SPI_LCD
2131 bool "ASR SPI LCD framebuffer support"
2132 depends on KERNEL_FB
2133 default n
2134 select KERNEL_FB_SYS_FILLRECT
2135 select KERNEL_FB_SYS_COPYAREA
2136 select KERNEL_FB_SYS_IMAGEBLIT
2137 select KERNEL_FB_SYS_FOPS
2138 select KERNEL_FB_DEFERRED_IO
2139 select KERNEL_FB_CFB_FILLRECT
2140 select KERNEL_FB_CFB_COPYAREA
2141 select KERNEL_FB_CFB_IMAGEBLIT
2142 select KERNEL_PWM
2143 select KERNEL_PWM_PXA
2144 select KERNEL_PWM_SYSFS
2145 select KERNEL_BACKLIGHT_CLASS_DEVICE
2146 select KERNEL_BACKLIGHT_PWM
2147 help
2148 SPI LCD Framebuffer support for ASR
2149
2150choice
2151 prompt "Select the LCD interface"
2152 depends on KERNEL_FB_SPI_LCD
2153 default KERNEL_SPI_LCD_ALL
2154 default KERNEL_SPI_LCD_GC9102
2155 default KERNEL_SPI_LCD_GC9106
2156 default KERNEL_SPI_LCD_ST7735
2157 default KERNEL_SPI_LCD_ST7789V
2158
2159config KERNEL_SPI_LCD_ALL
2160 bool "ALL"
2161config KERNEL_SPI_LCD_GC9102
2162 bool "GC9102"
2163config KERNEL_SPI_LCD_GC9106
2164 bool "GC9106"
2165config KERNEL_SPI_LCD_ST7735
2166 bool "ST7735"
2167config KERNEL_SPI_LCD_ST7789V
2168 bool "ST7789V"
2169endchoice
b.liub17525e2025-05-14 17:22:29 +08002170
2171config KERNEL_MISC_MBTK_SDH
2172 bool "mbtk sdh support"
2173 default n
2174
2175config KERNEL_MISC_MBTK_PLAT_IRQ
2176 bool "mbtk irq setting support"
2177 default n
2178config KERNEL_AIC_WLAN_SUPPORT
2179 bool "aic wlan support"
2180 default n
2181
2182config KERNEL_AIC8800_WLAN_SUPPORT
2183 bool "aic1880 wlan support"
2184 default n
2185
2186config KERNEL_AIC8800_BTLPM_SUPPORT
2187 bool "aic1880 btlpm support"
2188 default n
2189
2190config KERNEL_AIC_FW_PATH
2191 bool "aic1880 wlan fw path support"
2192 default "/lib/firmware/aic8800"
2193
2194config PACKAGE_kmod-cfg80211
2195 default n
2196
2197config PACKAGE_kmod-lib80211
2198 default n
2199
2200config PACKAGE_kmod-mac80211
2201 default n
2202
2203config KERNEL_MFD_TAS5431_AMPLIFIER
2204 bool "tas5431 amplifier support"
2205 default n
2206
2207config KERNEL_MISC_CUSTOMER_POWER_CTRL
2208 bool "customer power ctrl support"
2209 default n