Lines Matching +full:cpu +full:- +full:to +full:- +full:pci
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:
47 in order to test the non static function tracing in the
49 only need to keep it around for x86_64. No need to keep it
55 # ported to 32-bit as well. )
154 # Word-size accesses may read uninitialized data past the trailing \0
310 select PCI_DOMAINS if PCI
311 select PCI_LOCKLESS_CONFIG if PCI
336 default "elf32-i386" if X86_32
337 default "elf64-x86-64" if X86_64
431 …default $(success,$(srctree)/scripts/gcc-x86_64-has-stack-protector.sh $(CC) $(CLANG_FLAGS)) if 64…
432 default $(success,$(srctree)/scripts/gcc-x86_32-has-stack-protector.sh $(CC) $(CLANG_FLAGS))
434 We have to make sure stack protector is unconditionally disabled if
436 the segment on 32-bit kernels.
441 bool "Symmetric multi-processing support"
443 This enables support for systems with more than one CPU. If you have
444 a system with only one CPU, say N. If you have a system with more
445 than one CPU, say Y.
447 If you say N here, the kernel will run on uni- and multiprocessor
448 machines, but will use only one CPU of a multiprocessor machine. If
459 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
462 See also <file:Documentation/arch/x86/i386/IO-APIC.rst>,
463 <file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO available at
466 If you don't know what to do here, say N.
474 This allows 32-bit apic IDs (so it can support very large systems),
478 and can not fall back to the legacy APIC modes if SGX or TDX are
482 If you don't know what to do here, say N.
485 bool "Enable MSI and MSI-x delivery by posted interrupts"
488 This enables MSIs that are under interrupt remapping to be delivered as
489 posted interrupts to the host kernel. Interrupt throughput can
490 potentially be improved by coalescing CPU notifications during high
493 If you don't know what to do here, say N.
504 bool "x86 CPU resource control support"
509 Enable x86 CPU resource control support.
512 usage by the CPU.
528 When enabled, try to use Flexible Return and Event Delivery
540 bool "Support for extended (non-PC) x86 platforms"
547 If you enable this option then you'll be able to select support
548 for the following non-PC x86 platforms, depending on the value of
551 32-bit platforms (CONFIG_64BIT=n):
554 RDC R-321x SoC
556 STA2X11-based (e.g. Northville)
559 64-bit platforms (CONFIG_64BIT=y):
564 If you have one of these systems, or if you want to build a
565 generic distribution kernel, say Y here - otherwise say N.
578 Adds support for Numascale NumaChip large-SMP systems. Needed to
586 depends on X86_64 && PCI
591 supposed to run on these EM64T-based machines. Only choose this option
602 depends on PCI
604 This option is needed in order to support SGI Ultraviolet systems.
620 depends on PCI
637 depends on PCI
644 Select to build a kernel capable of supporting Intel MID (Mobile
645 Internet Device) platform systems which do not have the PCI legacy
657 depends on PCI
664 Select to include support for Quark X1000 SoC.
670 depends on X86 && ACPI && PCI
675 Select to build support for Intel Low Power Subsystem such as
686 Select to interpret AMD specific ACPI device to platform device
688 I2C and UART depend on COMMON_CLK to set clock. GPIO driver is
693 depends on PCI
697 MSR's for some register accesses, mostly but not limited to thermal
698 and power. Drivers may query the availability of this device to
699 determine if they need the sideband in order to work on these
701 This list is not meant to be exclusive.
702 - BayTrail
703 - Braswell
704 - Quark
712 Select this option to expose the IOSF sideband access registers (MCR,
713 MDR, MCRX) through debugfs to write and read register information from
717 device they want to access.
722 bool "RDC R-321x SoC"
728 This option is needed for RDC R-321x system-on-chip, also known
729 as R-8610-(G).
733 bool "Support non-standard 32-bit SMP architectures"
740 one and will fallback to default.
748 # On 32-bit this adds too big of NODES_SHIFT and we run out of page flags:
749 # On 32-bit SPARSEMEM adds too big of SECTIONS_WIDTH:
755 depends on X86_32_NON_STANDARD && PCI
760 This adds support for boards based on the STA2X11 IO-Hub,
763 option is selected the kernel will still be able to boot on
771 to shut themselves down properly. A special I/O sequence is
772 needed to do so, which is what this module does at
781 prompt "Single-depth WCHAN output"
785 is disabled then wchan values will recurse back to the
794 Say Y here to enable options for running Linux under various hyper-
816 bool "paravirt-ops debugging"
819 Enable to debug paravirt_ops internals. Specifically, BUG if
826 Paravirtualized spinlocks allow a pvops backend to replace the
827 spinlock implementation with something virtualization-friendly
828 (for example, block the virtual CPU rather than spinning).
833 If you are unsure how to answer this question, answer Y.
870 Select this option to enable fine granularity task steal time
872 the current vCPU is discounted from the vCPU power. To account for
881 bool "Jailhouse non-root cell support"
882 depends on X86_64 && PCI
885 This option allows to run Linux as guest in a Jailhouse non-root
886 cell. You can leave this option disabled if you only want to start
894 This option allows to run Linux as guest in the ACRN hypervisor. ACRN is
895 a flexible, lightweight reference open-source hypervisor, built with
896 real-time and safety-criticality in mind. It is built for embedded
897 IOT with small footprint and real-time features. More details can be
901 bool "Intel TDX (Trust Domain Extensions) - Guest Support"
915 memory contents and CPU state. TDX guests are protected from
920 source "arch/x86/Kconfig.cpu"
926 Use the IA-PC HPET (High Precision Event Timer) to manage
927 time in preference to the PIT and RTC, if a HPET is
931 systems, unlike the TSC, but it is more expensive to access,
932 as it is off-chip. The interface used is documented
939 Choose N to continue using the legacy 8254 timer.
952 Enabled scanning of DMI to identify machine quirks. Say Y
961 depends on X86_64 && PCI && AMD_NB
966 The GART supports full DMA access for devices with 32-bit access
975 32-bit limited device.
996 # The main config value is NR_CPUS, which defaults to NR_CPUS_DEFAULT,
1000 # The ranges are different on 32-bit and 64-bit kernels, depending on
1046 This allows you to specify the maximum number of CPUs which this
1051 This is purely to save memory: each supported CPU adds about 8KB
1052 to the kernel image.
1059 Cluster scheduler support improves the CPU scheduler's decision
1062 by sharing mid-level caches, last-level cache tags or internal
1070 prompt "Multi-core scheduler support"
1073 Multi-core scheduler support improves the CPU scheduler's decision
1074 making when dealing with multi-core CPU chips at a cost of slightly
1078 bool "CPU core priorities scheduler support"
1087 certain cores to reach higher turbo frequencies (when running
1091 the TBM3 (aka ITMT) priority order of the CPU cores and adjusts the
1092 scheduler's CPU selection logic accordingly, so that higher
1109 integrated interrupt controller in the CPU. If you have a single-CPU
1110 system which has a processor with a local APIC, you can say Y here to
1113 all. The local APIC supports CPU-generated self-interrupts (timer,
1118 bool "IO-APIC support on uniprocessors"
1121 An IO-APIC (I/O Advanced Programmable Interrupt Controller) is an
1122 SMP-capable replacement for PC-style interrupt controllers. Most
1125 If you have a single-CPU system with an IO-APIC, you can say Y here
1126 to use it. If you say Y here even though your machine doesn't have
1127 an IO-APIC, then the kernel will still run with no slowdown at all.
1155 entry in the chipset's IO-APIC is masked (as, e.g. the RT
1159 IRQ" is delivered to the CPUs. The workaround also tells the
1160 kernel to set up the IRQ handler on the boot IRQ line. In this
1161 way only one interrupt is delivered to the kernel. Otherwise
1162 the spurious second interrupt may cause the kernel to bring
1173 Machine Check support allows the processor to notify the
1176 ranging from warning messages to halting the machine.
1183 userspace logging daemon. Consider switching to the new generation
1207 systems. These typically need to be enabled explicitly on the command
1220 QA it is safe to say n.
1228 This option allows user programs to put the CPU into V8086
1229 mode, which is an 80286-era approximation of 16-bit real mode.
1233 available to accelerate real mode DOS programs. However, any
1236 fall back to software emulation. Nevertheless, if you are using
1237 a 16-bit DOS program where 16-bit performance matters, vm86
1238 mode might be faster than emulation and you might want to
1241 Note that any app that works on a 64-bit kernel is unlikely to
1242 need this option, as 64-bit kernels don't, and can't, support
1243 V8086 mode. This option is also unrelated to 16-bit protected
1244 mode and is not needed to run most 16-bit programs under Wine.
1256 bool "Enable support for 16-bit segments" if EXPERT
1260 This option is required by programs like Wine to run 16-bit
1263 plus 16K runtime memory on x86-64,
1279 it is roughly equivalent to booting with vsyscall=none, except
1281 tries to use a vsyscall. With this option set to N, offending
1286 care should be used even with newer programs if set to N.
1299 space aside of accessing all 65536 I/O ports also to disable
1300 interrupts. To gain this access the caller needs CAP_SYS_RAWIO
1304 The emulation restricts the functionality of the syscall to
1306 ability to disable interrupts from user space which would be
1313 This adds a driver to safely access the System Management Mode of
1314 the CPU on Toshiba portables with a genuine Toshiba BIOS. It does
1316 is used to set the BIOS and power saving options on Toshiba portables.
1318 For information on utilities to make use of this driver see the
1322 Say Y if you intend to run this kernel on a Toshiba portable.
1329 This enables chipset and/or board specific fixups to be done
1330 in order to get reboot to work correctly. This is only needed on
1336 CS5530A and CS5536 chipsets and the RDC R-321x SoC.
1338 Say Y if you want to enable the fixup. Currently, it's safe to
1370 To prevent that users load microcode late which modifies already
1373 revision must be active in the CPU to safely load that new microcode
1384 tristate "/dev/cpu/*/msr - Model-specific register support"
1386 This device gives privileged processes access to the x86
1387 Model-Specific Registers (MSRs). It is a character device with
1388 major 202 and minors 0 to 31 for /dev/cpu/0/msr to /dev/cpu/31/msr.
1389 MSR accesses are directed to a specific CPU on multi-processor
1393 tristate "/dev/cpu/*/cpuid - CPU information support"
1395 This device gives processes access to the x86 CPUID instruction to
1397 with major 203 and minors 0 to 31 for /dev/cpu/0/cpuid to
1398 /dev/cpu/31/cpuid.
1408 Linux can use up to 64 Gigabytes of physical memory on x86 systems.
1409 However, the address space of 32-bit x86 processors is only 4
1420 by the kernel to permanently map as much physical memory as
1428 PAE implements 3-level paging on IA32 processors. PAE is fully
1436 your boot loader (lilo or loadlin) about how to pass options to the
1444 Select this if you have a 32-bit processor and between 1 and 4
1452 Select this if you have a 32-bit processor and more than 4
1464 If the address range available to the kernel is less than the
1467 than low memory, as it needs to be mapped into the kernel first.
1469 available to user programs, making the address space there
1471 will also likely make your kernel incompatible with binary-only
1511 larger swapspace support for non-overcommit purposes. It
1516 bool "Enable 5-level page tables support"
1522 5-level paging enables access to larger address space:
1523 up to 128 PiB of virtual address space and 4 PiB of
1529 support 4- or 5-level paging.
1531 See Documentation/arch/x86/x86_64/5level-paging.rst for more
1541 linear 1 GB mappings (even if the CPU otherwise
1550 helps to determine the effectiveness of preserving large and huge
1570 Say yes to enable support for the encryption of system memory.
1583 Enable NUMA (Non-Uniform Memory Access) support.
1585 The kernel will try to allocate memory used by a CPU on the
1586 local memory controller of the CPU and add some more
1587 NUMA awareness to the kernel.
1589 For 64-bit this is recommended if the system is Intel Core i7
1592 For 32-bit this is only needed if you boot a 32-bit
1593 kernel on a 64-bit NUMA platform.
1600 depends on X86_64 && NUMA && PCI
1603 you have a multi processor AMD system. This uses an old method to
1605 of Opteron. It is recommended to use X86_64_ACPI_NUMA instead,
1611 depends on X86_64 && NUMA && ACPI && PCI
1625 system. Increases memory reserved to accommodate various tables.
1649 See Documentation/admin-guide/mm/memory-hotplug.rst for more information.
1650 If you are unsure how to answer this question, answer N.
1665 tristate "Support non-standard NVDIMMs and ADR protected memory"
1672 Treat memory marked using the non-standard e820 type of 12 as used
1673 by the Intel Sandy Bridge-EP reference BIOS as protected memory.
1674 The kernel will offer these regions to the 'pmem' driver so
1680 bool "Allocate 3rd-level pagetables from highmem"
1685 low memory. Setting this option will put user-space page table
1692 is suspected to be caused by BIOS. Even when enabled in the
1698 Documentation/admin-guide/kernel-parameters.rst to adjust this.
1706 BIOS-originated corruption always affects the same memory,
1707 you can use memmap= to prevent the kernel from using that
1730 If you don't have a math coprocessor, you need to say Y here; if you
1735 loader (lilo or loadlin) about how to pass options to the kernel at
1736 boot time.) This means that it is a good idea to say Y here if you
1737 intend to use this kernel on different machines.
1740 emulation can be found in <file:arch/x86/math-emu/README>.
1750 the Memory Type Range Registers (MTRRs) may be used to control
1751 processor access to memory ranges. This is most useful if you have
1752 a video (VGA) card on a PCI or AGP bus. Enabling write-combining
1753 allows bus write transfers to be combined into a larger transfer
1754 before bursting over the PCI/AGP bus. This can increase performance
1756 /proc/mtrr file which may be used to manipulate your processor's
1764 Registers (ARRs) which provide a similar functionality to MTRRs. For
1765 these, the ARRs are used to emulate the MTRRs.
1766 The AMD K6-2 (stepping 8 and above) and K6-3 processors have two
1768 write-combining. All of these processors are supported by this code
1769 and it makes sense to say Y here if you have one of them.
1772 set the MTRRs for the boot CPU and not for the secondary CPUs. This
1773 can lead to all sorts of problems, so it's good to say Y here.
1776 just add about 9 KB to your kernel.
1785 Convert MTRR layout from continuous to discrete, so X drivers can
1795 int "MTRR cleanup enable value (0-1)"
1803 int "MTRR cleanup spare reg num (0-7)"
1817 Use PAT attributes to setup page level cache control.
1823 spontaneous reboots) or a non-working video driver.
1839 specific cases in protected and virtual-8086 modes. Emulated
1844 # Retpoline check to work around https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93654
1846 # https://github.com/llvm/llvm-project/commit/e0b89df2e0f0130881bf6c39bf31d7f6aac00e0f
1847 # https://github.com/llvm/llvm-project/commit/dfcf69770bc522b9e411c66454934a37c1f35332
1848 def_bool ((CC_IS_GCC && $(cc-option, -fcf-protection=branch -mindirect-branch-register)) || \
1850 $(as-instr,endbr64)
1861 # https://github.com/llvm/llvm-project/commit/9d7001eba9c4cb311e03cd8cdc231f9e579f2d0f
1867 hardware support course-grain forward-edge Control Flow Integrity
1870 code with them to make this happen.
1872 In addition to building the kernel with IBT, seal all functions that
1882 # Note: only available in 64-bit mode
1888 page-based protections, but without requiring modification of the
1891 For details, see Documentation/core-api/protection-keys.rst
1905 allows to optimize locking protocols through lock elision which
1906 can lead to a noticeable performance boost.
1909 to form side channel attacks (e.g. TAA) and chances are there
1914 Even with TSX enabled, the kernel will attempt to enable the best
1918 This option allows to set the default tsx mode between tsx=on, =off
1919 and =auto. See Documentation/admin-guide/kernel-parameters.txt for more
1929 TSX is disabled if possible - equals to tsx=off command line parameter.
1934 TSX is always enabled on TSX capable HW - equals the tsx=on command
1940 TSX is enabled on TSX capable HW that is believed to be safe against
1941 side channel attacks- equals the tsx=auto command line parameter.
1953 Intel(R) Software Guard eXtensions (SGX) is a set of CPU instructions
1954 that can be used by applications to set aside private regions of code
1955 and data, referred to as enclaves. An enclave's private memory can
1972 Applications must be enabled to use it, and old userspace does not
1994 support in the host kernel to run confidential VMs.
2006 This enables the kernel to use EFI runtime services that are
2011 at <http://elilo.sourceforge.net> in order to take advantage
2013 resultant kernel should continue to boot on existing non-EFI
2021 This kernel feature allows a bzImage to be loaded directly
2024 See Documentation/admin-guide/efi-stub.rst for more information.
2031 Select this in order to include support for the deprecated EFI
2044 bool "EFI mixed-mode support"
2047 Enabling this feature allows a 64-bit kernel to be booted
2048 on a 32-bit firmware, provided that your CPU supports 64-bit
2051 Note that it is not possible to boot a mixed-mode enabled
2052 kernel via the EFI boot stub - a bootloader that supports
2058 bool "Export EFI runtime maps to sysfs" if EXPERT
2061 Export EFI runtime memory regions to /sys/firmware/efi/runtime-map.
2062 That memory map is required by the 2nd kernel to set up EFI virtual
2065 See also Documentation/ABI/testing/sysfs-firmware-efi-runtime-map.
2114 will decompress itself to above physical address and run from there.
2119 In normal kdump cases one does not have to set/change this option
2121 (CONFIG_RELOCATABLE=y) and be used to load and run from a different
2123 to use a bzImage for capturing the crash dump and want to use a
2125 to be specifically compiled to run from a specific memory area
2129 leave the value here unchanged to 0x1000000 and set
2130 CONFIG_RELOCATABLE=y. Otherwise if you plan to use vmlinux
2131 for capturing the crash dump change this value to start of
2134 command line boot parameter passed to the panic-ed
2135 kernel. Please take a look at Documentation/admin-guide/kdump/kdump.rst
2139 one does not have to build two kernels. Same kernel can be used
2142 is present because there are users out there who continue to use
2154 The relocations tend to make the kernel binary about 10% larger,
2177 On 64-bit, the kernel physical and virtual addresses are
2179 between 16MB and the top of physical memory (up to 64TB). The
2180 virtual address will be randomized from 16MB up to 1GB (9 bits
2182 available to kernel modules from 1.5GB to 1GB.
2184 On 32-bit, the kernel physical and virtual addresses are
2185 randomized together. They will be randomized from 16MB up to
2196 limited due to memory layouts.
2206 hex "Alignment value to which kernel should be aligned"
2215 If bootloader loads the kernel at a non-aligned address and
2216 CONFIG_RELOCATABLE is set, kernel will move itself to nearest
2217 address aligned to above value and run from there.
2219 If bootloader loads the kernel at a non-aligned address and
2221 load address and decompress itself to the address it has been
2227 On 32-bit this value must be a multiple of 0x2000. On 64-bit
2264 Define the padding in terabytes added to the existing physical
2277 to 64-bit linear addresses, allowing software to use of the
2289 prompt "Disable the 32-bit vDSO (needed for glibc 2.3.3)"
2293 presented with a 32-bit vDSO that is not mapped at the address
2303 dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!
2306 option from 1 to 0, which turns off the 32-bit vDSO entirely.
2310 are unlikely to be using a buggy version of glibc.
2317 Legacy user code that does not know how to find the vDSO expects
2318 to be able to issue three syscalls by calling fixed addresses in
2320 it can be used to assist security vulnerability exploitation.
2329 to improve security.
2341 certain uses of the vsyscall area as an ASLR-bypassing
2348 eliminate any risk of ASLR bypass due to the vsyscall
2349 fixed address mapping. Attempts to use the vsyscalls
2350 will be reported to dmesg, so that either old or
2356 bool "Built-in kernel command line"
2358 Allow for specifying boot arguments to the kernel at
2360 necessary or convenient to provide some or all of the
2362 to not rely on the boot loader to provide them.)
2364 To compile command line arguments into the kernel,
2365 set this option to 'Y', then fill in the
2368 Systems with fully functional boot loaders (i.e. non-embedded)
2369 should leave this option set to 'N'.
2372 string "Built-in kernel command string"
2378 command line at boot time, it is appended to this string to
2381 However, you can use the CONFIG_CMDLINE_OVERRIDE option to
2384 In most cases, the command line (whether built-in or provided
2389 bool "Built-in command line overrides boot loader arguments"
2392 Set this option to 'Y' to have the kernel ignore the boot loader
2393 command line, and use ONLY the built-in command line.
2395 This is used to work around broken boot loaders. This should
2396 be set to 'N' under normal conditions.
2402 Linux can allow user programs to install a per-process x86
2404 call. This is required to run 16-bit or segmented code such as
2408 Enabling this feature adds a small amount of overhead to
2409 context switches and increases the low-level kernel attack
2419 already too small with AVX512 support. Add a mechanism to
2428 Say 'N' unless you want to really enforce this check.
2431 bool "Attempt to use FineIBT by default at boot time"
2435 Attempt to use FineIBT by default at boot time. If enabled,
2452 def_bool $(success,echo 'int __seg_fs fs; int __seg_gs gs;' | $(CC) -x c - -S -o /dev/null)
2456 # -fsanitize=kernel-address (KASAN) and -fsanitize=thread (KCSAN)
2471 def_bool $(cc-option,-mharden-sls=all)
2474 def_bool $(cc-option,-mfunction-return=thunk-extern)
2477 def_bool $(cc-option,-fpatchable-function-entry=16,16)
2487 # Basically: FUNCTION_ALIGNMENT - 5*CFI_CLANG
2517 bool "Mitigations for CPU vulnerabilities"
2520 Say Y here to enable options which enable mitigations for hardware
2521 vulnerabilities (usually related to speculative execution).
2522 Mitigations can be disabled or restricted to SMT systems at runtime
2548 Compile kernel with the retpoline compiler options to guard against
2549 kernel-to-user data leaks by avoiding speculative indirect
2550 branches. Requires a compiler with -mindirect-branch=thunk-extern
2554 bool "Enable return-thunks"
2559 Compile the kernel with the return-thunks compiler option to guard
2560 against kernel-to-user data leaks by avoiding return speculation.
2561 Requires a compiler with -mfunction-return=thunk-extern
2578 Compile the kernel with call depth tracking to mitigate the Intel
2579 SKL Return-Stack-Buffer (RSB) underflow issue. The mitigation is off
2580 by default and needs to be enabled on the kernel command line via the
2581 retbleed=stuff option. For non-affected systems the overhead of this
2582 option is marginal as the call depth tracking is using run-time
2596 trouble shooting. The debug prints need to be enabled on the
2597 kernel command line with 'debug-callthunks'.
2607 spec_rstack_overflow={ibpb,ibpb-vmexit} mitigations.
2615 This mitigates both spectre_v2 and retbleed at great cost to
2623 Enable the SRSO mitigation needed on AMD Zen1-4 machines.
2626 bool "Mitigate Straight-Line-Speculation"
2631 Compile the kernel with straight-line-speculation options to guard
2641 vulnerability which allows unprivileged speculative access to data
2643 instructions to infer the stale vector register data.
2652 allows unprivileged speculative access to stale data previously
2654 See also <file:Documentation/admin-guide/hw-vuln/reg-file-data-sampling.rst>
2657 bool "Mitigate Spectre-BHB (Branch History Injection)"
2662 where the branch history buffer is poisoned to speculatively steer
2664 See <file:Documentation/admin-guide/hw-vuln/spectre.rst>
2673 to data which is available in various CPU internal buffers.
2674 See also <file:Documentation/admin-guide/hw-vuln/mds.rst>
2682 vulnerability that allows unprivileged speculative access to data
2683 which is available in various CPU internal buffers by using
2685 See also <file:Documentation/admin-guide/hw-vuln/tsx_async_abort.rst>
2693 Stale Data Vulnerabilities are a class of memory-mapped I/O (MMIO)
2695 attacker to have access to MMIO.
2697 <file:Documentation/admin-guide/hw-vuln/processor_mmio_stale_data.rst>
2705 hardware vulnerability which allows unprivileged speculative access to data
2707 See <file:Documentation/admin-guide/hw-vuln/l1tf.rst
2717 in many modern microprocessors, similar to Spectre v2. An
2718 unprivileged attacker can use these flaws to bypass conventional
2719 memory security restrictions to gain read access to privileged memory
2730 See also <file:Documentation/admin-guide/hw-vuln/spectre.rst>
2740 victim to gadget code by poisoning the branch target buffer of a CPU
2742 See also <file:Documentation/admin-guide/hw-vuln/spectre.rst>
2751 Sampling (MDS) techniques to infer values returned from special
2756 <file:Documentation/admin-guide/hw-vuln/special-register-buffer-data-sampling.rst>
2764 of speculative execution in a similar way to the Meltdown and Spectre
2795 battery status information, and user-space programs will receive
2799 BIOS by passing the "apm=off" option to the kernel at boot time.
2802 machines with more than one CPU.
2804 In order to use APM, you will need supporting software. For location
2805 and more information, read <file:Documentation/power/apm-acpi.rst>
2806 and the Battery Powered Linux mini-HOWTO, available from
2811 VESA-compliant "green" monitors.
2816 may cause those machines to panic during the boot phase.
2820 random kernel OOPSes or reboots that don't seem to be related to
2829 2) pass the "idle=poll" option to the kernel
2831 the "no387" option to the kernel
2832 4) pass the "floppy=nodma" option to the kernel
2833 5) pass the "mem=4M" option to the kernel (thereby disabling
2835 6) make sure that the CPU is not over clocked.
2839 10) install a better fan for the CPU
2843 To compile this driver as a module, choose M here: the
2852 compliant APM BIOS, you want to say N. However, on the NEC Versa M
2853 series notebooks, it is necessary to say Y because of a BIOS bug.
2861 State, or take power saving steps in response to CPU Idle calls."
2862 This driver will make CPU Idle calls when Linux is idle (unless this
2863 feature is turned off -- see "Do CPU IDLE calls", below). This
2865 will be dependent on your BIOS implementation. You may need to turn
2874 bool "Make CPU Idle calls when idle"
2876 Enable calls to APM CPU Idle/CPU Busy inside the kernel's idle loop.
2878 a slowed CPU clock rate, when the machine is idle. These idle calls
2881 whenever the CPU becomes idle. (On machines with more than one CPU,
2887 Enable console blanking using the APM. Some laptops can use this to
2891 when using the X Window system. This also doesn't have anything to
2892 do with your VESA-compliant power-saving monitor. Further, this
2893 option doesn't work for all laptops -- it might not turn off your
2894 backlight at all, or it might print a lot of errors to the console,
2900 Normally we disable external interrupts while we are making calls to
2901 the APM BIOS as a measure to lessen the effects of a badly behaving
2903 needs to. Unfortunately, some BIOSes do not -- especially those in
2905 suspend, try setting this to Y. Otherwise, say N.
2917 menu "Bus options (PCI etc.)"
2920 prompt "PCI access mode"
2921 depends on X86_32 && PCI
2924 On PCI systems, the BIOS can be used to detect the PCI devices and
2925 determine their configuration. However, some old PCI motherboards
2927 PCI-based systems don't have any BIOS at all. Linux can also try to
2928 detect the PCI hardware directly without using the BIOS.
2931 PCI devices. If you choose "BIOS", the BIOS will be used,
2933 choose "MMConfig", then PCI Express MMCONFIG will be used.
2935 direct access method and falls back to the BIOS if that doesn't
2948 bool "OLPC XO-1"
2958 depends on X86_32 && PCI && (PCI_GOBIOS || PCI_GOANY)
2960 # x86-64 doesn't support PCI BIOS access from long mode so always go direct.
2963 depends on PCI && (X86_64 || (PCI_GODIRECT || PCI_GOANY || PCI_GOOLPC || PCI_GOMMCONFIG))
2966 bool "Support mmconfig PCI config space access" if X86_64
2968 depends on PCI && (ACPI || JAILHOUSE_GUEST)
2973 depends on PCI && OLPC && (PCI_GOOLPC || PCI_GOANY)
2977 depends on PCI && XEN
2985 depends on PCI
2987 Read the PCI windows out of the CNB20LE host bridge. This allows
2988 PCI hotplug to work on systems with the CNB20LE chipset which do
2992 is known to be incomplete.
3001 bus. ISA is an older system, displaced by PCI and newer bus
3002 architectures -- if your target machine is modern, it probably does
3007 # x86_64 have no ISA slots, but can have ISA-style DMA.
3009 bool "ISA-style DMA support" if (X86_64 && EXPERT)
3012 Enables ISA-style DMA support for devices requiring such controllers.
3021 name of a bus system, i.e. the way the CPU talks to the other stuff
3022 inside your box. Other bus systems are PCI, EISA, MicroChannel
3023 (MCA) or VESA. ISA is an older system, now being displaced by PCI;
3031 PCI-IDs of several on-chip devices, so its a good dependency
3037 tristate "NatSemi SCx200 27MHz High-Resolution Timer Support"
3041 This driver provides a clocksource built upon the on-chip
3042 27MHz high-resolution timer. Its also a workaround for
3043 NSC Geode SC-1100's buggy TSC, which loses time when the
3060 bool "OLPC XO-1 Power Management"
3063 Add support for poweroff and suspend of the OLPC XO-1 laptop.
3066 bool "OLPC XO-1 Real Time Clock"
3069 Add support for the XO-1 real time clock, which can be used as a
3073 bool "OLPC XO-1 SCI extras"
3078 Add support for SCI-based features of the OLPC XO-1 laptop:
3079 - EC-driven system wakeups
3080 - Power button
3081 - Ebook switch
3082 - Lid switch
3083 - AC adapter status updates
3084 - Battery status updates
3087 bool "OLPC XO-1.5 SCI extras"
3091 Add support for SCI-based features of the OLPC XO-1.5 laptop:
3092 - EC-driven system wakeups
3093 - AC adapter status updates
3094 - Battery status updates
3110 (GPIO_CS5535 & LEDS_GPIO) to actually use the LEDs
3112 Note: You have to set alix.force=1 for boards with Award BIOS.
3130 bool "Technologic Systems TS-5500 platform support"
3136 This option enables system support for the Technologic Systems TS-5500.
3146 depends on CPU_SUP_AMD && PCI
3159 Include code to run legacy 32-bit programs under a
3160 64-bit kernel. You should likely turn this on, unless you're
3161 100% sure that you don't have any 32-bit programs left.
3168 Make IA32 emulation disabled by default. This prevents loading 32-bit
3169 processes and access to 32-bit syscalls. If unsure, leave it to its
3173 bool "x32 ABI for 64-bit mode"
3175 # llvm-objcopy does not convert x86_64 .note.gnu.property or
3176 # compressed debug sections to x86_x32 properly:
3179 depends on $(success,$(OBJCOPY) --version | head -n1 | grep -qv llvm)
3181 Include code to run binaries for the x32 native 32-bit ABI
3182 for 64-bit processors. An x32 process gets access to the
3183 full 64-bit register file and wide data path while leaving