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:
45 We keep the static function tracing (!DYNAMIC_FTRACE) around
48 only need to keep it around for x86_64. No need to keep it
54 # ported to 32-bit as well. )
141 # Word-size accesses may read uninitialized data past the trailing \0
315 default "elf32-i386" if X86_32
316 default "elf64-x86-64" if X86_64
414 …default $(success,$(srctree)/scripts/gcc-x86_64-has-stack-protector.sh $(CC) $(CLANG_FLAGS)) if 64…
415 default $(success,$(srctree)/scripts/gcc-x86_32-has-stack-protector.sh $(CC) $(CLANG_FLAGS))
418 the compiler produces broken code or if it does not let us control
419 the segment on 32-bit kernels.
424 bool "Symmetric multi-processing support"
430 If you say N here, the kernel will run on uni- and multiprocessor
445 See also <file:Documentation/arch/x86/i386/IO-APIC.rst>,
446 <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO available at
457 This allows 32-bit apic IDs (so it can support very large systems),
508 bool "Support for extended (non-PC) x86 platforms"
516 for the following (non-PC) 32 bit x86 platforms:
519 RDC R-321x SoC
521 STA2X11-based (e.g. Northville)
525 generic distribution kernel, say Y here - otherwise say N.
530 bool "Support for extended (non-PC) x86 platforms"
538 for the following (non-PC) 64 bit x86 platforms:
544 generic distribution kernel, say Y here - otherwise say N.
557 Adds support for Numascale NumaChip large-SMP systems. Needed to
570 supposed to run on these EM64T-based machines. Only choose this option
681 - BayTrail
682 - Braswell
683 - Quark
701 bool "RDC R-321x SoC"
707 This option is needed for RDC R-321x system-on-chip, also known
708 as R-8610-(G).
712 bool "Support non-standard 32-bit SMP architectures"
727 # On 32-bit this adds too big of NODES_SHIFT and we run out of page flags:
728 # On 32-bit SPARSEMEM adds too big of SECTIONS_WIDTH:
739 This adds support for boards based on the STA2X11 IO-Hub,
760 prompt "Single-depth WCHAN output"
773 Say Y here to enable options for running Linux under various hyper-
795 bool "paravirt-ops debugging"
806 spinlock implementation with something virtualization-friendly
860 bool "Jailhouse non-root cell support"
864 This option allows to run Linux as guest in a Jailhouse non-root
874 a flexible, lightweight reference open-source hypervisor, built with
875 real-time and safety-criticality in mind. It is built for embedded
876 IOT with small footprint and real-time features. More details can be
880 bool "Intel TDX (Trust Domain Extensions) - Guest Support"
904 Use the IA-PC HPET (High Precision Event Timer) to manage
910 as it is off-chip. The interface used is documented
945 The GART supports full DMA access for devices with 32-bit access
954 32-bit limited device.
979 # The ranges are different on 32-bit and 64-bit kernels, depending on
1041 by sharing mid-level caches, last-level cache tags or internal
1049 prompt "Multi-core scheduler support"
1052 Multi-core scheduler support improves the CPU scheduler's decision
1053 making when dealing with multi-core CPU chips at a cost of slightly
1087 integrated interrupt controller in the CPU. If you have a single-CPU
1091 all. The local APIC supports CPU-generated self-interrupts (timer,
1096 bool "IO-APIC support on uniprocessors"
1099 An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an
1100 SMP-capable replacement for PC-style interrupt controllers. Most
1103 If you have a single-CPU system with an IO-APIC, you can say Y here
1105 an IO-APIC, then the kernel will still run with no slowdown at all.
1117 bool "Reroute for broken boot IRQs"
1126 entry in the chipset's IO-APIC is masked (as, e.g. the RT
1136 Only affects "broken" chipsets. Interrupt sharing may be
1200 mode, which is an 80286-era approximation of 16-bit real mode.
1208 a 16-bit DOS program where 16-bit performance matters, vm86
1212 Note that any app that works on a 64-bit kernel is unlikely to
1213 need this option, as 64-bit kernels don't, and can't, support
1214 V8086 mode. This option is also unrelated to 16-bit protected
1215 mode and is not needed to run most 16-bit programs under Wine.
1227 bool "Enable support for 16-bit segments" if EXPERT
1231 This option is required by programs like Wine to run 16-bit
1233 this option saves about 300 bytes on i386, or around 6K text
1234 plus 16K runtime memory on x86-64,
1307 CS5530A and CS5536 chipsets and the RDC R-321x SoC.
1329 tristate "/dev/cpu/*/msr - Model-specific register support"
1332 Model-Specific Registers (MSRs). It is a character device with
1334 MSR accesses are directed to a specific CPU on multi-processor
1338 tristate "/dev/cpu/*/cpuid - CPU information support"
1354 However, the address space of 32-bit x86 processors is only 4
1373 PAE implements 3-level paging on IA32 processors. PAE is fully
1389 Select this if you have a 32-bit processor and between 1 and 4
1397 Select this if you have a 32-bit processor and more than 4
1416 will also likely make your kernel incompatible with binary-only
1456 larger swapspace support for non-overcommit purposes. It
1461 bool "Enable 5-level page tables support"
1467 5-level paging enables access to larger address space:
1474 support 4- or 5-level paging.
1476 See Documentation/arch/x86/x86_64/5level-paging.rst for more
1526 Enable NUMA (Non-Uniform Memory Access) support.
1532 For 64-bit this is recommended if the system is Intel Core i7
1535 For 32-bit this is only needed if you boot a 32-bit
1536 kernel on a 64-bit NUMA platform.
1600 See Documentation/admin-guide/mm/memory-hotplug.rst for more information.
1616 tristate "Support non-standard NVDIMMs and ADR protected memory"
1623 Treat memory marked using the non-standard e820 type of 12 as used
1624 by the Intel Sandy Bridge-EP reference BIOS as protected memory.
1631 bool "Allocate 3rd-level pagetables from highmem"
1636 low memory. Setting this option will put user-space page table
1649 Documentation/admin-guide/kernel-parameters.rst to adjust this.
1657 BIOS-originated corruption always affects the same memory,
1685 is broken. Try "man bootparam" or see the documentation of your boot
1691 emulation can be found in <file:arch/x86/math-emu/README>.
1703 a video (VGA) card on a PCI or AGP bus. Enabling write-combining
1717 The AMD K6-2 (stepping 8 and above) and K6-3 processors have two
1719 write-combining. All of these processors are supported by this code
1746 int "MTRR cleanup enable value (0-1)"
1754 int "MTRR cleanup spare reg num (0-7)"
1773 spontaneous reboots) or a non-working video driver.
1793 specific cases in protected and virtual-8086 modes. Emulated
1798 # Retpoline check to work around https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93654
1800 # https://github.com/llvm/llvm-project/commit/e0b89df2e0f0130881bf6c39bf31d7f6aac00e0f
1801 # https://github.com/llvm/llvm-project/commit/dfcf69770bc522b9e411c66454934a37c1f35332
1802 def_bool ((CC_IS_GCC && $(cc-option, -fcf-protection=branch -mindirect-branch-register)) || \
1804 $(as-instr,endbr64)
1815 # https://github.com/llvm/llvm-project/commit/9d7001eba9c4cb311e03cd8cdc231f9e579f2d0f
1821 hardware support course-grain forward-edge Control Flow Integrity
1836 # Note: only available in 64-bit mode
1842 page-based protections, but without requiring modification of the
1845 For details, see Documentation/core-api/protection-keys.rst
1869 and =auto. See Documentation/admin-guide/kernel-parameters.txt for more
1879 TSX is disabled if possible - equals to tsx=off command line parameter.
1884 TSX is always enabled on TSX capable HW - equals the tsx=on command
1891 side channel attacks- equals the tsx=auto command line parameter.
1945 resultant kernel should continue to boot on existing non-EFI
1956 See Documentation/admin-guide/efi-stub.rst for more information.
1976 bool "EFI mixed-mode support"
1979 Enabling this feature allows a 64-bit kernel to be booted
1980 on a 32-bit firmware, provided that your CPU supports 64-bit
1983 Note that it is not possible to boot a mixed-mode enabled
1984 kernel via the EFI boot stub - a bootloader that supports
2006 Ranges can be set up to this value using comma-separated list.
2013 Export EFI runtime memory regions to /sys/firmware/efi/runtime-map.
2017 See also Documentation/ABI/testing/sysfs-firmware-efi-runtime-map.
2080 command line boot parameter passed to the panic-ed
2081 kernel. Please take a look at Documentation/admin-guide/kdump/kdump.rst
2123 On 64-bit, the kernel physical and virtual addresses are
2130 On 32-bit, the kernel physical and virtual addresses are
2161 If bootloader loads the kernel at a non-aligned address and
2165 If bootloader loads the kernel at a non-aligned address and
2173 On 32-bit this value must be a multiple of 0x2000. On 64-bit
2223 to 64-bit linear addresses, allowing software to use of the
2235 prompt "Disable the 32-bit vDSO (needed for glibc 2.3.3)"
2239 presented with a 32-bit vDSO that is not mapped at the address
2249 dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!
2252 option from 1 to 0, which turns off the 32-bit vDSO entirely.
2253 This works around the glibc bug but hurts performance.
2287 certain uses of the vsyscall area as an ASLR-bypassing
2302 bool "Built-in kernel command line"
2314 Systems with fully functional boot loaders (i.e. non-embedded)
2318 string "Built-in kernel command string"
2330 In most cases, the command line (whether built-in or provided
2335 bool "Built-in command line overrides boot loader arguments"
2339 command line, and use ONLY the built-in command line.
2341 This is used to work around broken boot loaders. This should
2348 Linux can allow user programs to install a per-process x86
2350 call. This is required to run 16-bit or segmented code such as
2355 context switches and increases the low-level kernel attack
2381 def_bool $(cc-option,-mharden-sls=all)
2384 def_bool $(cc-option,-mfunction-return=thunk-extern)
2387 def_bool $(cc-option,-fpatchable-function-entry=16,16)
2397 # Basically: FUNCTION_ALIGNMENT - 5*CFI_CLANG
2459 kernel-to-user data leaks by avoiding speculative indirect
2460 branches. Requires a compiler with -mindirect-branch=thunk-extern
2464 bool "Enable return-thunks"
2469 Compile the kernel with the return-thunks compiler option to guard
2470 against kernel-to-user data leaks by avoiding return speculation.
2471 Requires a compiler with -mfunction-return=thunk-extern
2489 SKL Return-Speculation-Buffer (RSB) underflow issue. The
2492 non-affected systems the overhead of this option is marginal as
2493 the call depth tracking is using run-time generated call thunks
2508 kernel command line with 'debug-callthunks'.
2533 Enable the SRSO mitigation needed on AMD Zen1-4 machines.
2536 bool "Mitigate Straight-Line-Speculation"
2541 Compile the kernel with straight-line-speculation options to guard
2573 See also <file:Documentation/admin-guide/hw-vuln/reg-file-data-sampling.rst>
2576 bool "Mitigate Spectre-BHB (Branch History Injection)"
2583 See <file:Documentation/admin-guide/hw-vuln/spectre.rst>
2613 battery status information, and user-space programs will receive
2623 and more information, read <file:Documentation/power/apm-acpi.rst>
2624 and the Battery Powered Linux mini-HOWTO, available from
2628 manpage ("man 8 hdparm") for that), and it doesn't turn off
2629 VESA-compliant "green" monitors.
2681 feature is turned off -- see "Do CPU IDLE calls", below). This
2683 will be dependent on your BIOS implementation. You may need to turn
2685 support, or if it beeps continuously instead of suspending. Turn
2706 turn off the LCD backlight when the screen blanker of the Linux
2708 the virtual console screen blanker, and won't turn off the backlight
2710 do with your VESA-compliant power-saving monitor. Further, this
2711 option doesn't work for all laptops -- it might not turn off your
2721 needs to. Unfortunately, some BIOSes do not -- especially those in
2745 PCI-based systems don't have any BIOS at all. Linux can also try to
2766 bool "OLPC XO-1"
2778 # x86-64 doesn't support PCI BIOS access from long mode so always go direct.
2820 architectures -- if your target machine is modern, it probably does
2825 # x86_64 have no ISA slots, but can have ISA-style DMA.
2827 bool "ISA-style DMA support" if (X86_64 && EXPERT)
2830 Enables ISA-style DMA support for devices requiring such controllers.
2849 PCI-IDs of several on-chip devices, so its a good dependency
2855 tristate "NatSemi SCx200 27MHz High-Resolution Timer Support"
2859 This driver provides a clocksource built upon the on-chip
2860 27MHz high-resolution timer. Its also a workaround for
2861 NSC Geode SC-1100's buggy TSC, which loses time when the
2878 bool "OLPC XO-1 Power Management"
2881 Add support for poweroff and suspend of the OLPC XO-1 laptop.
2884 bool "OLPC XO-1 Real Time Clock"
2887 Add support for the XO-1 real time clock, which can be used as a
2891 bool "OLPC XO-1 SCI extras"
2896 Add support for SCI-based features of the OLPC XO-1 laptop:
2897 - EC-driven system wakeups
2898 - Power button
2899 - Ebook switch
2900 - Lid switch
2901 - AC adapter status updates
2902 - Battery status updates
2905 bool "OLPC XO-1.5 SCI extras"
2909 Add support for SCI-based features of the OLPC XO-1.5 laptop:
2910 - EC-driven system wakeups
2911 - AC adapter status updates
2912 - Battery status updates
2942 bool "Technologic Systems TS-5500 platform support"
2948 This option enables system support for the Technologic Systems TS-5500.
2967 Include code to run legacy 32-bit programs under a
2968 64-bit kernel. You should likely turn this on, unless you're
2969 100% sure that you don't have any 32-bit programs left.
2972 bool "x32 ABI for 64-bit mode"
2974 # llvm-objcopy does not convert x86_64 .note.gnu.property or
2978 depends on $(success,$(OBJCOPY) --version | head -n1 | grep -qv llvm)
2980 Include code to run binaries for the x32 native 32-bit ABI
2981 for 64-bit processors. An x32 process gets access to the
2982 full 64-bit register file and wide data path while leaving