Lines Matching +full:debian +full:- +full:arm64 +full:- +full:build +full:- +full:test

1 # SPDX-License-Identifier: GPL-2.0-only
19 parameter printk.time=1. See Documentation/admin-guide/kernel-parameters.rst
39 bool "Show build ID information in stacktraces"
42 Selecting this option adds build ID information for symbols in
46 accessible but can be downloaded given the build ID of the vmlinux or
50 int "Default console loglevel (1-15)"
60 Note: This does not affect the log level of un-prefixed printk()
65 int "quiet console loglevel (1-15)"
76 int "Default message log level (1-7)"
82 This was hard-coded to KERN_WARNING since at least 2.6.10 but folks
94 This build option allows you to read kernel boot messages
118 enabled/disabled based on various levels of scope - per source file,
158 nullarbor:~ # echo -n 'file svcsock.c line 1603 +p' >
162 nullarbor:~ # echo -n 'file svcsock.c +p' >
166 nullarbor:~ # echo -n 'module nfsd +p' >
170 nullarbor:~ # echo -n 'func svc_process +p' >
174 nullarbor:~ # echo -n 'func svc_process -p' >
177 See Documentation/admin-guide/dynamic-debug-howto.rst for additional
207 debugging but costs about 70-100K of memory.
225 menu "Compile-time checks and compiler options"
232 information will be generated for build targets.
235 # older binutils ports do not support when utilizing RISC-V style linker
238 def_bool $(as-instr,.uleb128 .Lexpr_end4 - .Lexpr_start3\n.Lexpr_start3:\n.Lexpr_end4:)
246 This adds debug symbols to the kernel and modules (gcc -g), and
256 Do not build the kernel with debugging information, which will
257 result in a faster and smaller build.
290 5.0+ accepts the -gdwarf-5 flag but only had partial support for some
294 15-18% savings in resulting image and debug info section sizes as
313 build directory object sizes shrink dramatically over a full
314 DEBUG_INFO build and compile times are reduced too.
332 depends on $(cc-option,-gz=zlib)
333 depends on $(ld-option,--compress-debug-sections=zlib)
338 Users of dpkg-deb via debian/rules may find an increase in
347 depends on $(cc-option,-gz=zstd)
348 depends on $(ld-option,--compress-debug-sections=zstd)
359 depends on $(cc-option,-gsplit-dwarf)
360 # RISC-V linker relaxation + -gsplit-dwarf has issues with LLVM and GCC
362 # https://github.com/llvm/llvm-project/issues/56642
367 reduces the build directory size for builds with DEBUG_INFO,
406 Support for the --lang_exclude flag which makes pahole exclude
420 bool "Allow loading modules with non-matching BTF type info"
433 build directory. If you load vmlinux into gdb, the helper
436 instance. See Documentation/process/debugging/gdb-kernel-debugging.rst
452 Tell the compiler to warn at build time for stack frames larger than this.
457 bool "Strip assembler-generated symbols during link"
460 Strip internal assembler-generated symbols during a link (symbols
477 This option will install uapi headers (headers exported to user-space)
478 into the usr/include directory for use during the kernel build.
480 user-space program samples. It is also needed by some features such
496 kernel build, and enabling this option causes the following
498 - Add the option -fno-inline-functions-called-once to gcc commands.
499 When inlining a function annotated with __init in a non-init
506 bool "Make section mismatch errors non-fatal"
509 If you say N here, the build process will fail if there are any
516 depends on EXPERT && (X86_64 || ARM64 || PPC32 || PPC64 || ARC || RISCV || S390)
551 Fail the build on objtool warnings.
559 bool "Compile-time stack metadata validation"
564 Validate frame pointer rules at compile-time. This helps ensure that
580 Selecting this option will pass "-Map=vmlinux.map" to ld
596 This option generates modules.builtin.ranges in the build tree with
602 bool "Force weak per-cpu definitions"
631 keys are documented in <file:Documentation/admin-guide/sysrq.rst>.
641 to a bitmask as described in Documentation/admin-guide/sysrq.rst.
682 debugfs=[on,no-mount,off]. The restrictions apply for API access
701 Access is off. Clients get -PERM when trying to create nodes in
703 Client can then back-off or continue without debugfs access.
743 properly. This can make kmalloc/kfree-intensive workloads
777 int "debug_objects bootup default value (0-1)"
797 task has ever had available in the sysrq-T and sysrq-P debug output.
819 build and run DEBUG_VM_PGTABLE.
837 Enable this to turn on extended checks in the virtual-memory system
862 bool "Debug VM red-black trees"
865 Enable VM red-black tree debugging information and extra validations.
870 bool "Debug page-flags operations"
883 This option provides a debug method which can be used to test
920 on the mminit_loglevel= command-line option.
930 debugfs interface under /sys/kernel/debug/notifier-error-inject/memory
935 Example: Inject memory hotplug offline error (-12 == -ENOMEM)
937 # cd /sys/kernel/debug/notifier-error-inject/memory
938 # echo -12 > actions/MEM_GOING_OFFLINE/error
943 be called memory-notifier-error-inject.
975 mechanism for non-highmem pages and on non-highmem systems.
999 These kinds of bugs usually occur when call-chains in the
1129 high-availability systems that have uptime guarantees and
1140 # Global switch whether to build a hardlockup detector at all. It is available
1168 # Note that arch-specific variants are always preferred.
1183 an arch-specific hardlockup detector or if resources needed
1206 The arch-specific implementation of the hardlockup detector will
1256 to determine when a task has become non-responsive and should
1277 high-availability systems that have uptime guarantees and
1305 bool "Report per-cpu work items which hog CPU for too long"
1308 Say Y here to enable reporting of concurrency-managed per-cpu work
1312 them from stalling other per-cpu work items. Occassional
1318 tristate "Test module to generate lockups"
1326 Also it could generate series of lockups with cooling-down periods.
1359 if kernel code uses it in a preemption-unsafe way. Also, the kernel
1400 participant CPUs, tasks and irq-contexts would be needed
1413 and rwsems - in which case all dependencies between these
1418 For more details, see Documentation/locking/lockdep-design.rst.
1421 bool "Enable raw_spinlock - spinlock nesting checks" if !ARCH_SUPPORTS_RT
1459 bool "Spinlock and rw-lock debugging: basic checks"
1463 Say Y here and build SMP to catch missing spinlock initialization
1484 injecting additional -EDEADLK wound/backoff cases. Together with
1486 will test all possible w/w mutex interface abuse with the
1510 memory-freeing routines (kfree(), kmem_cache_free(), free_pages(),
1563 … Try increasing this value if you hit "lockdep bfs error:-1" warning due to __cq_enqueue() failure.
1586 bool "Locking API boot-time self-tests"
1589 Say Y here if you want the kernel to run a short self-test during
1590 bootup. The self-test checks whether common types of locking bugs
1605 Say Y here if you want kernel locking-primitive torture tests
1607 Say M if you want these torture tests to build as a module.
1617 with this test harness.
1619 Say M if you want these self tests to build as a module.
1757 Enable this to turn on extended checks in the linked-list walking
1770 Enable this to turn on extended checks in the priority-ordered
1771 linked-list (plist) walking routines. This checks the entire
1780 Enable this to turn on checks on scatter-gather tables. This can
1818 bool "Force round-robin CPU selection for unbound work items"
1827 round-robin CPU selection to flush out usages which depend on the
1896 in charge of the OHCI-1394 controllers should be used instead.
1898 See Documentation/core-api/debugging-via-ohci1394.rst for more information.
1909 default y if PPC || X86 || ARM64 || S390
1930 io-memory regardless of whether a driver is actively using that
1935 userspace access to *idle* io-memory ranges (see /proc/iomem) This
1957 specified notifier chain callbacks. It is useful to test the error
1969 interface /sys/kernel/debug/notifier-error-inject/pm
1974 Example: Inject PM suspend error (-12 = -ENOMEM)
1976 # cd /sys/kernel/debug/notifier-error-inject/pm/
1977 # echo -12 > actions/PM_SUSPEND_PREPARE/error
1982 be called pm-notifier-error-inject.
1993 /sys/kernel/debug/notifier-error-inject/OF-reconfig/
1999 be called of-reconfig-notifier-error-inject.
2009 interface /sys/kernel/debug/notifier-error-inject/netdev
2014 Example: Inject netdevice mtu change error (-22 = -EINVAL)
2016 # cd /sys/kernel/debug/notifier-error-inject/netdev
2017 # echo -22 > actions/NETDEV_CHANGEMTU/error
2022 be called netdev-notifier-error-inject.
2027 bool "Fault-injections of functions"
2032 value of these functions. This is useful to test error paths of code.
2037 bool "Fault-injection framework"
2040 Provide fault-injection framework.
2041 For more details, see Documentation/fault-injection/.
2044 bool "Fault-injection capability for kmalloc"
2047 Provide fault-injection capability for kmalloc.
2050 bool "Fault-injection capability for alloc_pages()"
2053 Provide fault-injection capability for alloc_pages().
2059 Provides fault-injection capability to inject failures
2063 bool "Fault-injection capability for disk IO"
2066 Provide fault-injection capability for disk IO.
2069 bool "Fault-injection capability for faking disk interrupts"
2072 Provide fault-injection capability on end IO handling. This
2080 bool "Fault-injection capability for futexes"
2084 Provide fault-injection capability for futexes.
2087 bool "Debugfs entries for fault-injection capabilities"
2090 Enable configuration of fault-injection capabilities via debugfs.
2093 bool "Fault-injection capability for functions"
2096 Provide function-based fault-injection capability.
2099 an error value and have to handle it. This is useful to test the
2103 bool "Fault-injection capability for MMC IO"
2106 Provide fault-injection capability for MMC IO.
2108 useful to test the error handling in the mmc block device
2109 and to test how the mmc host driver handles retries from
2113 bool "Fault-injection capability for SunRPC"
2116 Provide fault-injection capability for SunRPC and
2120 bool "Fault-injection capability forcing skb to reallocate"
2123 Provide fault-injection capability that forces the skb to be
2127 Documentation/fault-injection/fault-injection.rst
2130 bool "Configfs interface for fault-injection capabilities"
2134 This option allows configfs-based drivers to dynamically configure
2135 fault-injection via configfs. Each parameter for driver-specific
2136 fault-injection can be made visible as a configfs attribute in a
2141 bool "stacktrace filter for fault-injection capabilities"
2147 Provide stacktrace filter for fault-injection capabilities
2153 build and run with CONFIG_KCOV. This typically requires
2157 def_bool $(cc-option,-fsanitize-coverage=trace-pc)
2171 for coverage-guided fuzzing (randomized testing).
2173 For more details, see Documentation/dev-tools/kcov.rst.
2178 depends on $(cc-option,-fsanitize-coverage=trace-cmp)
2201 KCOV uses preallocated per-cpu areas to collect coverage from
2210 On test failure, causes the kernel to panic. Recommended to be
2220 tristate "Dhrystone benchmark test"
2222 Enable this to include the Dhrystone 2.1 benchmark. This test
2229 the kernel command line (when built-in), or from userspace (when
2230 built-in or modular).
2248 If the number of iterations is <= 0, the test will devise a suitable
2249 number of iterations (test runs for at least 2s) automatically.
2255 tristate "Linux Kernel Dump Test Tool Module"
2265 Documentation/fault-injection/provoke-crashes.rst
2268 tristate "KUnit test for cpumask" if !KUNIT_ALL_TESTS
2275 to the KUnit documentation in Documentation/dev-tools/kunit/.
2280 tristate "Linked list sorting test" if !KUNIT_ALL_TESTS
2284 Enable this to turn on 'list_sort()' function test. This test is
2291 tristate "Min heap test"
2294 Enable this to turn on min heap function tests. This test is
2301 tristate "Array-based sort test" if !KUNIT_ALL_TESTS
2305 This option enables the self-test function of 'sort()' at boot,
2311 tristate "64bit/32bit division and modulo test"
2314 Enable this to turn on 'do_div()' function test. This test is
2321 tristate "mul_u64_u64_div_u64() test"
2324 Enable this to turn on 'mul_u64_u64_div_u64()' function test.
2325 This test is executed only once during system boot (so affects
2331 tristate "Test iov_iter operation" if !KUNIT_ALL_TESTS
2337 (iov_iter). This test is executed only once during system boot (so
2357 bool "Self test for fprobe"
2369 tristate "Self test for the backtrace code"
2372 This option provides a kernel module that can be used to test
2377 Note that if you want to also test saved backtraces, you will
2383 tristate "Self test for reference tracker"
2393 tristate "Red-Black tree test"
2400 tristate "Reed-Solomon library test"
2406 This option enables the self-test function of rslib at boot,
2412 tristate "Interval tree test"
2419 tristate "Per cpu operations test"
2422 Enable this option to build test module which validates per-cpu
2428 tristate "Perform an atomic64_t self-test"
2430 Enable this option to test the atomic64_t functions at boot or
2436 tristate "Self test for hardware accelerated raid6 recovery"
2440 This is a one-shot self test that permutes through the
2442 N-disk array. Recovery is performed with the asynchronous
2449 tristate "Test functions located in the hexdump module at runtime"
2452 tristate "KUnit test printf() family of functions at runtime" if !KUNIT_ALL_TESTS
2456 Enable this option to test the printf functions at runtime.
2461 tristate "KUnit test scanf() family of functions at runtime" if !KUNIT_ALL_TESTS
2465 Enable this option to test the scanf functions at runtime.
2470 tristate "KUnit test string functions at runtime" if !KUNIT_ALL_TESTS
2475 tristate "KUnit test string helpers at runtime" if !KUNIT_ALL_TESTS
2480 tristate "Test kstrto*() family of functions at runtime"
2483 tristate "Test bitmap_*() family of functions at runtime"
2485 Enable this option to test the bitmap functions at boot.
2490 tristate "Test functions located in the uuid module at runtime"
2493 tristate "Test the XArray code at runtime"
2496 tristate "Test the Maple Tree code at runtime or module load"
2498 Enable this option to test the maple tree code functions at boot, or
2507 Enable this option to test the rhashtable functions at boot.
2515 tristate "miscdevice KUnit test" if !KUNIT_ALL_TESTS
2519 Kunit test for miscdevice API, specially its behavior in respect to
2524 running the KUnit test harness, and not intended for inclusion into a
2525 production build.
2528 to the KUnit documentation in Documentation/dev-tools/kunit/.
2536 Enable this option to test priority array manager on boot
2545 Enable this option to test the irq timings code on boot.
2550 tristate "Test module loading with 'hello world' module"
2563 tristate "Test module for compilation of bitops operations"
2568 no compiler warnings from C=1 sparse checker or -Wextra
2575 tristate "Test module for stress/performance analysis of vmalloc allocator"
2588 tristate "Test BPF filter functionality"
2591 This builds the "test_bpf" module that runs various test vectors
2595 the interpreter code. It also enables test stubs for eBPF maps and
2601 tristate "Test find_bit functions"
2609 tristate "Test firmware loading via userspace interface"
2615 actual firmware-using device. The contents can be rechecked by
2621 tristate "sysctl test driver"
2624 This builds the "test_sysctl" module. This driver enables to test the
2631 tristate "KUnit test bitfield functions at runtime" if !KUNIT_ALL_TESTS
2635 Enable this option to test the bitfield functions at boot.
2639 running the KUnit test harness, and not intended for inclusion into a
2640 production build.
2643 to the KUnit documentation in Documentation/dev-tools/kunit/.
2648 tristate "KUnit test checksum functions at runtime" if !KUNIT_ALL_TESTS
2652 Enable this option to test the checksum functions at boot.
2656 running the KUnit test harness, and not intended for inclusion into a
2657 production build.
2660 to the KUnit documentation in Documentation/dev-tools/kunit/.
2665 tristate "KUnit test util_macros.h functions at runtime" if !KUNIT_ALL_TESTS
2669 Enable this option to test the util_macros.h function at boot.
2673 running the KUnit test harness, and not intended for inclusion into a
2674 production build.
2677 to the KUnit documentation in Documentation/dev-tools/kunit/.
2682 tristate "KUnit Test for integer hash functions" if !KUNIT_ALL_TESTS
2686 Enable this option to test the kernel's string (<linux/stringhash.h>), and
2691 running the KUnit test harness, and not intended for inclusion into a
2692 production build.
2695 to the KUnit documentation in Documentation/dev-tools/kunit/.
2697 This is intended to help people writing architecture-specific
2701 tristate "KUnit test for resource API" if !KUNIT_ALL_TESTS
2706 This builds the resource API unit test.
2709 to the KUnit documentation in Documentation/dev-tools/kunit/.
2714 tristate "KUnit test for sysctl" if !KUNIT_ALL_TESTS
2718 This builds the proc sysctl unit test, which runs on boot.
2721 to the KUnit documentation in Documentation/dev-tools/kunit/.
2726 tristate "KUnit Test for the generic kernel FIFO implementation" if !KUNIT_ALL_TESTS
2730 This builds the generic FIFO implementation KUnit test suite.
2735 to the KUnit documentation in Documentation/dev-tools/kunit/.
2740 tristate "KUnit Test for Kernel Linked-list structures" if !KUNIT_ALL_TESTS
2744 This builds the linked list KUnit test suite.
2750 running the KUnit test harness, and not intended for inclusion into a
2751 production build.
2754 to the KUnit documentation in Documentation/dev-tools/kunit/.
2759 tristate "KUnit Test for Kernel Hashtable structures" if !KUNIT_ALL_TESTS
2763 This builds the hashtable KUnit test suite.
2767 in Documentation/dev-tools/kunit/.
2772 tristate "KUnit test for linear_ranges"
2776 This builds the linear_ranges unit test, which runs on boot.
2779 to the KUnit documentation in Documentation/dev-tools/kunit/.
2784 tristate "KUnit test for cmdline API" if !KUNIT_ALL_TESTS
2788 This builds the cmdline API unit test.
2791 to the KUnit documentation in Documentation/dev-tools/kunit/.
2796 tristate "KUnit test for bits.h" if !KUNIT_ALL_TESTS
2800 This builds the bits unit test.
2803 to the KUnit documentation in Documentation/dev-tools/kunit/.
2808 tristate "KUnit test for SLUB cache error detection" if !KUNIT_ALL_TESTS
2812 This builds SLUB allocator unit test.
2815 to the KUnit documentation in Documentation/dev-tools/kunit/.
2820 tristate "KUnit test for rational.c" if !KUNIT_ALL_TESTS
2824 This builds the rational math unit test.
2826 to the KUnit documentation in Documentation/dev-tools/kunit/.
2831 tristate "Test memcpy(), memmove(), and memset() functions at runtime" if !KUNIT_ALL_TESTS
2837 to the KUnit documentation in Documentation/dev-tools/kunit/.
2842 tristate "Test is_signed_type() macro" if !KUNIT_ALL_TESTS
2849 to the KUnit documentation in Documentation/dev-tools/kunit/.
2854 tristate "Test check_*_overflow() functions at runtime" if !KUNIT_ALL_TESTS
2862 to the KUnit documentation in Documentation/dev-tools/kunit/.
2867 tristate "Test level of stack variable initialization" if !KUNIT_ALL_TESTS
2871 Test if the kernel is zero-initializing stack variables and
2878 tristate "Test fortified str*() and mem*() function internals at runtime" if !KUNIT_ALL_TESTS
2887 tristate "Test the longest symbol possible" if !KUNIT_ALL_TESTS
2896 bool "Test hw_breakpoint constraints accounting" if !KUNIT_ALL_TESTS
2917 This is intended to help people writing architecture-specific
2924 Include benchmarks in the KUnit test suite for the CRC functions.
2931 Enable this option to test the kernel's siphash (<linux/siphash.h>) hash
2934 This is intended to help people writing architecture-specific
2938 tristate "KUnit Test for user/kernel boundary protections"
2947 tristate "Test blackhole netdev functionality" if !KUNIT_ALL_TESTS
2958 tristate "udelay test driver"
2966 tristate "Test static keys"
2969 Test the static key interfaces.
2974 tristate "Test DYNAMIC_DEBUG"
2994 Test the kernel's module loading mechanism: kmod. kmod implements
2996 This test provides a series of tests against kmod.
2998 Although technically you can either build test_kmod as a module or
3006 tools/testing/selftests/kmod/kmod.sh --help
3017 tristate "module kallsyms find_symbol() test"
3026 This allows us to stress test find_symbol() through the kallsyms
3030 We have four test modules:
3037 We stress test find_symbol() through two means:
3053 Since it has 10 * KALLSYMS_NUMSYMS it means we can first test
3058 then the first test would be doing more and increasing just the
3065 The current defaults will incur a build delay of about 7 minutes
3067 stress test find_symbol() with thousands of symbols. At the same
3068 time this is also useful to test building modules with thousands of
3071 will segfault the build system.
3094 prompt "Kallsym test range"
3098 down the build and may crash your build.
3110 your build considerably.
3121 int "test kallsyms number of symbols"
3132 you are aware that this should not be used for automated build tests.
3135 int "test kallsyms scale factor"
3146 tristate "Test CONFIG_DEBUG_VIRTUAL feature"
3149 Test the kernel's ability to detect incorrect calls to
3150 virt_to_phys() done against the non-linear part of the
3156 tristate "Test memcat_p() helper function"
3158 Test the memcat_p() helper for correctly merging two
3168 Enable this option to test object aggregation manager on boot
3172 tristate "Test heap/page initialization"
3174 Test if the kernel is zero-initializing heap and page allocations.
3175 This can be useful to test init_on_alloc and init_on_free features.
3180 tristate "Test HMM (Heterogeneous Memory Management)"
3187 Say M here if you want to build the HMM test module.
3188 Doing so will allow you to run tools/testing/selftest/vm/hmm-tests.
3193 tristate "Test freeing pages"
3195 Test that a memory leak does not occur due to a race between
3202 tristate "Test floating point operations in kernel space"
3207 for self-testing floating point control register setting in
3213 tristate "Test clocksource watchdog in kernel space"
3217 a test of the clocksource watchdog. This module may be loaded
3225 tristate "Test module for correctness and stress of objpool"
3236 tristate "Integer exponentiation (int_pow) test" if !KUNIT_ALL_TESTS
3240 This option enables the KUnit test suite for the int_pow function,
3241 which performs integer exponentiation. The test suite is designed to
3252 tristate "Integer square root test" if !KUNIT_ALL_TESTS
3256 This option enables the KUnit test suite for the int_sqrt() function,
3257 which performs square root calculation. The test suite checks
3267 tristate "Integer log (int_log) test" if !KUNIT_ALL_TESTS
3271 This option enables the KUnit test suite for the int_log library, which
3278 tristate "Greatest common divisor test" if !KUNIT_ALL_TESTS
3282 This option enables the KUnit test suite for the gcd() function,
3285 This test suite verifies the correctness of gcd() across various
3291 tristate "Prime number generator test" if !KUNIT_ALL_TESTS
3296 This option enables the KUnit test suite for the {is,next}_prime_number
3318 memtest=0, mean disabled; -- default
3319 memtest=1, mean do 1 test pattern;
3321 memtest=17, mean do 17 test patterns.
3327 bool "Microsoft Hyper-V driver testing"
3331 Select this option to enable Hyper-V vmbus testing.
3341 Enables rustc's `-Cdebug-assertions` codegen option.
3357 Enables rustc's `-Coverflow-checks` codegen option.
3360 overflow. When overflow-checks are enabled, a Rust panic will occur
3368 bool "Allow unoptimized build-time assertions"
3371 Controls how `build_error!` and `build_assert!` are handled during the build.
3376 This should not happen, thus by default the build is aborted. However,
3377 as an escape hatch, you can choose Y here to ignore them during build
3392 please refer to the KUnit documentation in Documentation/dev-tools/kunit/.