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
1123 high-availability systems that have uptime guarantees and
1134 # Global switch whether to build a hardlockup detector at all. It is available
1162 # Note that arch-specific variants are always preferred.
1177 an arch-specific hardlockup detector or if resources needed
1200 The arch-specific implementation of the hardlockup detector will
1250 to determine when a task has become non-responsive and should
1271 high-availability systems that have uptime guarantees and
1299 bool "Report per-cpu work items which hog CPU for too long"
1302 Say Y here to enable reporting of concurrency-managed per-cpu work
1306 them from stalling other per-cpu work items. Occassional
1312 tristate "Test module to generate lockups"
1320 Also it could generate series of lockups with cooling-down periods.
1353 if kernel code uses it in a preemption-unsafe way. Also, the kernel
1394 participant CPUs, tasks and irq-contexts would be needed
1407 and rwsems - in which case all dependencies between these
1412 For more details, see Documentation/locking/lockdep-design.rst.
1415 bool "Enable raw_spinlock - spinlock nesting checks" if !ARCH_SUPPORTS_RT
1453 bool "Spinlock and rw-lock debugging: basic checks"
1457 Say Y here and build SMP to catch missing spinlock initialization
1478 injecting additional -EDEADLK wound/backoff cases. Together with
1480 will test all possible w/w mutex interface abuse with the
1504 memory-freeing routines (kfree(), kmem_cache_free(), free_pages(),
1557 … Try increasing this value if you hit "lockdep bfs error:-1" warning due to __cq_enqueue() failure.
1580 bool "Locking API boot-time self-tests"
1583 Say Y here if you want the kernel to run a short self-test during
1584 bootup. The self-test checks whether common types of locking bugs
1599 Say Y here if you want kernel locking-primitive torture tests
1601 Say M if you want these torture tests to build as a module.
1611 with this test harness.
1613 Say M if you want these self tests to build as a module.
1751 Enable this to turn on extended checks in the linked-list walking
1764 Enable this to turn on extended checks in the priority-ordered
1765 linked-list (plist) walking routines. This checks the entire
1774 Enable this to turn on checks on scatter-gather tables. This can
1812 bool "Force round-robin CPU selection for unbound work items"
1821 round-robin CPU selection to flush out usages which depend on the
1890 in charge of the OHCI-1394 controllers should be used instead.
1892 See Documentation/core-api/debugging-via-ohci1394.rst for more information.
1903 default y if PPC || X86 || ARM64 || S390
1924 io-memory regardless of whether a driver is actively using that
1929 userspace access to *idle* io-memory ranges (see /proc/iomem) This
1951 specified notifier chain callbacks. It is useful to test the error
1963 interface /sys/kernel/debug/notifier-error-inject/pm
1968 Example: Inject PM suspend error (-12 = -ENOMEM)
1970 # cd /sys/kernel/debug/notifier-error-inject/pm/
1971 # echo -12 > actions/PM_SUSPEND_PREPARE/error
1976 be called pm-notifier-error-inject.
1987 /sys/kernel/debug/notifier-error-inject/OF-reconfig/
1993 be called of-reconfig-notifier-error-inject.
2003 interface /sys/kernel/debug/notifier-error-inject/netdev
2008 Example: Inject netdevice mtu change error (-22 = -EINVAL)
2010 # cd /sys/kernel/debug/notifier-error-inject/netdev
2011 # echo -22 > actions/NETDEV_CHANGEMTU/error
2016 be called netdev-notifier-error-inject.
2021 bool "Fault-injections of functions"
2026 value of these functions. This is useful to test error paths of code.
2031 bool "Fault-injection framework"
2034 Provide fault-injection framework.
2035 For more details, see Documentation/fault-injection/.
2038 bool "Fault-injection capability for kmalloc"
2041 Provide fault-injection capability for kmalloc.
2044 bool "Fault-injection capability for alloc_pages()"
2047 Provide fault-injection capability for alloc_pages().
2053 Provides fault-injection capability to inject failures
2057 bool "Fault-injection capability for disk IO"
2060 Provide fault-injection capability for disk IO.
2063 bool "Fault-injection capability for faking disk interrupts"
2066 Provide fault-injection capability on end IO handling. This
2074 bool "Fault-injection capability for futexes"
2078 Provide fault-injection capability for futexes.
2081 bool "Debugfs entries for fault-injection capabilities"
2084 Enable configuration of fault-injection capabilities via debugfs.
2087 bool "Fault-injection capability for functions"
2090 Provide function-based fault-injection capability.
2093 an error value and have to handle it. This is useful to test the
2097 bool "Fault-injection capability for MMC IO"
2100 Provide fault-injection capability for MMC IO.
2102 useful to test the error handling in the mmc block device
2103 and to test how the mmc host driver handles retries from
2107 bool "Fault-injection capability for SunRPC"
2110 Provide fault-injection capability for SunRPC and
2114 bool "Fault-injection capability forcing skb to reallocate"
2117 Provide fault-injection capability that forces the skb to be
2121 Documentation/fault-injection/fault-injection.rst
2124 bool "Configfs interface for fault-injection capabilities"
2128 This option allows configfs-based drivers to dynamically configure
2129 fault-injection via configfs. Each parameter for driver-specific
2130 fault-injection can be made visible as a configfs attribute in a
2135 bool "stacktrace filter for fault-injection capabilities"
2141 Provide stacktrace filter for fault-injection capabilities
2147 build and run with CONFIG_KCOV. This typically requires
2159 for coverage-guided fuzzing (randomized testing).
2161 For more details, see Documentation/dev-tools/kcov.rst.
2166 depends on $(cc-option,-fsanitize-coverage=trace-cmp)
2189 KCOV uses preallocated per-cpu areas to collect coverage from
2198 On test failure, causes the kernel to panic. Recommended to be
2208 tristate "Dhrystone benchmark test"
2210 Enable this to include the Dhrystone 2.1 benchmark. This test
2217 the kernel command line (when built-in), or from userspace (when
2218 built-in or modular).
2236 If the number of iterations is <= 0, the test will devise a suitable
2237 number of iterations (test runs for at least 2s) automatically.
2243 tristate "Linux Kernel Dump Test Tool Module"
2253 Documentation/fault-injection/provoke-crashes.rst
2256 tristate "KUnit test for cpumask" if !KUNIT_ALL_TESTS
2263 to the KUnit documentation in Documentation/dev-tools/kunit/.
2268 tristate "Linked list sorting test" if !KUNIT_ALL_TESTS
2272 Enable this to turn on 'list_sort()' function test. This test is
2279 tristate "Min heap test"
2282 Enable this to turn on min heap function tests. This test is
2289 tristate "Array-based sort test" if !KUNIT_ALL_TESTS
2293 This option enables the self-test function of 'sort()' at boot,
2299 tristate "64bit/32bit division and modulo test"
2302 Enable this to turn on 'do_div()' function test. This test is
2309 tristate "mul_u64_u64_div_u64() test"
2312 Enable this to turn on 'mul_u64_u64_div_u64()' function test.
2313 This test is executed only once during system boot (so affects
2319 tristate "Test iov_iter operation" if !KUNIT_ALL_TESTS
2325 (iov_iter). This test is executed only once during system boot (so
2345 bool "Self test for fprobe"
2357 tristate "Self test for the backtrace code"
2360 This option provides a kernel module that can be used to test
2365 Note that if you want to also test saved backtraces, you will
2371 tristate "Self test for reference tracker"
2381 tristate "Red-Black tree test"
2388 tristate "Reed-Solomon library test"
2394 This option enables the self-test function of rslib at boot,
2400 tristate "Interval tree test"
2407 tristate "Per cpu operations test"
2410 Enable this option to build test module which validates per-cpu
2416 tristate "Perform an atomic64_t self-test"
2418 Enable this option to test the atomic64_t functions at boot or
2424 tristate "Self test for hardware accelerated raid6 recovery"
2428 This is a one-shot self test that permutes through the
2430 N-disk array. Recovery is performed with the asynchronous
2437 tristate "Test functions located in the hexdump module at runtime"
2440 tristate "KUnit test printf() family of functions at runtime" if !KUNIT_ALL_TESTS
2444 Enable this option to test the printf functions at runtime.
2449 tristate "KUnit test scanf() family of functions at runtime" if !KUNIT_ALL_TESTS
2453 Enable this option to test the scanf functions at runtime.
2458 tristate "KUnit test for seq_buf" if !KUNIT_ALL_TESTS
2467 tristate "KUnit test string functions at runtime" if !KUNIT_ALL_TESTS
2472 tristate "KUnit test string helpers at runtime" if !KUNIT_ALL_TESTS
2477 tristate "KUnit test ffs-family functions at runtime" if !KUNIT_ALL_TESTS
2481 This builds KUnit tests for ffs-family bit manipulation functions
2485 and cross-architecture consistency of bit scanning functions.
2488 please refer to Documentation/dev-tools/kunit/.
2491 tristate "Test kstrto*() family of functions at runtime"
2494 tristate "Test bitmap_*() family of functions at runtime"
2496 Enable this option to test the bitmap functions at boot.
2501 tristate "Test functions located in the uuid module at runtime"
2504 tristate "Test the XArray code at runtime"
2507 tristate "Test the Maple Tree code at runtime or module load"
2509 Enable this option to test the maple tree code functions at boot, or
2518 Enable this option to test the rhashtable functions at boot.
2526 bool "miscdevice KUnit test" if !KUNIT_ALL_TESTS
2530 Kunit test for miscdevice API, specially its behavior in respect to
2535 running the KUnit test harness, and not intended for inclusion into a
2536 production build.
2539 to the KUnit documentation in Documentation/dev-tools/kunit/.
2547 Enable this option to test priority array manager on boot
2556 Enable this option to test the irq timings code on boot.
2561 tristate "Test module loading with 'hello world' module"
2574 tristate "Test module for compilation of bitops operations"
2579 no compiler warnings from C=1 sparse checker or -Wextra
2586 tristate "Test module for stress/performance analysis of vmalloc allocator"
2598 tristate "Test BPF filter functionality"
2601 This builds the "test_bpf" module that runs various test vectors
2605 the interpreter code. It also enables test stubs for eBPF maps and
2611 tristate "Test find_bit functions"
2619 tristate "Test find_bit functions in Rust"
2632 tristate "Test firmware loading via userspace interface"
2638 actual firmware-using device. The contents can be rechecked by
2644 tristate "sysctl test driver"
2647 This builds the "test_sysctl" module. This driver enables to test the
2654 tristate "KUnit test bitfield functions at runtime" if !KUNIT_ALL_TESTS
2658 Enable this option to test the bitfield functions at boot.
2662 running the KUnit test harness, and not intended for inclusion into a
2663 production build.
2666 to the KUnit documentation in Documentation/dev-tools/kunit/.
2671 tristate "KUnit test checksum functions at runtime" if !KUNIT_ALL_TESTS
2675 Enable this option to test the checksum functions at boot.
2679 running the KUnit test harness, and not intended for inclusion into a
2680 production build.
2683 to the KUnit documentation in Documentation/dev-tools/kunit/.
2688 tristate "KUnit test util_macros.h functions at runtime" if !KUNIT_ALL_TESTS
2692 Enable this option to test the util_macros.h function at boot.
2696 running the KUnit test harness, and not intended for inclusion into a
2697 production build.
2700 to the KUnit documentation in Documentation/dev-tools/kunit/.
2705 tristate "KUnit Test for integer hash functions" if !KUNIT_ALL_TESTS
2709 Enable this option to test the kernel's string (<linux/stringhash.h>), and
2714 running the KUnit test harness, and not intended for inclusion into a
2715 production build.
2718 to the KUnit documentation in Documentation/dev-tools/kunit/.
2720 This is intended to help people writing architecture-specific
2724 tristate "KUnit test for resource API" if !KUNIT_ALL_TESTS
2729 This builds the resource API unit test.
2732 to the KUnit documentation in Documentation/dev-tools/kunit/.
2737 tristate "KUnit test for sysctl" if !KUNIT_ALL_TESTS
2741 This builds the proc sysctl unit test, which runs on boot.
2744 to the KUnit documentation in Documentation/dev-tools/kunit/.
2749 tristate "KUnit Test for the generic kernel FIFO implementation" if !KUNIT_ALL_TESTS
2753 This builds the generic FIFO implementation KUnit test suite.
2758 to the KUnit documentation in Documentation/dev-tools/kunit/.
2763 tristate "KUnit Test for Kernel Linked-list structures" if !KUNIT_ALL_TESTS
2767 This builds the linked list KUnit test suite.
2773 running the KUnit test harness, and not intended for inclusion into a
2774 production build.
2777 to the KUnit documentation in Documentation/dev-tools/kunit/.
2782 tristate "KUnit Test for Kernel Hashtable structures" if !KUNIT_ALL_TESTS
2786 This builds the hashtable KUnit test suite.
2790 in Documentation/dev-tools/kunit/.
2795 tristate "KUnit test for linear_ranges"
2799 This builds the linear_ranges unit test, which runs on boot.
2802 to the KUnit documentation in Documentation/dev-tools/kunit/.
2807 tristate "KUnit test for cmdline API" if !KUNIT_ALL_TESTS
2811 This builds the cmdline API unit test.
2814 to the KUnit documentation in Documentation/dev-tools/kunit/.
2819 tristate "KUnit test for bits.h" if !KUNIT_ALL_TESTS
2823 This builds the bits unit test.
2826 to the KUnit documentation in Documentation/dev-tools/kunit/.
2831 tristate "KUnit test for SLUB cache error detection" if !KUNIT_ALL_TESTS
2835 This builds SLUB allocator unit test.
2838 to the KUnit documentation in Documentation/dev-tools/kunit/.
2843 tristate "KUnit test for rational.c" if !KUNIT_ALL_TESTS
2847 This builds the rational math unit test.
2849 to the KUnit documentation in Documentation/dev-tools/kunit/.
2854 tristate "Test memcpy(), memmove(), and memset() functions at runtime" if !KUNIT_ALL_TESTS
2860 to the KUnit documentation in Documentation/dev-tools/kunit/.
2865 tristate "Test is_signed_type() macro" if !KUNIT_ALL_TESTS
2872 to the KUnit documentation in Documentation/dev-tools/kunit/.
2877 tristate "Test check_*_overflow() functions at runtime" if !KUNIT_ALL_TESTS
2885 to the KUnit documentation in Documentation/dev-tools/kunit/.
2890 tristate "Test randstruct structure layout randomization at runtime" if !KUNIT_ALL_TESTS
2898 tristate "Test level of stack variable initialization" if !KUNIT_ALL_TESTS
2902 Test if the kernel is zero-initializing stack variables and
2907 tristate "Test fortified str*() and mem*() function internals at runtime" if !KUNIT_ALL_TESTS
2916 tristate "Test the longest symbol possible" if !KUNIT_ALL_TESTS
2926 bool "Test hw_breakpoint constraints accounting" if !KUNIT_ALL_TESTS
2940 Enable this option to test the kernel's siphash (<linux/siphash.h>) hash
2943 This is intended to help people writing architecture-specific
2947 tristate "KUnit Test for user/kernel boundary protections"
2956 tristate "Test blackhole netdev functionality" if !KUNIT_ALL_TESTS
2967 tristate "udelay test driver"
2975 tristate "Test static keys"
2978 Test the static key interfaces.
2983 tristate "Test DYNAMIC_DEBUG"
2997 Test the kernel's module loading mechanism: kmod. kmod implements
2999 This test provides a series of tests against kmod.
3001 Although technically you can either build test_kmod as a module or
3009 tools/testing/selftests/kmod/kmod.sh --help
3020 tristate "module kallsyms find_symbol() test"
3029 This allows us to stress test find_symbol() through the kallsyms
3033 We have four test modules:
3040 We stress test find_symbol() through two means:
3056 Since it has 10 * KALLSYMS_NUMSYMS it means we can first test
3061 then the first test would be doing more and increasing just the
3068 The current defaults will incur a build delay of about 7 minutes
3070 stress test find_symbol() with thousands of symbols. At the same
3071 time this is also useful to test building modules with thousands of
3074 will segfault the build system.
3097 prompt "Kallsym test range"
3101 down the build and may crash your build.
3113 your build considerably.
3124 int "test kallsyms number of symbols"
3135 you are aware that this should not be used for automated build tests.
3138 int "test kallsyms scale factor"
3149 tristate "Test CONFIG_DEBUG_VIRTUAL feature"
3152 Test the kernel's ability to detect incorrect calls to
3153 virt_to_phys() done against the non-linear part of the
3159 tristate "Test memcat_p() helper function"
3161 Test the memcat_p() helper for correctly merging two
3171 Enable this option to test object aggregation manager on boot
3175 tristate "Test heap/page initialization"
3177 Test if the kernel is zero-initializing heap and page allocations.
3178 This can be useful to test init_on_alloc and init_on_free features.
3183 tristate "Test HMM (Heterogeneous Memory Management)"
3190 Say M here if you want to build the HMM test module.
3191 Doing so will allow you to run tools/testing/selftest/vm/hmm-tests.
3196 tristate "Test freeing pages"
3198 Test that a memory leak does not occur due to a race between
3205 tristate "Test floating point operations in kernel space"
3210 for self-testing floating point control register setting in
3216 tristate "Test clocksource watchdog in kernel space"
3220 a test of the clocksource watchdog. This module may be loaded
3228 tristate "Test module for correctness and stress of objpool"
3239 bool "Test for Kexec HandOver"
3243 This option enables test for Kexec HandOver (KHO).
3244 The test consists of two parts: saving kernel data before kexec and
3246 handed over. This test module creates and saves data on the boot of
3250 For detailed documentation about KHO, see Documentation/core-api/kho.
3252 To run the test run:
3254 tools/testing/selftests/kho/vmtest.sh -h
3259 tristate "KUnit Test for correctness and stress of ratelimit" if !KUNIT_ALL_TESTS
3270 tristate "Integer exponentiation (int_pow) test" if !KUNIT_ALL_TESTS
3274 This option enables the KUnit test suite for the int_pow function,
3275 which performs integer exponentiation. The test suite is designed to
3286 tristate "Integer square root test" if !KUNIT_ALL_TESTS
3290 This option enables the KUnit test suite for the int_sqrt() function,
3291 which performs square root calculation. The test suite checks
3301 tristate "Integer log (int_log) test" if !KUNIT_ALL_TESTS
3305 This option enables the KUnit test suite for the int_log library, which
3312 tristate "Greatest common divisor test" if !KUNIT_ALL_TESTS
3316 This option enables the KUnit test suite for the gcd() function,
3319 This test suite verifies the correctness of gcd() across various
3325 tristate "Prime number generator test" if !KUNIT_ALL_TESTS
3330 This option enables the KUnit test suite for the {is,next}_prime_number
3352 memtest=0, mean disabled; -- default
3353 memtest=1, mean do 1 test pattern;
3355 memtest=17, mean do 17 test patterns.
3361 bool "Microsoft Hyper-V driver testing"
3365 Select this option to enable Hyper-V vmbus testing.
3375 Enables rustc's `-Cdebug-assertions` codegen option.
3391 Enables rustc's `-Coverflow-checks` codegen option.
3394 overflow. When overflow-checks are enabled, a Rust panic will occur
3402 bool "Allow unoptimized build-time assertions"
3405 Controls how `build_error!` and `build_assert!` are handled during the build.
3410 This should not happen, thus by default the build is aborted. However,
3411 as an escape hatch, you can choose Y here to ignore them during build
3426 please refer to the KUnit documentation in Documentation/dev-tools/kunit/.