Lines Matching +full:lock +full:- +full:detect +full:- +full:function +full:- +full:integer +full:- +full:n +full:- +full:enable

1 # SPDX-License-Identifier: GPL-2.0
4 bool "64-bit kernel" if "$(ARCH)" = "x86"
7 Say yes to build a 64-bit kernel - formerly known as x86_64
8 Say no to build a 32-bit kernel - formerly known as i386
13 # Options that are inherently 32-bit kernel only:
27 # Options that are inherently 64-bit kernel only:
49 We keep the static function tracing (!DYNAMIC_FTRACE) around
50 in order to test the non static function tracing in the
58 # ported to 32-bit as well. )
161 # Word-size accesses may read uninitialized data past the trailing \0
343 default "elf32-i386" if X86_32
344 default "elf64-x86-64" if X86_64
438 bool "Symmetric multi-processing support"
441 a system with only one CPU, say N. If you have a system with more
444 If you say N here, the kernel will run on uni- and multiprocessor
448 will run faster if you say N here.
459 See also <file:Documentation/arch/x86/i386/IO-APIC.rst>,
460 <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO available at
463 If you don't know what to do here, say N.
490 bool "Enable MSI and MSI-x delivery by posted interrupts"
498 If you don't know what to do here, say N.
501 bool "Enable MPS table" if ACPI
516 Enable x86 CPU resource control support.
529 Say N if unsure.
541 bool "Support for extended (non-PC) x86 platforms"
548 If you enable this option then you'll be able to select support
549 for the following non-PC x86 platforms, depending on the value of
552 32-bit platforms (CONFIG_64BIT=n):
556 RDC R-321x SoC
558 64-bit platforms (CONFIG_64BIT=y):
566 generic distribution kernel, say Y here - otherwise say N.
579 Adds support for Numascale NumaChip large-SMP systems. Needed to
580 enable more than ~168 cores.
581 If you don't have one of these, you should say N here.
592 supposed to run on these EM64T-based machines. Only choose this option
606 If you don't have one of these, you should say N here.
619 Select to build a kernel capable of supporting 64-bit Intel MID
628 If you are building for a PC class system or non-MID tablet
629 SoCs like Bay Trail (Z36xx/Z37xx), say N here.
638 Enable support for the Goldfish virtual platform used primarily
640 Goldfish emulator say N here.
678 bool "RDC R-321x SoC"
684 This option is needed for RDC R-321x system-on-chip, also known
685 as R-8610-(G).
686 If you don't have one of these chips, you should say N here.
722 - BayTrail
723 - Braswell
724 - Quark
729 bool "Enable IOSF sideband access through debugfs"
739 If you don't require the option or are in doubt, say N.
745 # On 32-bit this adds too big of NODES_SHIFT and we run out of page flags:
746 # On 32-bit SPARSEMEM adds too big of SECTIONS_WIDTH:
761 If unused, say N.
765 prompt "Single-depth WCHAN output"
770 caller function. This provides more accurate wchan values,
778 Say Y here to enable options for running Linux under various hyper-
782 If you say N, all options in this submenu will be skipped and
788 bool "Enable paravirtualization code"
801 bool "paravirt-ops debugging"
804 Enable to debug paravirt_ops internals. Specifically, BUG if
812 spinlock implementation with something virtualization-friendly
821 def_bool n
840 def_bool n
855 Select this option to enable fine granularity task steal time
860 If in doubt, say N here.
866 bool "Jailhouse non-root cell support"
870 This option allows to run Linux as guest in a Jailhouse non-root
880 a flexible, lightweight reference open-source hypervisor, built with
881 real-time and safety-criticality in mind. It is built for embedded
882 IOT with small footprint and real-time features. More details can be
886 bool "Intel TDX (Trust Domain Extensions) - Guest Support"
911 Use the IA-PC HPET (High Precision Event Timer) to manage
917 as it is off-chip. The interface used is documented
924 Choose N to continue using the legacy 8254 timer.
935 bool "Enable DMI scanning" if EXPERT
951 The GART supports full DMA access for devices with 32-bit access
960 32-bit limited device.
971 bool "Enable Maximum number of SMP Processors and NUMA Nodes"
975 Enable maximum number of CPUS and NUMA Nodes for this architecture.
976 If unsure, say N.
985 # The ranges are different on 32-bit and 64-bit kernels, depending on
1045 by sharing mid-level caches, last-level cache tags or internal
1053 prompt "Multi-core scheduler support"
1056 Multi-core scheduler support improves the CPU scheduler's decision
1057 making when dealing with multi-core CPU chips at a cost of slightly
1058 increased overhead in some places. If unsure say N here.
1092 integrated interrupt controller in the CPU. If you have a single-CPU
1094 enable and use it. If you say Y here even though your machine doesn't
1096 all. The local APIC supports CPU-generated self-interrupts (timer,
1101 bool "IO-APIC support on uniprocessors"
1104 An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an
1105 SMP-capable replacement for PC-style interrupt controllers. Most
1108 If you have a single-CPU system with an IO-APIC, you can say Y here
1110 an IO-APIC, then the kernel will still run with no slowdown at all.
1138 entry in the chipset's IO-APIC is masked (as, e.g. the RT
1165 Enable support for /dev/mcelog which is needed by the old mcelog
1203 QA it is safe to say n.
1212 mode, which is an 80286-era approximation of 16-bit real mode.
1220 a 16-bit DOS program where 16-bit performance matters, vm86
1222 enable this option.
1224 Note that any app that works on a 64-bit kernel is unlikely to
1225 need this option, as 64-bit kernels don't, and can't, support
1226 V8086 mode. This option is also unrelated to 16-bit protected
1227 mode and is not needed to run most 16-bit programs under Wine.
1232 If unsure, say N here.
1239 bool "Enable support for 16-bit segments" if EXPERT
1243 This option is required by programs like Wine to run 16-bit
1246 plus 16K runtime memory on x86-64,
1257 bool "Enable vsyscall emulation" if EXPERT
1264 tries to use a vsyscall. With this option set to N, offending
1269 care should be used even with newer programs if set to N.
1306 Say N otherwise.
1309 bool "Enable X86 board specific fixups for reboot"
1319 CS5530A and CS5536 chipsets and the RDC R-321x SoC.
1321 Say Y if you want to enable the fixup. Currently, it's safe to
1322 enable this option even if you don't need it.
1323 Say N otherwise.
1336 default n
1350 default n
1367 tristate "/dev/cpu/*/msr - Model-specific register support"
1370 Model-Specific Registers (MSRs). It is a character device with
1372 MSR accesses are directed to a specific CPU on multi-processor
1376 tristate "/dev/cpu/*/cpuid - CPU information support"
1388 However, the address space of 32-bit x86 processors is only 4
1405 If unsure, say N.
1421 will also likely make your kernel incompatible with binary-only
1459 larger swapspace support for non-overcommit purposes. It
1473 bool "Enable statistic for Change Page Attribute"
1483 def_bool n
1497 Say yes to enable support for the encryption of system memory.
1509 Enable NUMA (Non-Uniform Memory Access) support.
1515 For 64-bit this is recommended if the system is Intel Core i7
1518 Otherwise, you should say N.
1525 Enable AMD NUMA node topology detection. You should say Y here if
1537 Enable ACPI SRAT based node topology detection.
1568 bool "Enable sysfs memory/probe interface"
1572 See Documentation/admin-guide/mm/memory-hotplug.rst for more information.
1573 If you are unsure how to answer this question, answer N.
1588 tristate "Support non-standard NVDIMMs and ADR protected memory"
1595 Treat memory marked using the non-standard e820 type of 12 as used
1596 by the Intel Sandy Bridge-EP reference BIOS as protected memory.
1607 configuration, it is disabled at runtime. Enable it by
1612 Documentation/admin-guide/kernel-parameters.rst to adjust this.
1620 BIOS-originated corruption always affects the same memory,
1654 emulation can be found in <file:arch/x86/math-emu/README>.
1666 a video (VGA) card on a PCI or AGP bus. Enabling write-combining
1680 The AMD K6-2 (stepping 8 and above) and K6-3 processors have two
1682 write-combining. All of these processors are supported by this code
1709 int "MTRR cleanup enable value (0-1)"
1714 Enable mtrr cleanup default value
1717 int "MTRR cleanup spare reg num (0-7)"
1723 mtrr_spare_reg_nr=N on the kernel command line.
1736 Say N here if you see bootup problems (boot crash, boot hang,
1737 spontaneous reboots) or a non-working video driver.
1753 specific cases in protected and virtual-8086 modes. Emulated
1760 # https://github.com/llvm/llvm-project/commit/e0b89df2e0f0130881bf6c39bf31d7f6aac00e0f
1761 # https://github.com/llvm/llvm-project/commit/dfcf69770bc522b9e411c66454934a37c1f35332
1762 def_bool ((CC_IS_GCC && $(cc-option, -fcf-protection=branch -mindirect-branch-register)) || \
1764 $(as-instr,endbr64)
1767 def_bool n
1775 # https://github.com/llvm/llvm-project/commit/9d7001eba9c4cb311e03cd8cdc231f9e579f2d0f
1781 hardware support course-grain forward-edge Control Flow Integrity
1796 # Note: only available in 64-bit mode
1802 page-based protections, but without requiring modification of the
1805 For details, see Documentation/core-api/protection-keys.rst
1814 prompt "TSX enable mode"
1819 allows to optimize locking protocols through lock elision which
1828 Even with TSX enabled, the kernel will attempt to enable the best
1833 and =auto. See Documentation/admin-guide/kernel-parameters.txt for more
1843 TSX is disabled if possible - equals to tsx=off command line parameter.
1848 TSX is always enabled on TSX capable HW - equals the tsx=on command
1855 side channel attacks- equals the tsx=auto command line parameter.
1873 If unsure, say N.
1883 Shadow stack protection is a hardware feature that detects function
1892 If unsure, say N.
1909 If unsure, say N.
1926 resultant kernel should continue to boot on existing non-EFI
1937 See Documentation/admin-guide/efi-stub.rst for more information.
1957 bool "EFI mixed-mode support"
1960 Enabling this feature allows a 64-bit kernel to be booted
1961 on a 32-bit firmware, provided that your CPU supports 64-bit
1964 Note that it is not possible to boot a mixed-mode enabled
1965 kernel via the EFI boot stub - a bootloader that supports
1968 If unsure, say N.
1974 Export EFI runtime memory regions to /sys/firmware/efi/runtime-map.
1978 See also Documentation/ABI/testing/sysfs-firmware-efi-runtime-map.
2029 If the kernel is not relocatable (CONFIG_RELOCATABLE=n) then bzImage
2050 command line boot parameter passed to the panic-ed
2051 kernel. Please take a look at Documentation/admin-guide/kdump/kdump.rst
2093 On 64-bit, the kernel physical and virtual addresses are
2100 On 32-bit, the kernel physical and virtual addresses are
2132 If bootloader loads the kernel at a non-aligned address and
2136 If bootloader loads the kernel at a non-aligned address and
2144 On 32-bit this value must be a multiple of 0x2000. On 64-bit
2187 to 64-bit linear addresses, allowing software to use of the
2198 def_bool n
2203 presented with a 32-bit vDSO that is not mapped at the address
2213 dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!
2216 option from 1 to 0, which turns off the 32-bit vDSO entirely.
2219 If unsure, say N: if you are compiling your own kernel, you
2251 certain uses of the vsyscall area as an ASLR-bypassing
2266 bool "Built-in kernel command line"
2278 Systems with fully functional boot loaders (i.e. non-embedded)
2279 should leave this option set to 'N'.
2282 string "Built-in kernel command string"
2294 In most cases, the command line (whether built-in or provided
2299 bool "Built-in command line overrides boot loader arguments"
2303 command line, and use ONLY the built-in command line.
2306 be set to 'N' under normal conditions.
2309 bool "Enable the LDT (local descriptor table)" if EXPERT
2312 Linux can allow user programs to install a per-process x86
2314 call. This is required to run 16-bit or segmented code such as
2319 context switches and increases the low-level kernel attack
2322 Saying 'N' here may make sense for embedded or server kernels.
2338 Say 'N' unless you want to really enforce this check.
2353 bool "Split Lock Detect and Bus Lock Detect support"
2357 Enable Split Lock Detect and Bus Lock Detect functionalities.
2363 def_bool $(success,echo 'int __seg_fs fs; int __seg_gs gs;' | $(CC) -x c - -S -o /dev/null)
2367 # -fsanitize=kernel-address (KASAN) and -fsanitize=thread (KCSAN)
2382 def_bool $(cc-option,-mharden-sls=all)
2385 def_bool $(cc-option,-mfunction-return=thunk-extern)
2388 def_bool $(cc-option,-fpatchable-function-entry=16,16)
2391 def_bool $(cc-option,-fsanitize=kcfi -fsanitize-kcfi-arity)
2402 # Basically: FUNCTION_ALIGNMENT - 5*CFI_CLANG
2410 def_bool n
2428 def_bool n
2439 Say Y here to enable options which enable mitigations for hardware
2444 If you say N, all mitigations will be disabled. This CANNOT be
2468 kernel-to-user data leaks by avoiding speculative indirect
2469 branches. Requires a compiler with -mindirect-branch=thunk-extern
2473 bool "Enable return-thunks"
2478 Compile the kernel with the return-thunks compiler option to guard
2479 against kernel-to-user data leaks by avoiding return speculation.
2480 Requires a compiler with -mfunction-return=thunk-extern
2484 bool "Enable UNRET on kernel entry"
2498 SKL Return-Stack-Buffer (RSB) underflow issue. The mitigation is off
2500 retbleed=stuff option. For non-affected systems the overhead of this
2501 option is marginal as the call depth tracking is using run-time
2508 bool "Enable call thunks and call depth tracking debugging"
2511 default n
2513 Enable call/ret counters for imbalance detection and build in
2516 kernel command line with 'debug-callthunks'.
2517 Only enable this when you are debugging call thunks as this
2518 creates a noticeable runtime overhead. If unsure say N.
2521 bool "Enable IBPB on kernel entry"
2526 spec_rstack_overflow={ibpb,ibpb-vmexit} mitigations.
2529 bool "Enable IBRS on kernel entry"
2542 Enable the SRSO mitigation needed on AMD Zen1-4 machines.
2545 bool "Mitigate Straight-Line-Speculation"
2548 default n
2550 Compile the kernel with straight-line-speculation options to guard
2559 Enable mitigation for Gather Data Sampling (GDS). GDS is a hardware
2569 Enable mitigation for Register File Data Sampling (RFDS) by default.
2572 stored in floating point, vector and integer registers.
2573 See also <file:Documentation/admin-guide/hw-vuln/reg-file-data-sampling.rst>
2576 bool "Mitigate Spectre-BHB (Branch History Injection)"
2580 Enable BHI mitigations. BHI attacks are a form of Spectre V2 attacks
2583 See <file:Documentation/admin-guide/hw-vuln/spectre.rst>
2590 Enable mitigation for Microarchitectural Data Sampling (MDS). MDS is
2593 See also <file:Documentation/admin-guide/hw-vuln/mds.rst>
2600 Enable mitigation for TSX Asynchronous Abort (TAA). TAA is a hardware
2604 See also <file:Documentation/admin-guide/hw-vuln/tsx_async_abort.rst>
2611 Enable mitigation for MMIO Stale Data hardware bugs. Processor MMIO
2612 Stale Data Vulnerabilities are a class of memory-mapped I/O (MMIO)
2616 <file:Documentation/admin-guide/hw-vuln/processor_mmio_stale_data.rst>
2626 See <file:Documentation/admin-guide/hw-vuln/l1tf.rst
2633 Enable mitigation for RETBleed (Arbitrary Speculative Code Execution
2645 Enable mitigation for Spectre V1 (Bounds Check Bypass). Spectre V1 is a
2649 See also <file:Documentation/admin-guide/hw-vuln/spectre.rst>
2655 Enable mitigation for Spectre V2 (Branch Target Injection). Spectre
2661 See also <file:Documentation/admin-guide/hw-vuln/spectre.rst>
2668 Enable mitigation for Special Register Buffer Data Sampling (SRBDS).
2675 <file:Documentation/admin-guide/hw-vuln/special-register-buffer-data-sampling.rst>
2681 Enable mitigation for Speculative Store Bypass (SSB). SSB is a
2687 bool "Enable Indirect Target Selection mitigation"
2693 Enable Indirect Target Selection (ITS) mitigation. ITS is a bug in
2696 See <file:Documentation/admin-guide/hw-vuln/indirect-target-selection.rst>
2726 battery status information, and user-space programs will receive
2736 and more information, read <file:Documentation/power/apm-acpi.rst>
2737 and the Battery Powered Linux mini-HOWTO, available from
2742 VESA-compliant "green" monitors.
2750 much point in using this driver and you should say N. If you get
2783 compliant APM BIOS, you want to say N. However, on the NEC Versa M
2787 bool "Enable PM at boot time"
2789 Enable APM features at boot time. From page 36 of the APM BIOS
2794 feature is turned off -- see "Do CPU IDLE calls", below). This
2807 Enable calls to APM CPU Idle/CPU Busy inside the kernel's idle loop.
2816 bool "Enable console blanking using APM"
2818 Enable console blanking using the APM. Some laptops can use this to
2823 do with your VESA-compliant power-saving monitor. Further, this
2824 option doesn't work for all laptops -- it might not turn off your
2834 needs to. Unfortunately, some BIOSes do not -- especially those in
2836 suspend, try setting this to Y. Otherwise, say N.
2855 On PCI systems, the BIOS can be used to detect the PCI devices and
2858 PCI-based systems don't have any BIOS at all. Linux can also try to
2859 detect the PCI hardware directly without using the BIOS.
2861 With this option, you can specify how Linux should detect the
2879 bool "OLPC XO-1"
2891 # x86-64 doesn't support PCI BIOS access from long mode so always go direct.
2910 Say N only if you are sure that your platform does not support this
2940 lspci -nn | grep '1166:0009'
2946 You should say N unless you know you need this.
2952 configuration. Enable this option if your target machine has an ISA
2954 architectures -- if your target machine is modern, it probably does
2957 If unsure, say N.
2959 # x86_64 have no ISA slots, but can have ISA-style DMA.
2961 bool "ISA-style DMA support" if (X86_64 && EXPERT)
2964 Enables ISA-style DMA support for devices requiring such controllers.
2976 newer boards don't support it. If you have ISA, say Y, otherwise N.
2983 PCI-IDs of several on-chip devices, so its a good dependency
2989 tristate "NatSemi SCx200 27MHz High-Resolution Timer Support"
2993 This driver provides a clocksource built upon the on-chip
2994 27MHz high-resolution timer. Its also a workaround for
2995 NSC Geode SC-1100's buggy TSC, which loses time when the
3012 bool "OLPC XO-1 Power Management"
3015 Add support for poweroff and suspend of the OLPC XO-1 laptop.
3018 bool "OLPC XO-1 Real Time Clock"
3021 Add support for the XO-1 real time clock, which can be used as a
3025 bool "OLPC XO-1 SCI extras"
3030 Add support for SCI-based features of the OLPC XO-1 laptop:
3031 - EC-driven system wakeups
3032 - Power button
3033 - Ebook switch
3034 - Lid switch
3035 - AC adapter status updates
3036 - Battery status updates
3039 bool "OLPC XO-1.5 SCI extras"
3043 Add support for SCI-based features of the OLPC XO-1.5 laptop:
3044 - EC-driven system wakeups
3045 - AC adapter status updates
3046 - Battery status updates
3061 Note: You must still enable the drivers for GPIO and LED support
3082 bool "Technologic Systems TS-5500 platform support"
3088 This option enables system support for the Technologic Systems TS-5500.
3111 Include code to run legacy 32-bit programs under a
3112 64-bit kernel. You should likely turn this on, unless you're
3113 100% sure that you don't have any 32-bit programs left.
3117 default n
3120 Make IA32 emulation disabled by default. This prevents loading 32-bit
3121 processes and access to 32-bit syscalls. If unsure, leave it to its
3125 bool "x32 ABI for 64-bit mode"
3127 # llvm-objcopy does not convert x86_64 .note.gnu.property or
3131 depends on $(success,$(OBJCOPY) --version | head -n1 | grep -qv llvm)
3133 Include code to run binaries for the x32 native 32-bit ABI
3134 for 64-bit processors. An x32 process gets access to the
3135 full 64-bit register file and wide data path while leaving