Lines Matching +full:broken +full:- +full:turn +full:- +full:around
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:
48 We keep the static function tracing (!DYNAMIC_FTRACE) around
51 only need to keep it around for x86_64. No need to keep it
57 # ported to 32-bit as well. )
159 # Word-size accesses may read uninitialized data past the trailing \0
341 default "elf32-i386" if X86_32
342 default "elf64-x86-64" if X86_64
437 bool "Symmetric multi-processing support"
443 If you say N here, the kernel will run on uni- and multiprocessor
458 See also <file:Documentation/arch/x86/i386/IO-APIC.rst>,
459 <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO available at
474 x2APIC was introduced in Intel CPUs around 2008 and in AMD EPYC CPUs
489 bool "Enable MSI and MSI-x delivery by posted interrupts"
533 micro-architecture specific knowledge.
545 bool "Support for extended (non-PC) x86 platforms"
553 for the following non-PC x86 platforms, depending on the value of
556 32-bit platforms (CONFIG_64BIT=n):
560 RDC R-321x SoC
562 64-bit platforms (CONFIG_64BIT=y):
570 generic distribution kernel, say Y here - otherwise say N.
583 Adds support for Numascale NumaChip large-SMP systems. Needed to
596 supposed to run on these EM64T-based machines. Only choose this option
623 Select to build a kernel capable of supporting 64-bit Intel MID
632 If you are building for a PC class system or non-MID tablet
682 bool "RDC R-321x SoC"
688 This option is needed for RDC R-321x system-on-chip, also known
689 as R-8610-(G).
726 - BayTrail
727 - Braswell
728 - Quark
749 # On 32-bit this adds too big of NODES_SHIFT and we run out of page flags:
750 # On 32-bit SPARSEMEM adds too big of SECTIONS_WIDTH:
769 prompt "Single-depth WCHAN output"
782 Say Y here to enable options for running Linux under various hyper-
804 bool "paravirt-ops debugging"
815 spinlock implementation with something virtualization-friendly
869 bool "Jailhouse non-root cell support"
873 This option allows to run Linux as guest in a Jailhouse non-root
883 a flexible, lightweight reference open-source hypervisor, built with
884 real-time and safety-criticality in mind. It is built for embedded
885 IOT with small footprint and real-time features. More details can be
889 bool "Intel TDX (Trust Domain Extensions) - Guest Support"
914 Use the IA-PC HPET (High Precision Event Timer) to manage
920 as it is off-chip. The interface used is documented
954 The GART supports full DMA access for devices with 32-bit access
963 32-bit limited device.
988 # The ranges are different on 32-bit and 64-bit kernels, depending on
1048 by sharing mid-level caches, last-level cache tags or internal
1056 prompt "Multi-core scheduler support"
1059 Multi-core scheduler support improves the CPU scheduler's decision
1060 making when dealing with multi-core CPU chips at a cost of slightly
1095 integrated interrupt controller in the CPU. If you have a single-CPU
1099 all. The local APIC supports CPU-generated self-interrupts (timer,
1104 bool "IO-APIC support on uniprocessors"
1107 An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an
1108 SMP-capable replacement for PC-style interrupt controllers. Most
1111 If you have a single-CPU system with an IO-APIC, you can say Y here
1113 an IO-APIC, then the kernel will still run with no slowdown at all.
1132 bool "Reroute for broken boot IRQs"
1141 entry in the chipset's IO-APIC is masked (as, e.g. the RT
1151 Only affects "broken" chipsets. Interrupt sharing may be
1215 mode, which is an 80286-era approximation of 16-bit real mode.
1223 a 16-bit DOS program where 16-bit performance matters, vm86
1227 Note that any app that works on a 64-bit kernel is unlikely to
1228 need this option, as 64-bit kernels don't, and can't, support
1229 V8086 mode. This option is also unrelated to 16-bit protected
1230 mode and is not needed to run most 16-bit programs under Wine.
1242 bool "Enable support for 16-bit segments" if EXPERT
1246 This option is required by programs like Wine to run 16-bit
1248 this option saves about 300 bytes on i386, or around 6K text
1249 plus 16K runtime memory on x86-64,
1322 CS5530A and CS5536 chipsets and the RDC R-321x SoC.
1370 tristate "/dev/cpu/*/msr - Model-specific register support"
1373 Model-Specific Registers (MSRs). It is a character device with
1375 MSR accesses are directed to a specific CPU on multi-processor
1379 tristate "/dev/cpu/*/cpuid - CPU information support"
1391 However, the address space of 32-bit x86 processors is only 4
1424 will also likely make your kernel incompatible with binary-only
1462 larger swapspace support for non-overcommit purposes. It
1467 bool "Enable 5-level page tables support"
1473 5-level paging enables access to larger address space:
1480 support 4- or 5-level paging.
1482 See Documentation/arch/x86/x86_64/5level-paging.rst for more
1533 Enable NUMA (Non-Uniform Memory Access) support.
1539 For 64-bit this is recommended if the system is Intel Core i7
1595 See Documentation/admin-guide/mm/memory-hotplug.rst for more information.
1611 tristate "Support non-standard NVDIMMs and ADR protected memory"
1618 Treat memory marked using the non-standard e820 type of 12 as used
1619 by the Intel Sandy Bridge-EP reference BIOS as protected memory.
1635 Documentation/admin-guide/kernel-parameters.rst to adjust this.
1643 BIOS-originated corruption always affects the same memory,
1671 is broken. Try "man bootparam" or see the documentation of your boot
1677 emulation can be found in <file:arch/x86/math-emu/README>.
1689 a video (VGA) card on a PCI or AGP bus. Enabling write-combining
1703 The AMD K6-2 (stepping 8 and above) and K6-3 processors have two
1705 write-combining. All of these processors are supported by this code
1732 int "MTRR cleanup enable value (0-1)"
1740 int "MTRR cleanup spare reg num (0-7)"
1760 spontaneous reboots) or a non-working video driver.
1776 specific cases in protected and virtual-8086 modes. Emulated
1781 # Retpoline check to work around https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93654
1783 # https://github.com/llvm/llvm-project/commit/e0b89df2e0f0130881bf6c39bf31d7f6aac00e0f
1784 # https://github.com/llvm/llvm-project/commit/dfcf69770bc522b9e411c66454934a37c1f35332
1785 def_bool ((CC_IS_GCC && $(cc-option, -fcf-protection=branch -mindirect-branch-register)) || \
1787 $(as-instr,endbr64)
1798 # https://github.com/llvm/llvm-project/commit/9d7001eba9c4cb311e03cd8cdc231f9e579f2d0f
1804 hardware support course-grain forward-edge Control Flow Integrity
1819 # Note: only available in 64-bit mode
1825 page-based protections, but without requiring modification of the
1828 For details, see Documentation/core-api/protection-keys.rst
1856 and =auto. See Documentation/admin-guide/kernel-parameters.txt for more
1866 TSX is disabled if possible - equals to tsx=off command line parameter.
1871 TSX is always enabled on TSX capable HW - equals the tsx=on command
1878 side channel attacks- equals the tsx=auto command line parameter.
1950 resultant kernel should continue to boot on existing non-EFI
1961 See Documentation/admin-guide/efi-stub.rst for more information.
1981 bool "EFI mixed-mode support"
1984 Enabling this feature allows a 64-bit kernel to be booted
1985 on a 32-bit firmware, provided that your CPU supports 64-bit
1988 Note that it is not possible to boot a mixed-mode enabled
1989 kernel via the EFI boot stub - a bootloader that supports
1998 Export EFI runtime memory regions to /sys/firmware/efi/runtime-map.
2002 See also Documentation/ABI/testing/sysfs-firmware-efi-runtime-map.
2071 command line boot parameter passed to the panic-ed
2072 kernel. Please take a look at Documentation/admin-guide/kdump/kdump.rst
2114 On 64-bit, the kernel physical and virtual addresses are
2121 On 32-bit, the kernel physical and virtual addresses are
2153 If bootloader loads the kernel at a non-aligned address and
2157 If bootloader loads the kernel at a non-aligned address and
2165 On 32-bit this value must be a multiple of 0x2000. On 64-bit
2215 to 64-bit linear addresses, allowing software to use of the
2231 presented with a 32-bit vDSO that is not mapped at the address
2241 dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!
2244 option from 1 to 0, which turns off the 32-bit vDSO entirely.
2245 This works around the glibc bug but hurts performance.
2279 certain uses of the vsyscall area as an ASLR-bypassing
2294 bool "Built-in kernel command line"
2306 Systems with fully functional boot loaders (i.e. non-embedded)
2310 string "Built-in kernel command string"
2322 In most cases, the command line (whether built-in or provided
2327 bool "Built-in command line overrides boot loader arguments"
2331 command line, and use ONLY the built-in command line.
2333 This is used to work around broken boot loaders. This should
2340 Linux can allow user programs to install a per-process x86
2342 call. This is required to run 16-bit or segmented code such as
2347 context switches and increases the low-level kernel attack
2391 def_bool $(success,echo 'int __seg_fs fs; int __seg_gs gs;' | $(CC) -x c - -S -o /dev/null)
2395 # -fsanitize=kernel-address (KASAN) and -fsanitize=thread (KCSAN)
2410 def_bool $(cc-option,-mharden-sls=all)
2413 def_bool $(cc-option,-mfunction-return=thunk-extern)
2416 def_bool $(cc-option,-fpatchable-function-entry=16,16)
2419 def_bool $(cc-option,-fsanitize=kcfi -fsanitize-kcfi-arity)
2430 # Basically: FUNCTION_ALIGNMENT - 5*CFI_CLANG
2496 kernel-to-user data leaks by avoiding speculative indirect
2497 branches. Requires a compiler with -mindirect-branch=thunk-extern
2501 bool "Enable return-thunks"
2506 Compile the kernel with the return-thunks compiler option to guard
2507 against kernel-to-user data leaks by avoiding return speculation.
2508 Requires a compiler with -mfunction-return=thunk-extern
2526 SKL Return-Stack-Buffer (RSB) underflow issue. The mitigation is off
2528 retbleed=stuff option. For non-affected systems the overhead of this
2529 option is marginal as the call depth tracking is using run-time
2544 kernel command line with 'debug-callthunks'.
2554 spec_rstack_overflow={ibpb,ibpb-vmexit} mitigations.
2570 Enable the SRSO mitigation needed on AMD Zen1-4 machines.
2573 bool "Mitigate Straight-Line-Speculation"
2578 Compile the kernel with straight-line-speculation options to guard
2601 See also <file:Documentation/admin-guide/hw-vuln/reg-file-data-sampling.rst>
2604 bool "Mitigate Spectre-BHB (Branch History Injection)"
2611 See <file:Documentation/admin-guide/hw-vuln/spectre.rst>
2621 See also <file:Documentation/admin-guide/hw-vuln/mds.rst>
2632 See also <file:Documentation/admin-guide/hw-vuln/tsx_async_abort.rst>
2640 Stale Data Vulnerabilities are a class of memory-mapped I/O (MMIO)
2644 <file:Documentation/admin-guide/hw-vuln/processor_mmio_stale_data.rst>
2654 See <file:Documentation/admin-guide/hw-vuln/l1tf.rst
2677 See also <file:Documentation/admin-guide/hw-vuln/spectre.rst>
2689 See also <file:Documentation/admin-guide/hw-vuln/spectre.rst>
2703 <file:Documentation/admin-guide/hw-vuln/special-register-buffer-data-sampling.rst>
2724 See <file:Documentation/admin-guide/hw-vuln/indirect-target-selection.rst>
2754 battery status information, and user-space programs will receive
2764 and more information, read <file:Documentation/power/apm-acpi.rst>
2765 and the Battery Powered Linux mini-HOWTO, available from
2769 manpage ("man 8 hdparm") for that), and it doesn't turn off
2770 VESA-compliant "green" monitors.
2822 feature is turned off -- see "Do CPU IDLE calls", below). This
2824 will be dependent on your BIOS implementation. You may need to turn
2826 support, or if it beeps continuously instead of suspending. Turn
2847 turn off the LCD backlight when the screen blanker of the Linux
2849 the virtual console screen blanker, and won't turn off the backlight
2851 do with your VESA-compliant power-saving monitor. Further, this
2852 option doesn't work for all laptops -- it might not turn off your
2862 needs to. Unfortunately, some BIOSes do not -- especially those in
2886 PCI-based systems don't have any BIOS at all. Linux can also try to
2907 bool "OLPC XO-1"
2919 # x86-64 doesn't support PCI BIOS access from long mode so always go direct.
2968 lspci -nn | grep '1166:0009'
2982 architectures -- if your target machine is modern, it probably does
2987 # x86_64 have no ISA slots, but can have ISA-style DMA.
2989 bool "ISA-style DMA support" if (X86_64 && EXPERT)
2992 Enables ISA-style DMA support for devices requiring such controllers.
3011 PCI-IDs of several on-chip devices, so its a good dependency
3017 tristate "NatSemi SCx200 27MHz High-Resolution Timer Support"
3021 This driver provides a clocksource built upon the on-chip
3022 27MHz high-resolution timer. Its also a workaround for
3023 NSC Geode SC-1100's buggy TSC, which loses time when the
3040 bool "OLPC XO-1 Power Management"
3043 Add support for poweroff and suspend of the OLPC XO-1 laptop.
3046 bool "OLPC XO-1 Real Time Clock"
3049 Add support for the XO-1 real time clock, which can be used as a
3053 bool "OLPC XO-1 SCI extras"
3058 Add support for SCI-based features of the OLPC XO-1 laptop:
3059 - EC-driven system wakeups
3060 - Power button
3061 - Ebook switch
3062 - Lid switch
3063 - AC adapter status updates
3064 - Battery status updates
3067 bool "OLPC XO-1.5 SCI extras"
3071 Add support for SCI-based features of the OLPC XO-1.5 laptop:
3072 - EC-driven system wakeups
3073 - AC adapter status updates
3074 - Battery status updates
3110 bool "Technologic Systems TS-5500 platform support"
3116 This option enables system support for the Technologic Systems TS-5500.
3139 Include code to run legacy 32-bit programs under a
3140 64-bit kernel. You should likely turn this on, unless you're
3141 100% sure that you don't have any 32-bit programs left.
3148 Make IA32 emulation disabled by default. This prevents loading 32-bit
3149 processes and access to 32-bit syscalls. If unsure, leave it to its
3153 bool "x32 ABI for 64-bit mode"
3155 # llvm-objcopy does not convert x86_64 .note.gnu.property or
3159 depends on $(success,$(OBJCOPY) --version | head -n1 | grep -qv llvm)
3161 Include code to run binaries for the x32 native 32-bit ABI
3162 for 64-bit processors. An x32 process gets access to the
3163 full 64-bit register file and wide data path while leaving