Lines Matching +full:smp +full:- +full:capable

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:
57 # ported to 32-bit as well. )
159 # Word-size accesses may read uninitialized data past the trailing \0
175 select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP
177 select GENERIC_IRQ_MIGRATION if SMP
181 select GENERIC_PENDING_IRQ if SMP
306 select HOTPLUG_PARALLEL if SMP && X86_64
307 select HOTPLUG_SMT if SMP
308 select HOTPLUG_SPLIT_STARTUP if SMP && X86_32
341 default "elf32-i386" if X86_32
342 default "elf64-x86-64" if X86_64
416 depends on X86_64 && SMP
436 config SMP config
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
489 bool "Enable MSI and MSI-x delivery by posted interrupts"
504 For old smp systems that do not have proper acpi support. Newer systems
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.
579 depends on SMP
583 Adds support for Numascale NumaChip large-SMP systems. Needed to
593 depends on SMP
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"
812 depends on PARAVIRT && SMP
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
918 The HPET provides a stable time base on SMP
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.
974 bool "Enable Maximum number of SMP Processors and NUMA Nodes"
975 depends on X86_64 && SMP && DEBUG_KERNEL
988 # The ranges are different on 32-bit and 64-bit kernels, depending on
998 default 1 if !SMP
1004 default 8 if SMP
1005 default 1 if !SMP
1010 default 8192 if SMP && CPUMASK_OFFSTACK
1011 default 512 if SMP && !CPUMASK_OFFSTACK
1012 default 1 if !SMP
1017 default 8 if SMP
1018 default 1 if !SMP
1024 default 64 if SMP
1025 default 1 if !SMP
1028 int "Maximum number of CPUs" if SMP && !MAXSMP
1042 depends on SMP
1048 by sharing mid-level caches, last-level cache tags or internal
1052 def_bool y if SMP
1056 prompt "Multi-core scheduler support"
1057 depends on SMP
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
1087 depends on !SMP && X86_LOCAL_APIC
1092 depends on X86_32 && !SMP
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
1109 SMP systems and many recent uniprocessor systems have one.
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.
1117 depends on X86_64 || SMP || X86_UP_APIC || PCI_MSI
1124 depends on SMP
1141 entry in the chipset's IO-APIC is masked (as, e.g. the RT
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
1249 plus 16K runtime memory on x86-64,
1322 CS5530A and CS5536 chipsets and the RDC R-321x SoC.
1340 depends on MICROCODE && SMP
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
1528 depends on SMP
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,
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
1708 Saying Y here also fixes a problem with buggy SMP BIOSes which only
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
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
1877 TSX is enabled on TSX capable HW that is believed to be safe against
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
2223 depends on SMP
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.
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.
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
2770 VESA-compliant "green" monitors.
2822 feature is turned off -- see "Do CPU IDLE calls", below). This
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