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:
44 We keep the static function tracing (!DYNAMIC_FTRACE) around
47 only need to keep it around for x86_64. No need to keep it
53 # ported to 32-bit as well. )
143 # Word-size accesses may read uninitialized data past the trailing \0
318 default "elf32-i386" if X86_32
319 default "elf64-x86-64" if X86_64
413 …default $(success,$(srctree)/scripts/gcc-x86_64-has-stack-protector.sh $(CC) $(CLANG_FLAGS)) if 64…
414 default $(success,$(srctree)/scripts/gcc-x86_32-has-stack-protector.sh $(CC) $(CLANG_FLAGS))
417 the compiler produces broken code or if it does not let us control
418 the segment on 32-bit kernels.
423 bool "Symmetric multi-processing support"
429 If you say N here, the kernel will run on uni- and multiprocessor
444 See also <file:Documentation/arch/x86/i386/IO-APIC.rst>,
445 <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO available at
456 This allows 32-bit apic IDs (so it can support very large systems),
507 bool "Support for extended (non-PC) x86 platforms"
515 for the following (non-PC) 32 bit x86 platforms:
518 RDC R-321x SoC
520 STA2X11-based (e.g. Northville)
524 generic distribution kernel, say Y here - otherwise say N.
529 bool "Support for extended (non-PC) x86 platforms"
537 for the following (non-PC) 64 bit x86 platforms:
543 generic distribution kernel, say Y here - otherwise say N.
556 Adds support for Numascale NumaChip large-SMP systems. Needed to
569 supposed to run on these EM64T-based machines. Only choose this option
680 - BayTrail
681 - Braswell
682 - Quark
700 bool "RDC R-321x SoC"
706 This option is needed for RDC R-321x system-on-chip, also known
707 as R-8610-(G).
711 bool "Support non-standard 32-bit SMP architectures"
726 # On 32-bit this adds too big of NODES_SHIFT and we run out of page flags:
727 # On 32-bit SPARSEMEM adds too big of SECTIONS_WIDTH:
738 This adds support for boards based on the STA2X11 IO-Hub,
759 prompt "Single-depth WCHAN output"
772 Say Y here to enable options for running Linux under various hyper-
794 bool "paravirt-ops debugging"
805 spinlock implementation with something virtualization-friendly
859 bool "Jailhouse non-root cell support"
863 This option allows to run Linux as guest in a Jailhouse non-root
873 a flexible, lightweight reference open-source hypervisor, built with
874 real-time and safety-criticality in mind. It is built for embedded
875 IOT with small footprint and real-time features. More details can be
879 bool "Intel TDX (Trust Domain Extensions) - Guest Support"
903 Use the IA-PC HPET (High Precision Event Timer) to manage
909 as it is off-chip. The interface used is documented
944 The GART supports full DMA access for devices with 32-bit access
953 32-bit limited device.
978 # The ranges are different on 32-bit and 64-bit kernels, depending on
1040 by sharing mid-level caches, last-level cache tags or internal
1048 prompt "Multi-core scheduler support"
1051 Multi-core scheduler support improves the CPU scheduler's decision
1052 making when dealing with multi-core CPU chips at a cost of slightly
1086 integrated interrupt controller in the CPU. If you have a single-CPU
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.
1116 bool "Reroute for broken boot IRQs"
1125 entry in the chipset's IO-APIC is masked (as, e.g. the RT
1135 Only affects "broken" chipsets. Interrupt sharing may be
1199 mode, which is an 80286-era approximation of 16-bit real mode.
1207 a 16-bit DOS program where 16-bit performance matters, vm86
1211 Note that any app that works on a 64-bit kernel is unlikely to
1212 need this option, as 64-bit kernels don't, and can't, support
1213 V8086 mode. This option is also unrelated to 16-bit protected
1214 mode and is not needed to run most 16-bit programs under Wine.
1226 bool "Enable support for 16-bit segments" if EXPERT
1230 This option is required by programs like Wine to run 16-bit
1232 this option saves about 300 bytes on i386, or around 6K text
1233 plus 16K runtime memory on x86-64,
1306 CS5530A and CS5536 chipsets and the RDC R-321x SoC.
1353 tristate "/dev/cpu/*/msr - Model-specific register support"
1356 Model-Specific Registers (MSRs). It is a character device with
1358 MSR accesses are directed to a specific CPU on multi-processor
1362 tristate "/dev/cpu/*/cpuid - CPU information support"
1378 However, the address space of 32-bit x86 processors is only 4
1397 PAE implements 3-level paging on IA32 processors. PAE is fully
1413 Select this if you have a 32-bit processor and between 1 and 4
1421 Select this if you have a 32-bit processor and more than 4
1440 will also likely make your kernel incompatible with binary-only
1480 larger swapspace support for non-overcommit purposes. It
1485 bool "Enable 5-level page tables support"
1491 5-level paging enables access to larger address space:
1498 support 4- or 5-level paging.
1500 See Documentation/arch/x86/x86_64/5level-paging.rst for more
1564 Enable NUMA (Non-Uniform Memory Access) support.
1570 For 64-bit this is recommended if the system is Intel Core i7
1573 For 32-bit this is only needed if you boot a 32-bit
1574 kernel on a 64-bit NUMA platform.
1638 See Documentation/admin-guide/mm/memory-hotplug.rst for more information.
1654 tristate "Support non-standard NVDIMMs and ADR protected memory"
1661 Treat memory marked using the non-standard e820 type of 12 as used
1662 by the Intel Sandy Bridge-EP reference BIOS as protected memory.
1669 bool "Allocate 3rd-level pagetables from highmem"
1674 low memory. Setting this option will put user-space page table
1687 Documentation/admin-guide/kernel-parameters.rst to adjust this.
1695 BIOS-originated corruption always affects the same memory,
1723 is broken. Try "man bootparam" or see the documentation of your boot
1729 emulation can be found in <file:arch/x86/math-emu/README>.
1741 a video (VGA) card on a PCI or AGP bus. Enabling write-combining
1755 The AMD K6-2 (stepping 8 and above) and K6-3 processors have two
1757 write-combining. All of these processors are supported by this code
1784 int "MTRR cleanup enable value (0-1)"
1792 int "MTRR cleanup spare reg num (0-7)"
1811 spontaneous reboots) or a non-working video driver.
1831 specific cases in protected and virtual-8086 modes. Emulated
1836 # Retpoline check to work around https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93654
1838 # https://github.com/llvm/llvm-project/commit/e0b89df2e0f0130881bf6c39bf31d7f6aac00e0f
1839 # https://github.com/llvm/llvm-project/commit/dfcf69770bc522b9e411c66454934a37c1f35332
1840 def_bool ((CC_IS_GCC && $(cc-option, -fcf-protection=branch -mindirect-branch-register)) || \
1842 $(as-instr,endbr64)
1853 # https://github.com/llvm/llvm-project/commit/9d7001eba9c4cb311e03cd8cdc231f9e579f2d0f
1859 hardware support course-grain forward-edge Control Flow Integrity
1874 # Note: only available in 64-bit mode
1880 page-based protections, but without requiring modification of the
1883 For details, see Documentation/core-api/protection-keys.rst
1907 and =auto. See Documentation/admin-guide/kernel-parameters.txt for more
1917 TSX is disabled if possible - equals to tsx=off command line parameter.
1922 TSX is always enabled on TSX capable HW - equals the tsx=on command
1929 side channel attacks- equals the tsx=auto command line parameter.
2000 resultant kernel should continue to boot on existing non-EFI
2011 See Documentation/admin-guide/efi-stub.rst for more information.
2031 bool "EFI mixed-mode support"
2034 Enabling this feature allows a 64-bit kernel to be booted
2035 on a 32-bit firmware, provided that your CPU supports 64-bit
2038 Note that it is not possible to boot a mixed-mode enabled
2039 kernel via the EFI boot stub - a bootloader that supports
2061 Ranges can be set up to this value using comma-separated list.
2068 Export EFI runtime memory regions to /sys/firmware/efi/runtime-map.
2072 See also Documentation/ABI/testing/sysfs-firmware-efi-runtime-map.
2138 command line boot parameter passed to the panic-ed
2139 kernel. Please take a look at Documentation/admin-guide/kdump/kdump.rst
2181 On 64-bit, the kernel physical and virtual addresses are
2188 On 32-bit, the kernel physical and virtual addresses are
2219 If bootloader loads the kernel at a non-aligned address and
2223 If bootloader loads the kernel at a non-aligned address and
2231 On 32-bit this value must be a multiple of 0x2000. On 64-bit
2280 to 64-bit linear addresses, allowing software to use of the
2292 prompt "Disable the 32-bit vDSO (needed for glibc 2.3.3)"
2296 presented with a 32-bit vDSO that is not mapped at the address
2306 dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!
2309 option from 1 to 0, which turns off the 32-bit vDSO entirely.
2310 This works around the glibc bug but hurts performance.
2344 certain uses of the vsyscall area as an ASLR-bypassing
2359 bool "Built-in kernel command line"
2371 Systems with fully functional boot loaders (i.e. non-embedded)
2375 string "Built-in kernel command string"
2387 In most cases, the command line (whether built-in or provided
2392 bool "Built-in command line overrides boot loader arguments"
2396 command line, and use ONLY the built-in command line.
2398 This is used to work around broken boot loaders. This should
2405 Linux can allow user programs to install a per-process x86
2407 call. This is required to run 16-bit or segmented code such as
2412 context switches and increases the low-level kernel attack
2438 def_bool $(cc-option,-mharden-sls=all)
2441 def_bool $(cc-option,-mfunction-return=thunk-extern)
2444 def_bool $(cc-option,-fpatchable-function-entry=16,16)
2454 # Basically: FUNCTION_ALIGNMENT - 5*CFI_CLANG
2512 kernel-to-user data leaks by avoiding speculative indirect
2513 branches. Requires a compiler with -mindirect-branch=thunk-extern
2517 bool "Enable return-thunks"
2522 Compile the kernel with the return-thunks compiler option to guard
2523 against kernel-to-user data leaks by avoiding return speculation.
2524 Requires a compiler with -mfunction-return=thunk-extern
2542 SKL Return-Speculation-Buffer (RSB) underflow issue. The
2545 non-affected systems the overhead of this option is marginal as
2546 the call depth tracking is using run-time generated call thunks
2561 kernel command line with 'debug-callthunks'.
2586 Enable the SRSO mitigation needed on AMD Zen1-4 machines.
2589 bool "Mitigate Straight-Line-Speculation"
2594 Compile the kernel with straight-line-speculation options to guard
2645 battery status information, and user-space programs will receive
2655 and more information, read <file:Documentation/power/apm-acpi.rst>
2656 and the Battery Powered Linux mini-HOWTO, available from
2660 manpage ("man 8 hdparm") for that), and it doesn't turn off
2661 VESA-compliant "green" monitors.
2713 feature is turned off -- see "Do CPU IDLE calls", below). This
2715 will be dependent on your BIOS implementation. You may need to turn
2717 support, or if it beeps continuously instead of suspending. Turn
2738 turn off the LCD backlight when the screen blanker of the Linux
2740 the virtual console screen blanker, and won't turn off the backlight
2742 do with your VESA-compliant power-saving monitor. Further, this
2743 option doesn't work for all laptops -- it might not turn off your
2753 needs to. Unfortunately, some BIOSes do not -- especially those in
2777 PCI-based systems don't have any BIOS at all. Linux can also try to
2798 bool "OLPC XO-1"
2810 # x86-64 doesn't support PCI BIOS access from long mode so always go direct.
2852 architectures -- if your target machine is modern, it probably does
2857 # x86_64 have no ISA slots, but can have ISA-style DMA.
2859 bool "ISA-style DMA support" if (X86_64 && EXPERT)
2862 Enables ISA-style DMA support for devices requiring such controllers.
2881 PCI-IDs of several on-chip devices, so its a good dependency
2887 tristate "NatSemi SCx200 27MHz High-Resolution Timer Support"
2891 This driver provides a clocksource built upon the on-chip
2892 27MHz high-resolution timer. Its also a workaround for
2893 NSC Geode SC-1100's buggy TSC, which loses time when the
2910 bool "OLPC XO-1 Power Management"
2913 Add support for poweroff and suspend of the OLPC XO-1 laptop.
2916 bool "OLPC XO-1 Real Time Clock"
2919 Add support for the XO-1 real time clock, which can be used as a
2923 bool "OLPC XO-1 SCI extras"
2928 Add support for SCI-based features of the OLPC XO-1 laptop:
2929 - EC-driven system wakeups
2930 - Power button
2931 - Ebook switch
2932 - Lid switch
2933 - AC adapter status updates
2934 - Battery status updates
2937 bool "OLPC XO-1.5 SCI extras"
2941 Add support for SCI-based features of the OLPC XO-1.5 laptop:
2942 - EC-driven system wakeups
2943 - AC adapter status updates
2944 - Battery status updates
2974 bool "Technologic Systems TS-5500 platform support"
2980 This option enables system support for the Technologic Systems TS-5500.
2999 Include code to run legacy 32-bit programs under a
3000 64-bit kernel. You should likely turn this on, unless you're
3001 100% sure that you don't have any 32-bit programs left.
3008 Make IA32 emulation disabled by default. This prevents loading 32-bit
3009 processes and access to 32-bit syscalls. If unsure, leave it to its
3013 bool "x32 ABI for 64-bit mode"
3015 # llvm-objcopy does not convert x86_64 .note.gnu.property or
3019 depends on $(success,$(OBJCOPY) --version | head -n1 | grep -qv llvm)
3021 Include code to run binaries for the x32 native 32-bit ABI
3022 for 64-bit processors. An x32 process gets access to the
3023 full 64-bit register file and wide data path while leaving