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:
26 # Options that are inherently 64-bit kernel only:
47 We keep the static function tracing (!DYNAMIC_FTRACE) around
48 in order to test the non static function tracing in the
56 # ported to 32-bit as well. )
158 # Word-size accesses may read uninitialized data past the trailing \0
342 default "elf32-i386" if X86_32
343 default "elf64-x86-64" if X86_64
433 bool "Symmetric multi-processing support"
436 a system with only one CPU, say N. If you have a system with more
439 If you say N here, the kernel will run on uni- and multiprocessor
443 will run faster if you say N here.
454 See also <file:Documentation/arch/x86/i386/IO-APIC.rst>,
455 <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO available at
458 If you don't know what to do here, say N.
488 Enable this to get AMD Secure AVIC support on guests that have this feature.
491 APIC accesses and support for managing guest owned APIC state for SEV-SNP
495 If you don't know what to do here, say N.
498 bool "Enable MSI and MSI-x delivery by posted interrupts"
506 If you don't know what to do here, say N.
509 bool "Enable MPS table" if ACPI
524 Enable x86 CPU resource control support.
537 Say N if unsure.
549 bool "Support for extended (non-PC) x86 platforms"
556 If you enable this option then you'll be able to select support
557 for the following non-PC x86 platforms, depending on the value of
560 32-bit platforms (CONFIG_64BIT=n):
564 RDC R-321x SoC
566 64-bit platforms (CONFIG_64BIT=y):
574 generic distribution kernel, say Y here - otherwise say N.
587 Adds support for Numascale NumaChip large-SMP systems. Needed to
588 enable more than ~168 cores.
589 If you don't have one of these, you should say N here.
600 supposed to run on these EM64T-based machines. Only choose this option
614 If you don't have one of these, you should say N here.
627 Select to build a kernel capable of supporting 64-bit Intel MID
636 If you are building for a PC class system or non-MID tablet
637 SoCs like Bay Trail (Z36xx/Z37xx), say N here.
646 Enable support for the Goldfish virtual platform used primarily
648 Goldfish emulator say N here.
686 bool "RDC R-321x SoC"
692 This option is needed for RDC R-321x system-on-chip, also known
693 as R-8610-(G).
694 If you don't have one of these chips, you should say N here.
730 - BayTrail
731 - Braswell
732 - Quark
737 bool "Enable IOSF sideband access through debugfs"
747 If you don't require the option or are in doubt, say N.
753 # On 32-bit this adds too big of NODES_SHIFT and we run out of page flags:
754 # On 32-bit SPARSEMEM adds too big of SECTIONS_WIDTH:
769 If unused, say N.
773 prompt "Single-depth WCHAN output"
778 caller function. This provides more accurate wchan values,
786 Say Y here to enable options for running Linux under various hyper-
790 If you say N, all options in this submenu will be skipped and
796 bool "Enable paravirtualization code"
809 bool "paravirt-ops debugging"
812 Enable to debug paravirt_ops internals. Specifically, BUG if
820 spinlock implementation with something virtualization-friendly
829 def_bool n
848 def_bool n
863 Select this option to enable fine granularity task steal time
868 If in doubt, say N here.
874 bool "Jailhouse non-root cell support"
878 This option allows to run Linux as guest in a Jailhouse non-root
888 a flexible, lightweight reference open-source hypervisor, built with
889 real-time and safety-criticality in mind. It is built for embedded
890 IOT with small footprint and real-time features. More details can be
903 bool "Intel TDX (Trust Domain Extensions) - Guest Support"
928 Use the IA-PC HPET (High Precision Event Timer) to manage
934 as it is off-chip. The interface used is documented
941 Choose N to continue using the legacy 8254 timer.
952 bool "Enable DMI scanning" if EXPERT
968 The GART supports full DMA access for devices with 32-bit access
977 32-bit limited device.
988 bool "Enable Maximum number of SMP Processors and NUMA Nodes"
992 Enable maximum number of CPUS and NUMA Nodes for this architecture.
993 If unsure, say N.
1002 # The ranges are different on 32-bit and 64-bit kernels, depending on
1086 integrated interrupt controller in the CPU. If you have a single-CPU
1088 enable and use it. If you say Y here even though your machine doesn't
1090 all. The local APIC supports CPU-generated self-interrupts (timer,
1095 bool "IO-APIC support on uniprocessors"
1098 An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an
1099 SMP-capable replacement for PC-style interrupt controllers. Most
1102 If you have a single-CPU system with an IO-APIC, you can say Y here
1104 an IO-APIC, then the kernel will still run with no slowdown at all.
1132 entry in the chipset's IO-APIC is masked (as, e.g. the RT
1159 Enable support for /dev/mcelog which is needed by the old mcelog
1197 QA it is safe to say n.
1206 mode, which is an 80286-era approximation of 16-bit real mode.
1214 a 16-bit DOS program where 16-bit performance matters, vm86
1216 enable this option.
1218 Note that any app that works on a 64-bit kernel is unlikely to
1219 need this option, as 64-bit kernels don't, and can't, support
1220 V8086 mode. This option is also unrelated to 16-bit protected
1221 mode and is not needed to run most 16-bit programs under Wine.
1226 If unsure, say N here.
1233 bool "Enable support for 16-bit segments" if EXPERT
1237 This option is required by programs like Wine to run 16-bit
1240 plus 16K runtime memory on x86-64,
1251 bool "Enable vsyscall emulation" if EXPERT
1258 tries to use a vsyscall. With this option set to N, offending
1263 care should be used even with newer programs if set to N.
1300 Say N otherwise.
1303 bool "Enable X86 board specific fixups for reboot"
1313 CS5530A and CS5536 chipsets and the RDC R-321x SoC.
1315 Say Y if you want to enable the fixup. Currently, it's safe to
1316 enable this option even if you don't need it.
1317 Say N otherwise.
1330 default n
1344 default n
1361 bool "Enable microcode loader debugging"
1362 default n
1365 Enable code which allows for debugging the microcode loader in
1370 You almost certainly want to say n here.
1373 tristate "/dev/cpu/*/msr - Model-specific register support"
1376 Model-Specific Registers (MSRs). It is a character device with
1378 MSR accesses are directed to a specific CPU on multi-processor
1382 tristate "/dev/cpu/*/cpuid - CPU information support"
1394 However, the address space of 32-bit x86 processors is only 4
1411 If unsure, say N.
1427 will also likely make your kernel incompatible with binary-only
1465 larger swapspace support for non-overcommit purposes. It
1479 bool "Enable statistic for Change Page Attribute"
1489 def_bool n
1503 Say yes to enable support for the encryption of system memory.
1515 Enable NUMA (Non-Uniform Memory Access) support.
1521 For 64-bit this is recommended if the system is Intel Core i7
1524 Otherwise, you should say N.
1531 Enable AMD NUMA node topology detection. You should say Y here if
1543 Enable ACPI SRAT based node topology detection.
1573 bool "Enable sysfs memory/probe interface"
1577 See Documentation/admin-guide/mm/memory-hotplug.rst for more information.
1578 If you are unsure how to answer this question, answer N.
1593 tristate "Support non-standard NVDIMMs and ADR protected memory"
1600 Treat memory marked using the non-standard e820 type of 12 as used
1601 by the Intel Sandy Bridge-EP reference BIOS as protected memory.
1612 configuration, it is disabled at runtime. Enable it by
1617 Documentation/admin-guide/kernel-parameters.rst to adjust this.
1625 BIOS-originated corruption always affects the same memory,
1659 emulation can be found in <file:arch/x86/math-emu/README>.
1671 a video (VGA) card on a PCI or AGP bus. Enabling write-combining
1685 The AMD K6-2 (stepping 8 and above) and K6-3 processors have two
1687 write-combining. All of these processors are supported by this code
1714 int "MTRR cleanup enable value (0-1)"
1719 Enable mtrr cleanup default value
1722 int "MTRR cleanup spare reg num (0-7)"
1728 mtrr_spare_reg_nr=N on the kernel command line.
1741 Say N here if you see bootup problems (boot crash, boot hang,
1742 spontaneous reboots) or a non-working video driver.
1758 specific cases in protected and virtual-8086 modes. Emulated
1764 …def_bool ((CC_IS_GCC && $(cc-option, -fcf-protection=branch -mindirect-branch-register)) || CC_IS_…
1765 $(as-instr,endbr64)
1768 def_bool n
1780 hardware support course-grain forward-edge Control Flow Integrity
1795 # Note: only available in 64-bit mode
1801 page-based protections, but without requiring modification of the
1804 For details, see Documentation/core-api/protection-keys.rst
1813 prompt "TSX enable mode"
1818 allows to optimize locking protocols through lock elision which
1827 Even with TSX enabled, the kernel will attempt to enable the best
1832 and =auto. See Documentation/admin-guide/kernel-parameters.txt for more
1842 TSX is disabled if possible - equals to tsx=off command line parameter.
1847 TSX is always enabled on TSX capable HW - equals the tsx=on command
1854 side channel attacks- equals the tsx=auto command line parameter.
1872 If unsure, say N.
1882 Shadow stack protection is a hardware feature that detects function
1891 If unsure, say N.
1907 If unsure, say N.
1924 resultant kernel should continue to boot on existing non-EFI
1935 See Documentation/admin-guide/efi-stub.rst for more information.
1955 bool "EFI mixed-mode support"
1958 Enabling this feature allows a 64-bit kernel to be booted
1959 on a 32-bit firmware, provided that your CPU supports 64-bit
1962 Note that it is not possible to boot a mixed-mode enabled
1963 kernel via the EFI boot stub - a bootloader that supports
1966 If unsure, say N.
1972 Export EFI runtime memory regions to /sys/firmware/efi/runtime-map.
1976 See also Documentation/ABI/testing/sysfs-firmware-efi-runtime-map.
2027 If the kernel is not relocatable (CONFIG_RELOCATABLE=n) then bzImage
2048 command line boot parameter passed to the panic-ed
2049 kernel. Please take a look at Documentation/admin-guide/kdump/kdump.rst
2091 On 64-bit, the kernel physical and virtual addresses are
2098 On 32-bit, the kernel physical and virtual addresses are
2130 If bootloader loads the kernel at a non-aligned address and
2134 If bootloader loads the kernel at a non-aligned address and
2142 On 32-bit this value must be a multiple of 0x2000. On 64-bit
2185 to 64-bit linear addresses, allowing software to use of the
2196 def_bool n
2201 presented with a 32-bit vDSO that is not mapped at the address
2211 dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!
2214 option from 1 to 0, which turns off the 32-bit vDSO entirely.
2217 If unsure, say N: if you are compiling your own kernel, you
2249 certain uses of the vsyscall area as an ASLR-bypassing
2264 bool "Built-in kernel command line"
2276 Systems with fully functional boot loaders (i.e. non-embedded)
2277 should leave this option set to 'N'.
2280 string "Built-in kernel command string"
2292 In most cases, the command line (whether built-in or provided
2297 bool "Built-in command line overrides boot loader arguments"
2301 command line, and use ONLY the built-in command line.
2304 be set to 'N' under normal conditions.
2307 bool "Enable the LDT (local descriptor table)" if EXPERT
2310 Linux can allow user programs to install a per-process x86
2312 call. This is required to run 16-bit or segmented code such as
2317 context switches and increases the low-level kernel attack
2320 Saying 'N' here may make sense for embedded or server kernels.
2336 Say 'N' unless you want to really enforce this check.
2351 bool "Split Lock Detect and Bus Lock Detect support"
2355 Enable Split Lock Detect and Bus Lock Detect functionalities.
2361 def_bool $(success,echo 'int __seg_fs fs; int __seg_gs gs;' | $(CC) -x c - -S -o /dev/null)
2365 # -fsanitize=kernel-address (KASAN) and -fsanitize=thread (KCSAN)
2380 def_bool $(cc-option,-mharden-sls=all)
2383 def_bool $(cc-option,-mfunction-return=thunk-extern)
2386 def_bool $(cc-option,-fpatchable-function-entry=16,16)
2389 def_bool $(cc-option,-fsanitize=kcfi -fsanitize-kcfi-arity)
2400 # Basically: FUNCTION_ALIGNMENT - 5*CFI
2408 def_bool n
2426 def_bool n
2437 Say Y here to enable options which enable mitigations for hardware
2442 If you say N, all mitigations will be disabled. This CANNOT be
2466 kernel-to-user data leaks by avoiding speculative indirect
2467 branches. Requires a compiler with -mindirect-branch=thunk-extern
2471 bool "Enable return-thunks"
2476 Compile the kernel with the return-thunks compiler option to guard
2477 against kernel-to-user data leaks by avoiding return speculation.
2478 Requires a compiler with -mfunction-return=thunk-extern
2482 bool "Enable UNRET on kernel entry"
2496 SKL Return-Stack-Buffer (RSB) underflow issue. The mitigation is off
2498 retbleed=stuff option. For non-affected systems the overhead of this
2499 option is marginal as the call depth tracking is using run-time
2506 bool "Enable call thunks and call depth tracking debugging"
2509 default n
2511 Enable call/ret counters for imbalance detection and build in
2514 kernel command line with 'debug-callthunks'.
2515 Only enable this when you are debugging call thunks as this
2516 creates a noticeable runtime overhead. If unsure say N.
2519 bool "Enable IBPB on kernel entry"
2524 spec_rstack_overflow={ibpb,ibpb-vmexit} mitigations.
2527 bool "Enable IBRS on kernel entry"
2540 Enable the SRSO mitigation needed on AMD Zen1-4 machines.
2543 bool "Mitigate Straight-Line-Speculation"
2546 default n
2548 Compile the kernel with straight-line-speculation options to guard
2557 Enable mitigation for Gather Data Sampling (GDS). GDS is a hardware
2567 Enable mitigation for Register File Data Sampling (RFDS) by default.
2570 stored in floating point, vector and integer registers.
2571 See also <file:Documentation/admin-guide/hw-vuln/reg-file-data-sampling.rst>
2574 bool "Mitigate Spectre-BHB (Branch History Injection)"
2578 Enable BHI mitigations. BHI attacks are a form of Spectre V2 attacks
2581 See <file:Documentation/admin-guide/hw-vuln/spectre.rst>
2588 Enable mitigation for Microarchitectural Data Sampling (MDS). MDS is
2591 See also <file:Documentation/admin-guide/hw-vuln/mds.rst>
2598 Enable mitigation for TSX Asynchronous Abort (TAA). TAA is a hardware
2602 See also <file:Documentation/admin-guide/hw-vuln/tsx_async_abort.rst>
2609 Enable mitigation for MMIO Stale Data hardware bugs. Processor MMIO
2610 Stale Data Vulnerabilities are a class of memory-mapped I/O (MMIO)
2614 <file:Documentation/admin-guide/hw-vuln/processor_mmio_stale_data.rst>
2624 See <file:Documentation/admin-guide/hw-vuln/l1tf.rst
2631 Enable mitigation for RETBleed (Arbitrary Speculative Code Execution
2643 Enable mitigation for Spectre V1 (Bounds Check Bypass). Spectre V1 is a
2647 See also <file:Documentation/admin-guide/hw-vuln/spectre.rst>
2653 Enable mitigation for Spectre V2 (Branch Target Injection). Spectre
2659 See also <file:Documentation/admin-guide/hw-vuln/spectre.rst>
2666 Enable mitigation for Special Register Buffer Data Sampling (SRBDS).
2673 <file:Documentation/admin-guide/hw-vuln/special-register-buffer-data-sampling.rst>
2679 Enable mitigation for Speculative Store Bypass (SSB). SSB is a
2685 bool "Enable Indirect Target Selection mitigation"
2691 Enable Indirect Target Selection (ITS) mitigation. ITS is a bug in
2694 See <file:Documentation/admin-guide/hw-vuln/indirect-target-selection.rst>
2701 Enable mitigation for Transient Scheduler Attacks. TSA is a hardware
2711 Enable mitigation for VMSCAPE attacks. VMSCAPE is a hardware security
2742 battery status information, and user-space programs will receive
2752 and more information, read <file:Documentation/power/apm-acpi.rst>
2753 and the Battery Powered Linux mini-HOWTO, available from
2758 VESA-compliant "green" monitors.
2766 much point in using this driver and you should say N. If you get
2799 compliant APM BIOS, you want to say N. However, on the NEC Versa M
2803 bool "Enable PM at boot time"
2805 Enable APM features at boot time. From page 36 of the APM BIOS
2810 feature is turned off -- see "Do CPU IDLE calls", below). This
2823 Enable calls to APM CPU Idle/CPU Busy inside the kernel's idle loop.
2832 bool "Enable console blanking using APM"
2834 Enable console blanking using the APM. Some laptops can use this to
2839 do with your VESA-compliant power-saving monitor. Further, this
2840 option doesn't work for all laptops -- it might not turn off your
2850 needs to. Unfortunately, some BIOSes do not -- especially those in
2852 suspend, try setting this to Y. Otherwise, say N.
2871 On PCI systems, the BIOS can be used to detect the PCI devices and
2874 PCI-based systems don't have any BIOS at all. Linux can also try to
2875 detect the PCI hardware directly without using the BIOS.
2877 With this option, you can specify how Linux should detect the
2895 bool "OLPC XO-1"
2907 # x86-64 doesn't support PCI BIOS access from long mode so always go direct.
2926 Say N only if you are sure that your platform does not support this
2956 lspci -nn | grep '1166:0009'
2962 You should say N unless you know you need this.
2968 configuration. Enable this option if your target machine has an ISA
2970 architectures -- if your target machine is modern, it probably does
2973 If unsure, say N.
2975 # x86_64 have no ISA slots, but can have ISA-style DMA.
2977 bool "ISA-style DMA support" if (X86_64 && EXPERT)
2980 Enables ISA-style DMA support for devices requiring such controllers.
2992 newer boards don't support it. If you have ISA, say Y, otherwise N.
2999 PCI-IDs of several on-chip devices, so its a good dependency
3005 tristate "NatSemi SCx200 27MHz High-Resolution Timer Support"
3009 This driver provides a clocksource built upon the on-chip
3010 27MHz high-resolution timer. Its also a workaround for
3011 NSC Geode SC-1100's buggy TSC, which loses time when the
3028 bool "OLPC XO-1 Power Management"
3031 Add support for poweroff and suspend of the OLPC XO-1 laptop.
3034 bool "OLPC XO-1 Real Time Clock"
3037 Add support for the XO-1 real time clock, which can be used as a
3041 bool "OLPC XO-1 SCI extras"
3046 Add support for SCI-based features of the OLPC XO-1 laptop:
3047 - EC-driven system wakeups
3048 - Power button
3049 - Ebook switch
3050 - Lid switch
3051 - AC adapter status updates
3052 - Battery status updates
3055 bool "OLPC XO-1.5 SCI extras"
3059 Add support for SCI-based features of the OLPC XO-1.5 laptop:
3060 - EC-driven system wakeups
3061 - AC adapter status updates
3062 - Battery status updates
3077 Note: You must still enable the drivers for GPIO and LED support
3098 bool "Technologic Systems TS-5500 platform support"
3104 This option enables system support for the Technologic Systems TS-5500.
3127 Include code to run legacy 32-bit programs under a
3128 64-bit kernel. You should likely turn this on, unless you're
3129 100% sure that you don't have any 32-bit programs left.
3133 default n
3136 Make IA32 emulation disabled by default. This prevents loading 32-bit
3137 processes and access to 32-bit syscalls. If unsure, leave it to its
3141 bool "x32 ABI for 64-bit mode"
3143 # llvm-objcopy does not convert x86_64 .note.gnu.property or
3147 depends on $(success,$(OBJCOPY) --version | head -n1 | grep -qv llvm)
3149 Include code to run binaries for the x32 native 32-bit ABI
3150 for 64-bit processors. An x32 process gets access to the
3151 full 64-bit register file and wide data path while leaving