* [PATCH v3 0/7] x86: Kconfig cleanups and help text improvements
@ 2025-03-21 20:48 David Heidelberg via B4 Relay
2025-03-21 20:48 ` [PATCH v3 1/7] x86/Kconfig: Enable X86_X2APIC by default and improve help text David Heidelberg via B4 Relay
` (7 more replies)
0 siblings, 8 replies; 25+ messages in thread
From: David Heidelberg via B4 Relay @ 2025-03-21 20:48 UTC (permalink / raw)
To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
H. Peter Anvin, Kees Cook, Jonathan Cameron, Lars-Peter Clausen
Cc: linux-kernel, Ingo Molnar, linux-iio, Mateusz Jończyk,
David Heidelberg
I'm resending this mainly because of the first patch, but I find
all other patches worthy too, so here is the rebased bulk.
- David
====
Hello,
There are some problems with Kconfig help texts in the kernel. They are
frequently confusing and use language that is difficult to understand
for people unfamiliar with the feature. Sometimes, the help text was not
updated after important kernel or ecosystem changes. References to
something "future" or "old" are also usually given without specifying
any dates.
First version of this patch series was sent out in February 2022.
Greetings,
Mateusz
Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Signed-off-by: David Heidelberg <david@ixit.cz>
---
Changes in v3:
- Rebased against latest next-20250321.
- Dropped deprecated patches:
2/10 "x86/apic: fix panic message when x2APIC is not supported"
4/10 "x86/Kconfig: drop X86_32_NON_STANDARD"
- Dropped patch I was not very sure about, as there are other refs:
10/10 "x86/Kconfig: remove CONFIG_ISA_BUS"
- Link to v2: https://lore.kernel.org/r/20220911084711.13694-1-mat.jonczyk@o2.pl
---
Mateusz Jończyk (7):
x86/Kconfig: Enable X86_X2APIC by default and improve help text
x86/Kconfig: Always enable ARCH_SPARSEMEM_ENABLE
x86/Kconfig: Move all X86_EXTENDED_PLATFORM options together
x86/Kconfig: Update lists in X86_EXTENDED_PLATFORM
x86/Kconfig: Document CONFIG_PCI_MMCONFIG
x86/Kconfig: Make CONFIG_PCI_CNB20LE_QUIRK depend on X86_32
x86/Kconfig: Document release year of glibc 2.3.3
arch/x86/Kconfig | 85 ++++++++++++++++++++++++++++++++++++++------------------
1 file changed, 58 insertions(+), 27 deletions(-)
---
base-commit: 9388ec571cb1adba59d1cded2300eeb11827679c
change-id: 20250320-x86_x2apic-7e92d0f4c47d
Best regards,
--
David Heidelberg <david@ixit.cz>
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH v3 1/7] x86/Kconfig: Enable X86_X2APIC by default and improve help text
2025-03-21 20:48 [PATCH v3 0/7] x86: Kconfig cleanups and help text improvements David Heidelberg via B4 Relay
@ 2025-03-21 20:48 ` David Heidelberg via B4 Relay
2025-03-22 15:45 ` [PATCH] x86/Kconfig: correct X86_X2APIC " Mateusz Jończyk
2025-03-25 7:36 ` [tip: x86/urgent] x86/Kconfig: Enable X86_X2APIC by default and improve " tip-bot2 for Mateusz Jończyk
2025-03-21 20:48 ` [PATCH v3 2/7] x86/Kconfig: Always enable ARCH_SPARSEMEM_ENABLE David Heidelberg via B4 Relay
` (6 subsequent siblings)
7 siblings, 2 replies; 25+ messages in thread
From: David Heidelberg via B4 Relay @ 2025-03-21 20:48 UTC (permalink / raw)
To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
H. Peter Anvin, Kees Cook, Jonathan Cameron, Lars-Peter Clausen
Cc: linux-kernel, Ingo Molnar, linux-iio, Mateusz Jończyk,
David Heidelberg
From: Mateusz Jończyk <mat.jonczyk@o2.pl>
As many current platforms (most modern Intel CPUs and QEMU) have x2APIC
present, enable CONFIG_X86_X2APIC by default as it gives performance
and functionality benefits. Additionally, if the BIOS has already
switched APIC to x2APIC mode, but CONFIG_X86_X2APIC is disabled, the
kernel will panic in arch/x86/kernel/apic/apic.c .
Also improve the help text, which was confusing and really did not
describe what the feature is about.
Help text references and discussion:
Both Intel [1] and AMD [3] spell the name as "x2APIC", not "x2apic".
"It allows faster access to the local APIC"
[2], chapter 2.1, page 15:
"More efficient MSR interface to access APIC registers."
"x2APIC was introduced in Intel CPUs around 2008":
I was unable to find specific information which Intel CPUs
support x2APIC. Wikipedia claims it was "introduced with the
Nehalem microarchitecture in November 2008", but I was not able
to confirm this independently. At least some Nehalem CPUs do not
support x2APIC [1].
The documentation [2] is dated June 2008. Linux kernel also
introduced x2APIC support in 2008, so the year seems to be
right.
"and in AMD EPYC CPUs in 2019":
[3], page 15:
"AMD introduced an x2APIC in our EPYC 7002 Series processors for
the first time."
"It is also frequently emulated in virtual machines, even when the host
CPU does not support it."
[1]
"If this configuration option is disabled, the kernel will not boot on
some platforms that have x2APIC enabled."
According to some BIOS documentation [4], the x2APIC may be
"disabled", "enabled", or "force enabled" on this system.
I think that "enabled" means "made available to the operating
system, but not already turned on" and "force enabled" means
"already switched to x2APIC mode when the OS boots". Only in the
latter mode a kernel without CONFIG_X86_X2APIC will panic in
validate_x2apic() in arch/x86/kernel/apic/apic.c .
QEMU 4.2.1 and my Intel HP laptop (bought in 2019) use the
"enabled" mode and the kernel does not panic.
[1] "Re: [Qemu-devel] [Question] why x2apic's set by default without host sup"
https://lists.gnu.org/archive/html/qemu-devel/2013-07/msg03527.html
[2] Intel® 64 Architecture x2APIC Specification,
( https://www.naic.edu/~phil/software/intel/318148.pdf )
[3] Workload Tuning Guide for AMD EPYC ™ 7002 Series Processor Based
Servers Application Note,
https://developer.amd.com/wp-content/resources/56745_0.80.pdf
[4] UEFI System Utilities and Shell Command Mobile Help for HPE ProLiant
Gen10, ProLiant Gen10 Plus Servers and HPE Synergy:
Enabling or disabling Processor x2APIC Support
https://techlibrary.hpe.com/docs/iss/proliant-gen10-uefi/s_enable_disable_x2APIC_support.html
Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
---
arch/x86/Kconfig | 25 ++++++++++++++++---------
1 file changed, 16 insertions(+), 9 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 5924c753097b0030fddeba246c72ff8b86e6c8ae..10f48afd67f6fd7d250f2effddcc5bc927b057af 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -462,20 +462,27 @@ config SMP
If you don't know what to do here, say N.
config X86_X2APIC
- bool "Support x2apic"
+ bool "x2APIC interrupt controller architecture support"
depends on X86_LOCAL_APIC && X86_64 && (IRQ_REMAP || HYPERVISOR_GUEST)
+ default y
help
- This enables x2apic support on CPUs that have this feature.
+ x2APIC is an interrupt controller architecture, a component of which
+ (the local APIC) is present in the CPU. It allows faster access to
+ the local APIC and supports a larger number of CPUs in the system
+ than the predecessors.
- This allows 32-bit apic IDs (so it can support very large systems),
- and accesses the local apic via MSRs not via mmio.
+ x2APIC was introduced in Intel CPUs around 2008 and in AMD EPYC CPUs
+ in 2019, but it can be disabled by the BIOS. It is also frequently
+ emulated in virtual machines, even when the host CPU does not support
+ it. Support in the CPU can be checked by executing
+ cat /proc/cpuinfo | grep x2apic
- Some Intel systems circa 2022 and later are locked into x2APIC mode
- and can not fall back to the legacy APIC modes if SGX or TDX are
- enabled in the BIOS. They will boot with very reduced functionality
- without enabling this option.
+ If this configuration option is disabled, the kernel will not boot on
+ some platforms that have x2APIC enabled.
- If you don't know what to do here, say N.
+ Say N if you know that your platform does not have x2APIC.
+
+ Otherwise, say Y.
config X86_POSTED_MSI
bool "Enable MSI and MSI-x delivery by posted interrupts"
--
2.49.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH v3 2/7] x86/Kconfig: Always enable ARCH_SPARSEMEM_ENABLE
2025-03-21 20:48 [PATCH v3 0/7] x86: Kconfig cleanups and help text improvements David Heidelberg via B4 Relay
2025-03-21 20:48 ` [PATCH v3 1/7] x86/Kconfig: Enable X86_X2APIC by default and improve help text David Heidelberg via B4 Relay
@ 2025-03-21 20:48 ` David Heidelberg via B4 Relay
2025-03-25 7:36 ` [tip: x86/urgent] " tip-bot2 for Mateusz Jończyk
2025-03-21 20:48 ` [PATCH v3 3/7] x86/Kconfig: Move all X86_EXTENDED_PLATFORM options together David Heidelberg via B4 Relay
` (5 subsequent siblings)
7 siblings, 1 reply; 25+ messages in thread
From: David Heidelberg via B4 Relay @ 2025-03-21 20:48 UTC (permalink / raw)
To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
H. Peter Anvin, Kees Cook, Jonathan Cameron, Lars-Peter Clausen
Cc: linux-kernel, Ingo Molnar, linux-iio, Mateusz Jończyk,
David Heidelberg
From: Mateusz Jończyk <mat.jonczyk@o2.pl>
It appears that (X86_64 || X86_32) is always true on x86.
This logical OR directive was introduced in
commit 6ea3038648da ("arch/x86: remove depends on CONFIG_EXPERIMENTAL")
probably by a trivial mistake.
Fixes: 6ea3038648da ("arch/x86: remove depends on CONFIG_EXPERIMENTAL")
Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Signed-off-by: David Heideberg <david@ixit.cz>
---
arch/x86/Kconfig | 1 -
1 file changed, 1 deletion(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 10f48afd67f6fd7d250f2effddcc5bc927b057af..38a915f739af45f1b23a197032ce6cff94fdd81d 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1574,7 +1574,6 @@ config ARCH_FLATMEM_ENABLE
config ARCH_SPARSEMEM_ENABLE
def_bool y
- depends on X86_64 || NUMA || X86_32
select SPARSEMEM_STATIC if X86_32
select SPARSEMEM_VMEMMAP_ENABLE if X86_64
--
2.49.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH v3 3/7] x86/Kconfig: Move all X86_EXTENDED_PLATFORM options together
2025-03-21 20:48 [PATCH v3 0/7] x86: Kconfig cleanups and help text improvements David Heidelberg via B4 Relay
2025-03-21 20:48 ` [PATCH v3 1/7] x86/Kconfig: Enable X86_X2APIC by default and improve help text David Heidelberg via B4 Relay
2025-03-21 20:48 ` [PATCH v3 2/7] x86/Kconfig: Always enable ARCH_SPARSEMEM_ENABLE David Heidelberg via B4 Relay
@ 2025-03-21 20:48 ` David Heidelberg via B4 Relay
2025-03-25 7:36 ` [tip: x86/urgent] " tip-bot2 for Mateusz Jończyk
2025-03-21 20:48 ` [PATCH v3 4/7] x86/Kconfig: Update lists in X86_EXTENDED_PLATFORM David Heidelberg via B4 Relay
` (4 subsequent siblings)
7 siblings, 1 reply; 25+ messages in thread
From: David Heidelberg via B4 Relay @ 2025-03-21 20:48 UTC (permalink / raw)
To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
H. Peter Anvin, Kees Cook, Jonathan Cameron, Lars-Peter Clausen
Cc: linux-kernel, Ingo Molnar, linux-iio, Mateusz Jończyk,
David Heidelberg
From: Mateusz Jończyk <mat.jonczyk@o2.pl>
so that these options will be displayed together in menuconfig etc.
Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Signed-off-by: David Heidelberg <david@ixit.cz>
---
arch/x86/Kconfig | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 38a915f739af45f1b23a197032ce6cff94fdd81d..9e5dea7c9fd7aeceb727f4c372c8880c9182f7f2 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -676,6 +676,17 @@ config X86_INTEL_QUARK
Say Y here if you have a Quark based system such as the Arduino
compatible Intel Galileo.
+config X86_RDC321X
+ bool "RDC R-321x SoC"
+ depends on X86_32
+ depends on X86_EXTENDED_PLATFORM
+ select M486
+ select X86_REBOOTFIXUPS
+ help
+ This option is needed for RDC R-321x system-on-chip, also known
+ as R-8610-(G).
+ If you don't have one of these chips, you should say N here.
+
config X86_INTEL_LPSS
bool "Intel Low Power Subsystem Support"
depends on X86 && ACPI && PCI
@@ -729,17 +740,6 @@ config IOSF_MBI_DEBUG
If you don't require the option or are in doubt, say N.
-config X86_RDC321X
- bool "RDC R-321x SoC"
- depends on X86_32
- depends on X86_EXTENDED_PLATFORM
- select M486
- select X86_REBOOTFIXUPS
- help
- This option is needed for RDC R-321x system-on-chip, also known
- as R-8610-(G).
- If you don't have one of these chips, you should say N here.
-
config X86_SUPPORTS_MEMORY_FAILURE
def_bool y
# MCE code calls memory_failure():
--
2.49.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH v3 4/7] x86/Kconfig: Update lists in X86_EXTENDED_PLATFORM
2025-03-21 20:48 [PATCH v3 0/7] x86: Kconfig cleanups and help text improvements David Heidelberg via B4 Relay
` (2 preceding siblings ...)
2025-03-21 20:48 ` [PATCH v3 3/7] x86/Kconfig: Move all X86_EXTENDED_PLATFORM options together David Heidelberg via B4 Relay
@ 2025-03-21 20:48 ` David Heidelberg via B4 Relay
2025-03-22 17:50 ` [PATCH] x86/Kconfig: fix lists in X86_EXTENDED_PLATFORM help text Mateusz Jończyk
2025-03-25 7:36 ` [tip: x86/urgent] x86/Kconfig: Update lists in X86_EXTENDED_PLATFORM tip-bot2 for Mateusz Jończyk
2025-03-21 20:48 ` [PATCH v3 5/7] x86/Kconfig: Document CONFIG_PCI_MMCONFIG David Heidelberg via B4 Relay
` (3 subsequent siblings)
7 siblings, 2 replies; 25+ messages in thread
From: David Heidelberg via B4 Relay @ 2025-03-21 20:48 UTC (permalink / raw)
To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
H. Peter Anvin, Kees Cook, Jonathan Cameron, Lars-Peter Clausen
Cc: linux-kernel, Ingo Molnar, linux-iio, Mateusz Jończyk,
David Heidelberg
From: Mateusz Jończyk <mat.jonczyk@o2.pl>
The order of the entries matches the order they appear in Kconfig.
In 2011, AMD Elan was moved to Kconfig.cpu and the dependency on
X86_EXTENDED_PLATFORM was dropped in
commit ce9c99af8d4b ("x86, cpu: Move AMD Elan Kconfig under "Processor family"")
Support for Moorestown MID devices was removed in 2012 in
commit 1a8359e411eb ("x86/mid: Remove Intel Moorestown")
SGI 320/540 (Visual Workstation) was removed in 2014 in
commit c5f9ee3d665a ("x86, platforms: Remove SGI Visual Workstation")
Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Signed-off-by: David Heideberg <david@ixit.cz>
---
arch/x86/Kconfig | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 9e5dea7c9fd7aeceb727f4c372c8880c9182f7f2..fbc9ba30fd1cbfb574399a0632b9f77876ba84a8 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -553,16 +553,20 @@ config X86_EXTENDED_PLATFORM
CONFIG_64BIT.
32-bit platforms (CONFIG_64BIT=n):
- Goldfish (Android emulator)
- AMD Elan
+ Goldfish (mostly Android emulator)
+ Intel CE media processor (CE4100) SoC
+ Intel MID (Mobile Internet Device)
+ Intel Quark
RDC R-321x SoC
- SGI 320/540 (Visual Workstation)
+ STA2X11-based (e.g. Northville)
64-bit platforms (CONFIG_64BIT=y):
Numascale NumaChip
ScaleMP vSMP
SGI Ultraviolet
Merrifield/Moorefield MID devices
+ Goldfish (mostly Android emulator)
+ Intel MID (Mobile Internet Device)
If you have one of these systems, or if you want to build a
generic distribution kernel, say Y here - otherwise say N.
--
2.49.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH v3 5/7] x86/Kconfig: Document CONFIG_PCI_MMCONFIG
2025-03-21 20:48 [PATCH v3 0/7] x86: Kconfig cleanups and help text improvements David Heidelberg via B4 Relay
` (3 preceding siblings ...)
2025-03-21 20:48 ` [PATCH v3 4/7] x86/Kconfig: Update lists in X86_EXTENDED_PLATFORM David Heidelberg via B4 Relay
@ 2025-03-21 20:48 ` David Heidelberg via B4 Relay
2025-03-22 7:11 ` Ingo Molnar
2025-03-25 7:36 ` [tip: x86/urgent] " tip-bot2 for Mateusz Jończyk
2025-03-21 20:48 ` [PATCH v3 6/7] x86/Kconfig: Make CONFIG_PCI_CNB20LE_QUIRK depend on X86_32 David Heidelberg via B4 Relay
` (2 subsequent siblings)
7 siblings, 2 replies; 25+ messages in thread
From: David Heidelberg via B4 Relay @ 2025-03-21 20:48 UTC (permalink / raw)
To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
H. Peter Anvin, Kees Cook, Jonathan Cameron, Lars-Peter Clausen
Cc: linux-kernel, Ingo Molnar, linux-iio, Mateusz Jończyk,
David Heidelberg
From: Mateusz Jończyk <mat.jonczyk@o2.pl>
This configuration option had no help text, so add it.
CONFIG_EXPERT is enabled on some distribution kernels, so people using a
distribution kernel's configuration as a starting point will see this
option.
Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Signed-off-by: David Heideberg <david@ixit.cz>
---
arch/x86/Kconfig | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index fbc9ba30fd1cbfb574399a0632b9f77876ba84a8..64a1e00619df95f559488e3004558a7b0f653df3 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -2914,6 +2914,19 @@ config PCI_MMCONFIG
default y
depends on PCI && (ACPI || JAILHOUSE_GUEST)
depends on X86_64 || (PCI_GOANY || PCI_GOMMCONFIG)
+ help
+ Add support for accessing the PCI configuration space as a memory
+ mapped area. It is the recommended method if the system supports
+ this (it must have PCI Express and ACPI for it to be available).
+
+ In the unlikely case that enabling this configuration option causes
+ problems, the mechanism can be switched off with the 'pci=nommconf'
+ command line parameter.
+
+ Say 'n' only if you are sure that your platform does not support this
+ access method or you have problems caused by it.
+
+ Say 'y' otherwise.
config PCI_OLPC
def_bool y
--
2.49.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH v3 6/7] x86/Kconfig: Make CONFIG_PCI_CNB20LE_QUIRK depend on X86_32
2025-03-21 20:48 [PATCH v3 0/7] x86: Kconfig cleanups and help text improvements David Heidelberg via B4 Relay
` (4 preceding siblings ...)
2025-03-21 20:48 ` [PATCH v3 5/7] x86/Kconfig: Document CONFIG_PCI_MMCONFIG David Heidelberg via B4 Relay
@ 2025-03-21 20:48 ` David Heidelberg via B4 Relay
2025-03-25 7:36 ` [tip: x86/urgent] " tip-bot2 for Mateusz Jończyk
2025-03-21 20:48 ` [PATCH v3 7/7] x86/Kconfig: Document release year of glibc 2.3.3 David Heidelberg via B4 Relay
2025-03-22 15:13 ` [PATCH v3 0/7] x86: Kconfig cleanups and help text improvements Mateusz Jończyk
7 siblings, 1 reply; 25+ messages in thread
From: David Heidelberg via B4 Relay @ 2025-03-21 20:48 UTC (permalink / raw)
To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
H. Peter Anvin, Kees Cook, Jonathan Cameron, Lars-Peter Clausen
Cc: linux-kernel, Ingo Molnar, linux-iio, Mateusz Jończyk,
David Heidelberg
From: Mateusz Jończyk <mat.jonczyk@o2.pl>
I was unable to find a good description of the ServerWorks CNB20LE
chipset. However, it was probably exclusively used with the Pentium III
processor (this CPU model was used in all references to it that I
found where the CPU model was provided: dmesgs in [1] and [2];
[3] page 2; [4]-[7]).
As is widely known, the Pentium III processor did not support the 64-bit
mode, support for which was introduced by Intel a couple of years later.
So it is safe to assume that no systems with the CNB20LE chipset have
amd64 and the CONFIG_PCI_CNB20LE_QUIRK may now depend on X86_32.
Additionally, I have determined that most computers with the CNB20LE
chipset did have ACPI support and this driver was inactive on them.
I have submitted a patch to remove this driver, but it was met with
resistance [8].
[1] Jim Studt, Re: Problem with ServerWorks CNB20LE and lost interrupts
Linux Kernel Mailing List, https://lkml.org/lkml/2002/1/11/111
[2] RedHat Bug 665109 - e100 problems on old Compaq Proliant DL320
https://bugzilla.redhat.com/show_bug.cgi?id=665109
[3] R. Hughes-Jones, S. Dallison, G. Fairey, Performance Measurements on
Gigabit Ethernet NICs and Server Quality Motherboards,
http://datatag.web.cern.ch/papers/pfldnet2003-rhj.doc
[4] "Hardware for Linux",
Probe #d6b5151873 of Intel STL2-bd A28808-302 Desktop Computer (STL2)
https://linux-hardware.org/?probe=d6b5151873
[5] "Hardware for Linux", Probe #0b5d843f10 of Compaq ProLiant DL380
https://linux-hardware.org/?probe=0b5d843f10
[6] Ubuntu Forums, Dell Poweredge 2400 - Adaptec SCSI Bus AIC-7880
https://ubuntuforums.org/showthread.php?t=1689552
[7] Ira W. Snyder, "BISECTED: 2.6.35 (and -git) fail to boot: APIC problems"
https://lkml.org/lkml/2010/8/13/220
[8] Bjorn Helgaas, "Re: [PATCH] x86/pci: drop ServerWorks / Broadcom
CNB20LE PCI host bridge driver"
https://lore.kernel.org/lkml/20220318165535.GA840063@bhelgaas/T/
Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Signed-off-by: David Heideberg <david@ixit.cz>
---
arch/x86/Kconfig | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 64a1e00619df95f559488e3004558a7b0f653df3..ba6ba3a7011554d9cb58fb0acf48d541da8ed69b 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -2941,13 +2941,21 @@ config MMCONF_FAM10H
depends on X86_64 && PCI_MMCONFIG && ACPI
config PCI_CNB20LE_QUIRK
- bool "Read CNB20LE Host Bridge Windows" if EXPERT
- depends on PCI
+ bool "Read PCI host bridge windows from the CNB20LE chipset" if EXPERT
+ depends on X86_32 && PCI
help
Read the PCI windows out of the CNB20LE host bridge. This allows
PCI hotplug to work on systems with the CNB20LE chipset which do
not have ACPI.
+ The ServerWorks (later Broadcom) CNB20LE was a chipset designed
+ most probably only for Pentium III.
+
+ To find out if you have such a chipset, search for a PCI device with
+ 1166:0009 PCI IDs, for example by executing
+ lspci -nn | grep '1166:0009'
+ The code is inactive if there is none.
+
There's no public spec for this chipset, and this functionality
is known to be incomplete.
--
2.49.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH v3 7/7] x86/Kconfig: Document release year of glibc 2.3.3
2025-03-21 20:48 [PATCH v3 0/7] x86: Kconfig cleanups and help text improvements David Heidelberg via B4 Relay
` (5 preceding siblings ...)
2025-03-21 20:48 ` [PATCH v3 6/7] x86/Kconfig: Make CONFIG_PCI_CNB20LE_QUIRK depend on X86_32 David Heidelberg via B4 Relay
@ 2025-03-21 20:48 ` David Heidelberg via B4 Relay
2025-03-22 7:28 ` Ingo Molnar
2025-03-25 7:36 ` [tip: x86/urgent] " tip-bot2 for Mateusz Jończyk
2025-03-22 15:13 ` [PATCH v3 0/7] x86: Kconfig cleanups and help text improvements Mateusz Jończyk
7 siblings, 2 replies; 25+ messages in thread
From: David Heidelberg via B4 Relay @ 2025-03-21 20:48 UTC (permalink / raw)
To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
H. Peter Anvin, Kees Cook, Jonathan Cameron, Lars-Peter Clausen
Cc: linux-kernel, Ingo Molnar, linux-iio, Mateusz Jończyk,
David Heidelberg
From: Mateusz Jończyk <mat.jonczyk@o2.pl>
I wonder how many people were checking their glibc version when
considering whether to enable this option.
Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Signed-off-by: David Heidelberg <david@ixit.cz>
---
arch/x86/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index ba6ba3a7011554d9cb58fb0acf48d541da8ed69b..22dd962f8e5c86741a512e12596bd940cd1dae97 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -2225,7 +2225,7 @@ config HOTPLUG_CPU
config COMPAT_VDSO
def_bool n
- prompt "Disable the 32-bit vDSO (needed for glibc 2.3.3)"
+ prompt "Workaround for glibc 2.3.2 / 2.3.3 (released in year 2003/2004)"
depends on COMPAT_32
help
Certain buggy versions of glibc will crash if they are
--
2.49.0
^ permalink raw reply related [flat|nested] 25+ messages in thread
* Re: [PATCH v3 5/7] x86/Kconfig: Document CONFIG_PCI_MMCONFIG
2025-03-21 20:48 ` [PATCH v3 5/7] x86/Kconfig: Document CONFIG_PCI_MMCONFIG David Heidelberg via B4 Relay
@ 2025-03-22 7:11 ` Ingo Molnar
2025-03-25 7:36 ` [tip: x86/urgent] " tip-bot2 for Mateusz Jończyk
1 sibling, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2025-03-22 7:11 UTC (permalink / raw)
To: david
Cc: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
H. Peter Anvin, Kees Cook, Jonathan Cameron, Lars-Peter Clausen,
linux-kernel, linux-iio, Mateusz Jończyk
* David Heidelberg via B4 Relay <devnull+david.ixit.cz@kernel.org> wrote:
> From: Mateusz Jończyk <mat.jonczyk@o2.pl>
>
> This configuration option had no help text, so add it.
>
> CONFIG_EXPERT is enabled on some distribution kernels, so people using a
> distribution kernel's configuration as a starting point will see this
> option.
>
> Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
> Signed-off-by: David Heideberg <david@ixit.cz>
> ---
> arch/x86/Kconfig | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index fbc9ba30fd1cbfb574399a0632b9f77876ba84a8..64a1e00619df95f559488e3004558a7b0f653df3 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -2914,6 +2914,19 @@ config PCI_MMCONFIG
> default y
> depends on PCI && (ACPI || JAILHOUSE_GUEST)
> depends on X86_64 || (PCI_GOANY || PCI_GOMMCONFIG)
> + help
> + Add support for accessing the PCI configuration space as a memory
> + mapped area. It is the recommended method if the system supports
> + this (it must have PCI Express and ACPI for it to be available).
> +
> + In the unlikely case that enabling this configuration option causes
> + problems, the mechanism can be switched off with the 'pci=nommconf'
> + command line parameter.
> +
> + Say 'n' only if you are sure that your platform does not support this
> + access method or you have problems caused by it.
> +
> + Say 'y' otherwise.
For future reference, the canonical incantantion in Kconfig lore is:
Say Y otherwise.
I have fixed it up in this commit.
Thanks,
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH v3 7/7] x86/Kconfig: Document release year of glibc 2.3.3
2025-03-21 20:48 ` [PATCH v3 7/7] x86/Kconfig: Document release year of glibc 2.3.3 David Heidelberg via B4 Relay
@ 2025-03-22 7:28 ` Ingo Molnar
2025-03-25 7:36 ` [tip: x86/urgent] " tip-bot2 for Mateusz Jończyk
1 sibling, 0 replies; 25+ messages in thread
From: Ingo Molnar @ 2025-03-22 7:28 UTC (permalink / raw)
To: david
Cc: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
H. Peter Anvin, Kees Cook, Jonathan Cameron, Lars-Peter Clausen,
linux-kernel, linux-iio, Mateusz Jończyk, Andy Lutomirski,
Brian Gerst, Juergen Gross, Josh Poimboeuf, Kees Cook
* David Heidelberg via B4 Relay <devnull+david.ixit.cz@kernel.org> wrote:
> From: Mateusz Jończyk <mat.jonczyk@o2.pl>
>
> I wonder how many people were checking their glibc version when
> considering whether to enable this option.
>
> Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
> Signed-off-by: David Heidelberg <david@ixit.cz>
> ---
> arch/x86/Kconfig | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index ba6ba3a7011554d9cb58fb0acf48d541da8ed69b..22dd962f8e5c86741a512e12596bd940cd1dae97 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -2225,7 +2225,7 @@ config HOTPLUG_CPU
>
> config COMPAT_VDSO
> def_bool n
> - prompt "Disable the 32-bit vDSO (needed for glibc 2.3.3)"
> + prompt "Workaround for glibc 2.3.2 / 2.3.3 (released in year 2003/2004)"
> depends on COMPAT_32
> help
> Certain buggy versions of glibc will crash if they are
So I applied this patch, because it's an obvious improvement over the
status quo - but I think we should finally remove COMPAT_VDSO...
Thanks,
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH v3 0/7] x86: Kconfig cleanups and help text improvements
2025-03-21 20:48 [PATCH v3 0/7] x86: Kconfig cleanups and help text improvements David Heidelberg via B4 Relay
` (6 preceding siblings ...)
2025-03-21 20:48 ` [PATCH v3 7/7] x86/Kconfig: Document release year of glibc 2.3.3 David Heidelberg via B4 Relay
@ 2025-03-22 15:13 ` Mateusz Jończyk
7 siblings, 0 replies; 25+ messages in thread
From: Mateusz Jończyk @ 2025-03-22 15:13 UTC (permalink / raw)
To: david, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen,
x86, H. Peter Anvin, Kees Cook, Jonathan Cameron,
Lars-Peter Clausen
Cc: linux-kernel, Ingo Molnar, linux-iio
W dniu 21.03.2025 o 21:48, David Heidelberg via B4 Relay pisze:
> I'm resending this mainly because of the first patch, but I find
> all other patches worthy too, so here is the rebased bulk.
>
> - David
Hello,
Well, thank you for taking care of this. I have quite a lot of unfinished
projects and not so much time for kernel dev now. I'd also like to apologise
for not having responded to your latest e-mail.
Greetings,
Mateusz
> ====
>
> Hello,
>
> There are some problems with Kconfig help texts in the kernel. They are
> frequently confusing and use language that is difficult to understand
> for people unfamiliar with the feature. Sometimes, the help text was not
> updated after important kernel or ecosystem changes. References to
> something "future" or "old" are also usually given without specifying
> any dates.
>
> First version of this patch series was sent out in February 2022.
>
> Greetings,
> Mateusz
>
> Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
> Signed-off-by: David Heidelberg <david@ixit.cz>
> ---
> Changes in v3:
> - Rebased against latest next-20250321.
> - Dropped deprecated patches:
> 2/10 "x86/apic: fix panic message when x2APIC is not supported"
> 4/10 "x86/Kconfig: drop X86_32_NON_STANDARD"
> - Dropped patch I was not very sure about, as there are other refs:
> 10/10 "x86/Kconfig: remove CONFIG_ISA_BUS"
> - Link to v2: https://lore.kernel.org/r/20220911084711.13694-1-mat.jonczyk@o2.pl
>
> ---
> Mateusz Jończyk (7):
> x86/Kconfig: Enable X86_X2APIC by default and improve help text
> x86/Kconfig: Always enable ARCH_SPARSEMEM_ENABLE
> x86/Kconfig: Move all X86_EXTENDED_PLATFORM options together
> x86/Kconfig: Update lists in X86_EXTENDED_PLATFORM
> x86/Kconfig: Document CONFIG_PCI_MMCONFIG
> x86/Kconfig: Make CONFIG_PCI_CNB20LE_QUIRK depend on X86_32
> x86/Kconfig: Document release year of glibc 2.3.3
>
> arch/x86/Kconfig | 85 ++++++++++++++++++++++++++++++++++++++------------------
> 1 file changed, 58 insertions(+), 27 deletions(-)
> ---
> base-commit: 9388ec571cb1adba59d1cded2300eeb11827679c
> change-id: 20250320-x86_x2apic-7e92d0f4c47d
>
> Best regards,
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH] x86/Kconfig: correct X86_X2APIC help text
2025-03-21 20:48 ` [PATCH v3 1/7] x86/Kconfig: Enable X86_X2APIC by default and improve help text David Heidelberg via B4 Relay
@ 2025-03-22 15:45 ` Mateusz Jończyk
2025-03-25 7:36 ` [tip: x86/urgent] x86/Kconfig: Correct " tip-bot2 for Mateusz Jończyk
2025-03-25 7:36 ` [tip: x86/urgent] x86/Kconfig: Enable X86_X2APIC by default and improve " tip-bot2 for Mateusz Jończyk
1 sibling, 1 reply; 25+ messages in thread
From: Mateusz Jończyk @ 2025-03-22 15:45 UTC (permalink / raw)
To: x86, linux-kernel
Cc: Mateusz Jończyk, David Heidelberg, Thomas Gleixner,
Ingo Molnar, Borislav Petkov, Dave Hansen, H. Peter Anvin
Currently, it is not true that the kernel will panic with CONFIG_X86_X2APIC=n
on systems that require it; it will try to disable the APIC and run without
it to at least give the user a clear warning message. See the second
variant of check_x2apic() in arch/x86/kernel/apic/apic.c .
Also massage some other parts of the help text.
Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Fixes: 9232c49ff31c ("x86/Kconfig: Enable X86_X2APIC by default and improve help text")
Cc: David Heidelberg <david@ixit.cz>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
---
This patch fixes a patch currently in tip.git master and depends on it.
I have not verified recently that the kernel will work at all without
CONFIG_X86_X2APIC on systems which force enable it - but it was working
in 2022.
---
arch/x86/Kconfig | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index e72cb7779038..ef48584c8889 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -471,14 +471,15 @@ config X86_X2APIC
in 2019, but it can be disabled by the BIOS. It is also frequently
emulated in virtual machines, even when the host CPU does not support
it. Support in the CPU can be checked by executing
- cat /proc/cpuinfo | grep x2apic
+ grep x2apic /proc/cpuinfo
- If this configuration option is disabled, the kernel will not boot on
- some platforms that have x2APIC enabled.
+ If this configuration option is disabled, the kernel will boot with
+ very reduced functionality and performance on some platforms that
+ have x2APIC enabled. On the other hand, on hardware that does not
+ support x2APIC, a kernel with this option enabled will just fallback
+ to older APIC implementations.
- Say N if you know that your platform does not have x2APIC.
-
- Otherwise, say Y.
+ If in doubt, say Y.
config X86_POSTED_MSI
bool "Enable MSI and MSI-x delivery by posted interrupts"
--
2.25.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH] x86/Kconfig: fix lists in X86_EXTENDED_PLATFORM help text
2025-03-21 20:48 ` [PATCH v3 4/7] x86/Kconfig: Update lists in X86_EXTENDED_PLATFORM David Heidelberg via B4 Relay
@ 2025-03-22 17:50 ` Mateusz Jończyk
2025-03-23 3:14 ` Andy Shevchenko
2025-03-25 7:36 ` [tip: x86/urgent] x86/Kconfig: Fix " tip-bot2 for Mateusz Jończyk
2025-03-25 7:36 ` [tip: x86/urgent] x86/Kconfig: Update lists in X86_EXTENDED_PLATFORM tip-bot2 for Mateusz Jończyk
1 sibling, 2 replies; 25+ messages in thread
From: Mateusz Jończyk @ 2025-03-22 17:50 UTC (permalink / raw)
To: linux-kernel, x86
Cc: Mateusz Jończyk, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, Dave Hansen, H. Peter Anvin, David Heideberg
Support for STA2X11-based systems was removed in February in
commit dcbb01fbb7ae ("x86/pci: Remove old STA2x11 support")
Intel MID for 32-bit platforms was removed from this list also in
February in
commit ca5955dd5f08 ("x86/cpu: Document CONFIG_X86_INTEL_MID as 64-bit-only")
Intel MID for 64-bit platforms is a duplicate for "Merrifield/Moorefield
MID devices".
Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Fixes: 4047e8773fb6 ("x86/Kconfig: Update lists in X86_EXTENDED_PLATFORM")
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: David Heideberg <david@ixit.cz>
---
Hello,
I have re-reviewed my old patches resubmitted recently by David Heidelberg
and applied today by Ingo Molnar.
Only two of them needed updates, the other one was in
commit 9232c49ff31c ("x86/Kconfig: Enable X86_X2APIC by default and improve help text")
I am sending the updates as separate patches to be applied on top of tip.git.
Once again thanks to David.
Greetings,
Mateusz
---
arch/x86/Kconfig | 3 ---
1 file changed, 3 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index ef48584c8889..ce46252af1e5 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -545,10 +545,8 @@ config X86_EXTENDED_PLATFORM
32-bit platforms (CONFIG_64BIT=n):
Goldfish (mostly Android emulator)
Intel CE media processor (CE4100) SoC
- Intel MID (Mobile Internet Device)
Intel Quark
RDC R-321x SoC
- STA2X11-based (e.g. Northville)
64-bit platforms (CONFIG_64BIT=y):
Numascale NumaChip
@@ -556,7 +554,6 @@ config X86_EXTENDED_PLATFORM
SGI Ultraviolet
Merrifield/Moorefield MID devices
Goldfish (mostly Android emulator)
- Intel MID (Mobile Internet Device)
If you have one of these systems, or if you want to build a
generic distribution kernel, say Y here - otherwise say N.
--
2.25.1
^ permalink raw reply related [flat|nested] 25+ messages in thread
* Re: [PATCH] x86/Kconfig: fix lists in X86_EXTENDED_PLATFORM help text
2025-03-22 17:50 ` [PATCH] x86/Kconfig: fix lists in X86_EXTENDED_PLATFORM help text Mateusz Jończyk
@ 2025-03-23 3:14 ` Andy Shevchenko
2025-03-25 7:22 ` Ingo Molnar
2025-03-25 7:36 ` [tip: x86/urgent] x86/Kconfig: Fix " tip-bot2 for Mateusz Jończyk
1 sibling, 1 reply; 25+ messages in thread
From: Andy Shevchenko @ 2025-03-23 3:14 UTC (permalink / raw)
To: Mateusz Jończyk
Cc: linux-kernel, x86, Thomas Gleixner, Ingo Molnar, Borislav Petkov,
Dave Hansen, H. Peter Anvin, David Heideberg
Sat, Mar 22, 2025 at 06:50:52PM +0100, Mateusz Jończyk kirjoitti:
> Support for STA2X11-based systems was removed in February in
> commit dcbb01fbb7ae ("x86/pci: Remove old STA2x11 support")
>
> Intel MID for 32-bit platforms was removed from this list also in
Was it? It's rather hidden and not recommended as far as I understand.
> February in commit ca5955dd5f08 ("x86/cpu: Document CONFIG_X86_INTEL_MID as
> 64-bit-only")
> Intel MID for 64-bit platforms is a duplicate for "Merrifield/Moorefield
> MID devices".
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH] x86/Kconfig: fix lists in X86_EXTENDED_PLATFORM help text
2025-03-23 3:14 ` Andy Shevchenko
@ 2025-03-25 7:22 ` Ingo Molnar
2025-03-25 14:14 ` Andy Shevchenko
0 siblings, 1 reply; 25+ messages in thread
From: Ingo Molnar @ 2025-03-25 7:22 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Mateusz Jończyk, linux-kernel, x86, Thomas Gleixner,
Ingo Molnar, Borislav Petkov, Dave Hansen, H. Peter Anvin,
David Heideberg
* Andy Shevchenko <andy.shevchenko@gmail.com> wrote:
> Sat, Mar 22, 2025 at 06:50:52PM +0100, Mateusz Jończyk kirjoitti:
> > Support for STA2X11-based systems was removed in February in
> > commit dcbb01fbb7ae ("x86/pci: Remove old STA2x11 support")
> >
> > Intel MID for 32-bit platforms was removed from this list also in
>
> Was it? It's rather hidden and not recommended as far as I understand.
Well, with the '32-bit' qualifier the statement is true, isn't it?
ca5955dd5f08 removed a MID reference from the 32-bit list and added a
different one to the 64-bit list:
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -549,12 +549,12 @@ config X86_EXTENDED_PLATFORM
RDC R-321x SoC
SGI 320/540 (Visual Workstation)
STA2X11-based (e.g. Northville)
- Moorestown MID devices
64-bit platforms (CONFIG_64BIT=y):
Numascale NumaChip
ScaleMP vSMP
SGI Ultraviolet
+ Merrifield/Moorefield MID devices
If you have one of these systems, or if you want to build a
generic distribution kernel, say Y here - otherwise say N.
Thanks,
Ingo
^ permalink raw reply [flat|nested] 25+ messages in thread
* [tip: x86/urgent] x86/Kconfig: Fix lists in X86_EXTENDED_PLATFORM help text
2025-03-22 17:50 ` [PATCH] x86/Kconfig: fix lists in X86_EXTENDED_PLATFORM help text Mateusz Jończyk
2025-03-23 3:14 ` Andy Shevchenko
@ 2025-03-25 7:36 ` tip-bot2 for Mateusz Jończyk
1 sibling, 0 replies; 25+ messages in thread
From: tip-bot2 for Mateusz Jończyk @ 2025-03-25 7:36 UTC (permalink / raw)
To: linux-tip-commits
Cc: mat.jonczyk, Ingo Molnar, Andy Shevchenko, x86, linux-kernel
The following commit has been merged into the x86/urgent branch of tip:
Commit-ID: 2704ad556cf2b1f3a08526f4f12f9200cf7dcb03
Gitweb: https://git.kernel.org/tip/2704ad556cf2b1f3a08526f4f12f9200cf7dcb03
Author: Mateusz Jończyk <mat.jonczyk@o2.pl>
AuthorDate: Sat, 22 Mar 2025 18:50:52 +01:00
Committer: Ingo Molnar <mingo@kernel.org>
CommitterDate: Tue, 25 Mar 2025 08:22:26 +01:00
x86/Kconfig: Fix lists in X86_EXTENDED_PLATFORM help text
Support for STA2X11-based systems was removed in February in:
dcbb01fbb7ae ("x86/pci: Remove old STA2x11 support")
Intel MID for 32-bit platforms was removed from this list also in
February in:
ca5955dd5f08 ("x86/cpu: Document CONFIG_X86_INTEL_MID as 64-bit-only")
Intel MID for 64-bit platforms is a duplicate for "Merrifield/Moorefield
MID devices".
Fixes: 4047e8773fb6 ("x86/Kconfig: Update lists in X86_EXTENDED_PLATFORM")
Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Andy Shevchenko <andy@kernel.org>
Link: https://lore.kernel.org/r/20250322175052.43611-1-mat.jonczyk@o2.pl
---
arch/x86/Kconfig | 3 ---
1 file changed, 3 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index ef48584..ce46252 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -545,10 +545,8 @@ config X86_EXTENDED_PLATFORM
32-bit platforms (CONFIG_64BIT=n):
Goldfish (mostly Android emulator)
Intel CE media processor (CE4100) SoC
- Intel MID (Mobile Internet Device)
Intel Quark
RDC R-321x SoC
- STA2X11-based (e.g. Northville)
64-bit platforms (CONFIG_64BIT=y):
Numascale NumaChip
@@ -556,7 +554,6 @@ config X86_EXTENDED_PLATFORM
SGI Ultraviolet
Merrifield/Moorefield MID devices
Goldfish (mostly Android emulator)
- Intel MID (Mobile Internet Device)
If you have one of these systems, or if you want to build a
generic distribution kernel, say Y here - otherwise say N.
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [tip: x86/urgent] x86/Kconfig: Correct X86_X2APIC help text
2025-03-22 15:45 ` [PATCH] x86/Kconfig: correct X86_X2APIC " Mateusz Jończyk
@ 2025-03-25 7:36 ` tip-bot2 for Mateusz Jończyk
0 siblings, 0 replies; 25+ messages in thread
From: tip-bot2 for Mateusz Jończyk @ 2025-03-25 7:36 UTC (permalink / raw)
To: linux-tip-commits; +Cc: mat.jonczyk, Ingo Molnar, x86, linux-kernel
The following commit has been merged into the x86/urgent branch of tip:
Commit-ID: 99bb1bd810eaf37e15ef757a30a815e774a2445b
Gitweb: https://git.kernel.org/tip/99bb1bd810eaf37e15ef757a30a815e774a2445b
Author: Mateusz Jończyk <mat.jonczyk@o2.pl>
AuthorDate: Sat, 22 Mar 2025 16:45:41 +01:00
Committer: Ingo Molnar <mingo@kernel.org>
CommitterDate: Tue, 25 Mar 2025 08:17:49 +01:00
x86/Kconfig: Correct X86_X2APIC help text
Currently, it is not true that the kernel will panic with CONFIG_X86_X2APIC=n
on systems that require it; it will try to disable the APIC and run without
it to at least give the user a clear warning message. See the second
variant of check_x2apic() in arch/x86/kernel/apic/apic.c .
Also massage some other parts of the help text.
Fixes: 9232c49ff31c ("x86/Kconfig: Enable X86_X2APIC by default and improve help text")
Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20250322154541.40325-1-mat.jonczyk@o2.pl
---
arch/x86/Kconfig | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index e72cb77..ef48584 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -471,14 +471,15 @@ config X86_X2APIC
in 2019, but it can be disabled by the BIOS. It is also frequently
emulated in virtual machines, even when the host CPU does not support
it. Support in the CPU can be checked by executing
- cat /proc/cpuinfo | grep x2apic
+ grep x2apic /proc/cpuinfo
- If this configuration option is disabled, the kernel will not boot on
- some platforms that have x2APIC enabled.
+ If this configuration option is disabled, the kernel will boot with
+ very reduced functionality and performance on some platforms that
+ have x2APIC enabled. On the other hand, on hardware that does not
+ support x2APIC, a kernel with this option enabled will just fallback
+ to older APIC implementations.
- Say N if you know that your platform does not have x2APIC.
-
- Otherwise, say Y.
+ If in doubt, say Y.
config X86_POSTED_MSI
bool "Enable MSI and MSI-x delivery by posted interrupts"
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [tip: x86/urgent] x86/Kconfig: Document release year of glibc 2.3.3
2025-03-21 20:48 ` [PATCH v3 7/7] x86/Kconfig: Document release year of glibc 2.3.3 David Heidelberg via B4 Relay
2025-03-22 7:28 ` Ingo Molnar
@ 2025-03-25 7:36 ` tip-bot2 for Mateusz Jończyk
1 sibling, 0 replies; 25+ messages in thread
From: tip-bot2 for Mateusz Jończyk @ 2025-03-25 7:36 UTC (permalink / raw)
To: linux-tip-commits
Cc: mat.jonczyk, David Heidelberg, Ingo Molnar, H. Peter Anvin,
Linus Torvalds, x86, linux-kernel
The following commit has been merged into the x86/urgent branch of tip:
Commit-ID: de7115636c41fd0c654f5865d513df52a0798f5c
Gitweb: https://git.kernel.org/tip/de7115636c41fd0c654f5865d513df52a0798f5c
Author: Mateusz Jończyk <mat.jonczyk@o2.pl>
AuthorDate: Fri, 21 Mar 2025 21:48:49 +01:00
Committer: Ingo Molnar <mingo@kernel.org>
CommitterDate: Sat, 22 Mar 2025 08:08:57 +01:00
x86/Kconfig: Document release year of glibc 2.3.3
I wonder how many people were checking their glibc version when
considering whether to enable this option.
Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Signed-off-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/20250321-x86_x2apic-v3-7-b0cbaa6fa338@ixit.cz
---
arch/x86/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 1090eda..e72cb77 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -2213,7 +2213,7 @@ config HOTPLUG_CPU
config COMPAT_VDSO
def_bool n
- prompt "Disable the 32-bit vDSO (needed for glibc 2.3.3)"
+ prompt "Workaround for glibc 2.3.2 / 2.3.3 (released in year 2003/2004)"
depends on COMPAT_32
help
Certain buggy versions of glibc will crash if they are
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [tip: x86/urgent] x86/Kconfig: Make CONFIG_PCI_CNB20LE_QUIRK depend on X86_32
2025-03-21 20:48 ` [PATCH v3 6/7] x86/Kconfig: Make CONFIG_PCI_CNB20LE_QUIRK depend on X86_32 David Heidelberg via B4 Relay
@ 2025-03-25 7:36 ` tip-bot2 for Mateusz Jończyk
0 siblings, 0 replies; 25+ messages in thread
From: tip-bot2 for Mateusz Jończyk @ 2025-03-25 7:36 UTC (permalink / raw)
To: linux-tip-commits
Cc: mat.jonczyk, David Heideberg, Ingo Molnar, H. Peter Anvin,
Linus Torvalds, x86, linux-kernel
The following commit has been merged into the x86/urgent branch of tip:
Commit-ID: d9f87802676bb23b9425aea8ad95c76ad9b50c6e
Gitweb: https://git.kernel.org/tip/d9f87802676bb23b9425aea8ad95c76ad9b50c6e
Author: Mateusz Jończyk <mat.jonczyk@o2.pl>
AuthorDate: Fri, 21 Mar 2025 21:48:48 +01:00
Committer: Ingo Molnar <mingo@kernel.org>
CommitterDate: Sat, 22 Mar 2025 08:08:57 +01:00
x86/Kconfig: Make CONFIG_PCI_CNB20LE_QUIRK depend on X86_32
I was unable to find a good description of the ServerWorks CNB20LE
chipset. However, it was probably exclusively used with the Pentium III
processor (this CPU model was used in all references to it that I
found where the CPU model was provided: dmesgs in [1] and [2];
[3] page 2; [4]-[7]).
As is widely known, the Pentium III processor did not support the 64-bit
mode, support for which was introduced by Intel a couple of years later.
So it is safe to assume that no systems with the CNB20LE chipset have
amd64 and the CONFIG_PCI_CNB20LE_QUIRK may now depend on X86_32.
Additionally, I have determined that most computers with the CNB20LE
chipset did have ACPI support and this driver was inactive on them.
I have submitted a patch to remove this driver, but it was met with
resistance [8].
[1] Jim Studt, Re: Problem with ServerWorks CNB20LE and lost interrupts
Linux Kernel Mailing List, https://lkml.org/lkml/2002/1/11/111
[2] RedHat Bug 665109 - e100 problems on old Compaq Proliant DL320
https://bugzilla.redhat.com/show_bug.cgi?id=665109
[3] R. Hughes-Jones, S. Dallison, G. Fairey, Performance Measurements on
Gigabit Ethernet NICs and Server Quality Motherboards,
http://datatag.web.cern.ch/papers/pfldnet2003-rhj.doc
[4] "Hardware for Linux",
Probe #d6b5151873 of Intel STL2-bd A28808-302 Desktop Computer (STL2)
https://linux-hardware.org/?probe=d6b5151873
[5] "Hardware for Linux", Probe #0b5d843f10 of Compaq ProLiant DL380
https://linux-hardware.org/?probe=0b5d843f10
[6] Ubuntu Forums, Dell Poweredge 2400 - Adaptec SCSI Bus AIC-7880
https://ubuntuforums.org/showthread.php?t=1689552
[7] Ira W. Snyder, "BISECTED: 2.6.35 (and -git) fail to boot: APIC problems"
https://lkml.org/lkml/2010/8/13/220
[8] Bjorn Helgaas, "Re: [PATCH] x86/pci: drop ServerWorks / Broadcom
CNB20LE PCI host bridge driver"
https://lore.kernel.org/lkml/20220318165535.GA840063@bhelgaas/T/
Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Signed-off-by: David Heideberg <david@ixit.cz>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/20250321-x86_x2apic-v3-6-b0cbaa6fa338@ixit.cz
---
arch/x86/Kconfig | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index a079ecf..1090eda 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -2929,13 +2929,21 @@ config MMCONF_FAM10H
depends on X86_64 && PCI_MMCONFIG && ACPI
config PCI_CNB20LE_QUIRK
- bool "Read CNB20LE Host Bridge Windows" if EXPERT
- depends on PCI
+ bool "Read PCI host bridge windows from the CNB20LE chipset" if EXPERT
+ depends on X86_32 && PCI
help
Read the PCI windows out of the CNB20LE host bridge. This allows
PCI hotplug to work on systems with the CNB20LE chipset which do
not have ACPI.
+ The ServerWorks (later Broadcom) CNB20LE was a chipset designed
+ most probably only for Pentium III.
+
+ To find out if you have such a chipset, search for a PCI device with
+ 1166:0009 PCI IDs, for example by executing
+ lspci -nn | grep '1166:0009'
+ The code is inactive if there is none.
+
There's no public spec for this chipset, and this functionality
is known to be incomplete.
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [tip: x86/urgent] x86/Kconfig: Document CONFIG_PCI_MMCONFIG
2025-03-21 20:48 ` [PATCH v3 5/7] x86/Kconfig: Document CONFIG_PCI_MMCONFIG David Heidelberg via B4 Relay
2025-03-22 7:11 ` Ingo Molnar
@ 2025-03-25 7:36 ` tip-bot2 for Mateusz Jończyk
1 sibling, 0 replies; 25+ messages in thread
From: tip-bot2 for Mateusz Jończyk @ 2025-03-25 7:36 UTC (permalink / raw)
To: linux-tip-commits
Cc: mat.jonczyk, David Heideberg, Ingo Molnar, H. Peter Anvin,
Linus Torvalds, x86, linux-kernel
The following commit has been merged into the x86/urgent branch of tip:
Commit-ID: 21d8fb8d4e7071b2e60bc48c217ff1b4ce8cb855
Gitweb: https://git.kernel.org/tip/21d8fb8d4e7071b2e60bc48c217ff1b4ce8cb855
Author: Mateusz Jończyk <mat.jonczyk@o2.pl>
AuthorDate: Fri, 21 Mar 2025 21:48:47 +01:00
Committer: Ingo Molnar <mingo@kernel.org>
CommitterDate: Sat, 22 Mar 2025 08:08:20 +01:00
x86/Kconfig: Document CONFIG_PCI_MMCONFIG
This configuration option had no help text, so add it.
CONFIG_EXPERT is enabled on some distribution kernels, so people using a
distribution kernel's configuration as a starting point will see this
option.
[ mingo: Standardized the new Kconfig text a bit. ]
Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Signed-off-by: David Heideberg <david@ixit.cz>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/20250321-x86_x2apic-v3-5-b0cbaa6fa338@ixit.cz
---
arch/x86/Kconfig | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 917cd2f..a079ecf 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -2902,6 +2902,19 @@ config PCI_MMCONFIG
default y
depends on PCI && (ACPI || JAILHOUSE_GUEST)
depends on X86_64 || (PCI_GOANY || PCI_GOMMCONFIG)
+ help
+ Add support for accessing the PCI configuration space as a memory
+ mapped area. It is the recommended method if the system supports
+ this (it must have PCI Express and ACPI for it to be available).
+
+ In the unlikely case that enabling this configuration option causes
+ problems, the mechanism can be switched off with the 'pci=nommconf'
+ command line parameter.
+
+ Say N only if you are sure that your platform does not support this
+ access method or you have problems caused by it.
+
+ Say Y otherwise.
config PCI_OLPC
def_bool y
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [tip: x86/urgent] x86/Kconfig: Update lists in X86_EXTENDED_PLATFORM
2025-03-21 20:48 ` [PATCH v3 4/7] x86/Kconfig: Update lists in X86_EXTENDED_PLATFORM David Heidelberg via B4 Relay
2025-03-22 17:50 ` [PATCH] x86/Kconfig: fix lists in X86_EXTENDED_PLATFORM help text Mateusz Jończyk
@ 2025-03-25 7:36 ` tip-bot2 for Mateusz Jończyk
1 sibling, 0 replies; 25+ messages in thread
From: tip-bot2 for Mateusz Jończyk @ 2025-03-25 7:36 UTC (permalink / raw)
To: linux-tip-commits
Cc: mat.jonczyk, David Heideberg, Ingo Molnar, H. Peter Anvin,
Linus Torvalds, x86, linux-kernel
The following commit has been merged into the x86/urgent branch of tip:
Commit-ID: 4047e8773fb627df3779291d9138e425537573af
Gitweb: https://git.kernel.org/tip/4047e8773fb627df3779291d9138e425537573af
Author: Mateusz Jończyk <mat.jonczyk@o2.pl>
AuthorDate: Fri, 21 Mar 2025 21:48:46 +01:00
Committer: Ingo Molnar <mingo@kernel.org>
CommitterDate: Sat, 22 Mar 2025 08:02:16 +01:00
x86/Kconfig: Update lists in X86_EXTENDED_PLATFORM
The order of the entries matches the order they appear in Kconfig.
In 2011, AMD Elan was moved to Kconfig.cpu and the dependency on
X86_EXTENDED_PLATFORM was dropped in:
ce9c99af8d4b ("x86, cpu: Move AMD Elan Kconfig under "Processor family"")
Support for Moorestown MID devices was removed in 2012 in:
1a8359e411eb ("x86/mid: Remove Intel Moorestown")
SGI 320/540 (Visual Workstation) was removed in 2014 in:
c5f9ee3d665a ("x86, platforms: Remove SGI Visual Workstation")
Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Signed-off-by: David Heideberg <david@ixit.cz>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/20250321-x86_x2apic-v3-4-b0cbaa6fa338@ixit.cz
---
arch/x86/Kconfig | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index d6155b9..917cd2f 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -542,16 +542,20 @@ config X86_EXTENDED_PLATFORM
CONFIG_64BIT.
32-bit platforms (CONFIG_64BIT=n):
- Goldfish (Android emulator)
- AMD Elan
+ Goldfish (mostly Android emulator)
+ Intel CE media processor (CE4100) SoC
+ Intel MID (Mobile Internet Device)
+ Intel Quark
RDC R-321x SoC
- SGI 320/540 (Visual Workstation)
+ STA2X11-based (e.g. Northville)
64-bit platforms (CONFIG_64BIT=y):
Numascale NumaChip
ScaleMP vSMP
SGI Ultraviolet
Merrifield/Moorefield MID devices
+ Goldfish (mostly Android emulator)
+ Intel MID (Mobile Internet Device)
If you have one of these systems, or if you want to build a
generic distribution kernel, say Y here - otherwise say N.
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [tip: x86/urgent] x86/Kconfig: Move all X86_EXTENDED_PLATFORM options together
2025-03-21 20:48 ` [PATCH v3 3/7] x86/Kconfig: Move all X86_EXTENDED_PLATFORM options together David Heidelberg via B4 Relay
@ 2025-03-25 7:36 ` tip-bot2 for Mateusz Jończyk
0 siblings, 0 replies; 25+ messages in thread
From: tip-bot2 for Mateusz Jończyk @ 2025-03-25 7:36 UTC (permalink / raw)
To: linux-tip-commits
Cc: mat.jonczyk, David Heidelberg, Ingo Molnar, H. Peter Anvin,
Linus Torvalds, x86, linux-kernel
The following commit has been merged into the x86/urgent branch of tip:
Commit-ID: e35e328d37ee20df9a4dc9c4b0478f9e6b2c8c3e
Gitweb: https://git.kernel.org/tip/e35e328d37ee20df9a4dc9c4b0478f9e6b2c8c3e
Author: Mateusz Jończyk <mat.jonczyk@o2.pl>
AuthorDate: Fri, 21 Mar 2025 21:48:45 +01:00
Committer: Ingo Molnar <mingo@kernel.org>
CommitterDate: Sat, 22 Mar 2025 08:02:16 +01:00
x86/Kconfig: Move all X86_EXTENDED_PLATFORM options together
So that these options will be displayed together in menuconfig etc.
Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Signed-off-by: David Heidelberg <david@ixit.cz>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/20250321-x86_x2apic-v3-3-b0cbaa6fa338@ixit.cz
---
arch/x86/Kconfig | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 442936d..d6155b9 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -665,6 +665,17 @@ config X86_INTEL_QUARK
Say Y here if you have a Quark based system such as the Arduino
compatible Intel Galileo.
+config X86_RDC321X
+ bool "RDC R-321x SoC"
+ depends on X86_32
+ depends on X86_EXTENDED_PLATFORM
+ select M486
+ select X86_REBOOTFIXUPS
+ help
+ This option is needed for RDC R-321x system-on-chip, also known
+ as R-8610-(G).
+ If you don't have one of these chips, you should say N here.
+
config X86_INTEL_LPSS
bool "Intel Low Power Subsystem Support"
depends on X86 && ACPI && PCI
@@ -718,17 +729,6 @@ config IOSF_MBI_DEBUG
If you don't require the option or are in doubt, say N.
-config X86_RDC321X
- bool "RDC R-321x SoC"
- depends on X86_32
- depends on X86_EXTENDED_PLATFORM
- select M486
- select X86_REBOOTFIXUPS
- help
- This option is needed for RDC R-321x system-on-chip, also known
- as R-8610-(G).
- If you don't have one of these chips, you should say N here.
-
config X86_SUPPORTS_MEMORY_FAILURE
def_bool y
# MCE code calls memory_failure():
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [tip: x86/urgent] x86/Kconfig: Always enable ARCH_SPARSEMEM_ENABLE
2025-03-21 20:48 ` [PATCH v3 2/7] x86/Kconfig: Always enable ARCH_SPARSEMEM_ENABLE David Heidelberg via B4 Relay
@ 2025-03-25 7:36 ` tip-bot2 for Mateusz Jończyk
0 siblings, 0 replies; 25+ messages in thread
From: tip-bot2 for Mateusz Jończyk @ 2025-03-25 7:36 UTC (permalink / raw)
To: linux-tip-commits
Cc: mat.jonczyk, David Heideberg, Ingo Molnar, H. Peter Anvin,
Linus Torvalds, x86, linux-kernel
The following commit has been merged into the x86/urgent branch of tip:
Commit-ID: 31be5041dca37a67c11042678c55804e964e5145
Gitweb: https://git.kernel.org/tip/31be5041dca37a67c11042678c55804e964e5145
Author: Mateusz Jończyk <mat.jonczyk@o2.pl>
AuthorDate: Fri, 21 Mar 2025 21:48:44 +01:00
Committer: Ingo Molnar <mingo@kernel.org>
CommitterDate: Sat, 22 Mar 2025 08:02:16 +01:00
x86/Kconfig: Always enable ARCH_SPARSEMEM_ENABLE
It appears that (X86_64 || X86_32) is always true on x86.
This logical OR directive was introduced in:
6ea3038648da ("arch/x86: remove depends on CONFIG_EXPERIMENTAL")
By (EXPERIMENTAL && X86_32) turning into (X86_32). Since
this change was an identity transformation, nobody noticed
that the condition turned into 'true'.
[ mingo: Updated changelog ]
Fixes: 6ea3038648da ("arch/x86: remove depends on CONFIG_EXPERIMENTAL")
Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Signed-off-by: David Heideberg <david@ixit.cz>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/20250321-x86_x2apic-v3-2-b0cbaa6fa338@ixit.cz
---
arch/x86/Kconfig | 1 -
1 file changed, 1 deletion(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 08bc939..442936d 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1563,7 +1563,6 @@ config ARCH_FLATMEM_ENABLE
config ARCH_SPARSEMEM_ENABLE
def_bool y
- depends on X86_64 || NUMA || X86_32
select SPARSEMEM_STATIC if X86_32
select SPARSEMEM_VMEMMAP_ENABLE if X86_64
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [tip: x86/urgent] x86/Kconfig: Enable X86_X2APIC by default and improve help text
2025-03-21 20:48 ` [PATCH v3 1/7] x86/Kconfig: Enable X86_X2APIC by default and improve help text David Heidelberg via B4 Relay
2025-03-22 15:45 ` [PATCH] x86/Kconfig: correct X86_X2APIC " Mateusz Jończyk
@ 2025-03-25 7:36 ` tip-bot2 for Mateusz Jończyk
1 sibling, 0 replies; 25+ messages in thread
From: tip-bot2 for Mateusz Jończyk @ 2025-03-25 7:36 UTC (permalink / raw)
To: linux-tip-commits
Cc: mat.jonczyk, Ingo Molnar, H. Peter Anvin, Linus Torvalds, x86,
linux-kernel
The following commit has been merged into the x86/urgent branch of tip:
Commit-ID: 9232c49ff31c40fa5cf72acf74c4aa251ed4811c
Gitweb: https://git.kernel.org/tip/9232c49ff31c40fa5cf72acf74c4aa251ed4811c
Author: Mateusz Jończyk <mat.jonczyk@o2.pl>
AuthorDate: Fri, 21 Mar 2025 21:48:43 +01:00
Committer: Ingo Molnar <mingo@kernel.org>
CommitterDate: Sat, 22 Mar 2025 08:02:16 +01:00
x86/Kconfig: Enable X86_X2APIC by default and improve help text
As many current platforms (most modern Intel CPUs and QEMU) have x2APIC
present, enable CONFIG_X86_X2APIC by default as it gives performance
and functionality benefits. Additionally, if the BIOS has already
switched APIC to x2APIC mode, but CONFIG_X86_X2APIC is disabled, the
kernel will panic in arch/x86/kernel/apic/apic.c .
Also improve the help text, which was confusing and really did not
describe what the feature is about.
Help text references and discussion:
Both Intel [1] and AMD [3] spell the name as "x2APIC", not "x2apic".
"It allows faster access to the local APIC"
[2], chapter 2.1, page 15:
"More efficient MSR interface to access APIC registers."
"x2APIC was introduced in Intel CPUs around 2008":
I was unable to find specific information which Intel CPUs
support x2APIC. Wikipedia claims it was "introduced with the
Nehalem microarchitecture in November 2008", but I was not able
to confirm this independently. At least some Nehalem CPUs do not
support x2APIC [1].
The documentation [2] is dated June 2008. Linux kernel also
introduced x2APIC support in 2008, so the year seems to be
right.
"and in AMD EPYC CPUs in 2019":
[3], page 15:
"AMD introduced an x2APIC in our EPYC 7002 Series processors for
the first time."
"It is also frequently emulated in virtual machines, even when the host
CPU does not support it."
[1]
"If this configuration option is disabled, the kernel will not boot on
some platforms that have x2APIC enabled."
According to some BIOS documentation [4], the x2APIC may be
"disabled", "enabled", or "force enabled" on this system.
I think that "enabled" means "made available to the operating
system, but not already turned on" and "force enabled" means
"already switched to x2APIC mode when the OS boots". Only in the
latter mode a kernel without CONFIG_X86_X2APIC will panic in
validate_x2apic() in arch/x86/kernel/apic/apic.c .
QEMU 4.2.1 and my Intel HP laptop (bought in 2019) use the
"enabled" mode and the kernel does not panic.
[1] "Re: [Qemu-devel] [Question] why x2apic's set by default without host sup"
https://lists.gnu.org/archive/html/qemu-devel/2013-07/msg03527.html
[2] Intel® 64 Architecture x2APIC Specification,
( https://www.naic.edu/~phil/software/intel/318148.pdf )
[3] Workload Tuning Guide for AMD EPYC ™ 7002 Series Processor Based
Servers Application Note,
https://developer.amd.com/wp-content/resources/56745_0.80.pdf
[4] UEFI System Utilities and Shell Command Mobile Help for HPE ProLiant
Gen10, ProLiant Gen10 Plus Servers and HPE Synergy:
Enabling or disabling Processor x2APIC Support
https://techlibrary.hpe.com/docs/iss/proliant-gen10-uefi/s_enable_disable_x2APIC_support.html
Signed-off-by: Mateusz Jończyk <mat.jonczyk@o2.pl>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/20250321-x86_x2apic-v3-1-b0cbaa6fa338@ixit.cz
---
arch/x86/Kconfig | 25 ++++++++++++++++---------
1 file changed, 16 insertions(+), 9 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 98bd493..08bc939 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -458,20 +458,27 @@ config SMP
If you don't know what to do here, say N.
config X86_X2APIC
- bool "Support x2apic"
+ bool "x2APIC interrupt controller architecture support"
depends on X86_LOCAL_APIC && X86_64 && (IRQ_REMAP || HYPERVISOR_GUEST)
+ default y
help
- This enables x2apic support on CPUs that have this feature.
+ x2APIC is an interrupt controller architecture, a component of which
+ (the local APIC) is present in the CPU. It allows faster access to
+ the local APIC and supports a larger number of CPUs in the system
+ than the predecessors.
- This allows 32-bit apic IDs (so it can support very large systems),
- and accesses the local apic via MSRs not via mmio.
+ x2APIC was introduced in Intel CPUs around 2008 and in AMD EPYC CPUs
+ in 2019, but it can be disabled by the BIOS. It is also frequently
+ emulated in virtual machines, even when the host CPU does not support
+ it. Support in the CPU can be checked by executing
+ cat /proc/cpuinfo | grep x2apic
- Some Intel systems circa 2022 and later are locked into x2APIC mode
- and can not fall back to the legacy APIC modes if SGX or TDX are
- enabled in the BIOS. They will boot with very reduced functionality
- without enabling this option.
+ If this configuration option is disabled, the kernel will not boot on
+ some platforms that have x2APIC enabled.
- If you don't know what to do here, say N.
+ Say N if you know that your platform does not have x2APIC.
+
+ Otherwise, say Y.
config X86_POSTED_MSI
bool "Enable MSI and MSI-x delivery by posted interrupts"
^ permalink raw reply related [flat|nested] 25+ messages in thread
* Re: [PATCH] x86/Kconfig: fix lists in X86_EXTENDED_PLATFORM help text
2025-03-25 7:22 ` Ingo Molnar
@ 2025-03-25 14:14 ` Andy Shevchenko
0 siblings, 0 replies; 25+ messages in thread
From: Andy Shevchenko @ 2025-03-25 14:14 UTC (permalink / raw)
To: Ingo Molnar
Cc: Mateusz Jończyk, linux-kernel, x86, Thomas Gleixner,
Ingo Molnar, Borislav Petkov, Dave Hansen, H. Peter Anvin,
David Heideberg
On Tue, Mar 25, 2025 at 9:22 AM Ingo Molnar <mingo@kernel.org> wrote:
> * Andy Shevchenko <andy.shevchenko@gmail.com> wrote:
> > Sat, Mar 22, 2025 at 06:50:52PM +0100, Mateusz Jończyk kirjoitti:
> > > Support for STA2X11-based systems was removed in February in
> > > commit dcbb01fbb7ae ("x86/pci: Remove old STA2x11 support")
> > >
> > > Intel MID for 32-bit platforms was removed from this list also in
> >
> > Was it? It's rather hidden and not recommended as far as I understand.
>
> Well, with the '32-bit' qualifier the statement is true, isn't it?
> ca5955dd5f08 removed a MID reference from the 32-bit list and added a
> different one to the 64-bit list:
Ah, right, we are talking only about the _list_ here and not about the
support code. Now it's all clear, indeed.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 25+ messages in thread
end of thread, other threads:[~2025-03-25 14:15 UTC | newest]
Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-21 20:48 [PATCH v3 0/7] x86: Kconfig cleanups and help text improvements David Heidelberg via B4 Relay
2025-03-21 20:48 ` [PATCH v3 1/7] x86/Kconfig: Enable X86_X2APIC by default and improve help text David Heidelberg via B4 Relay
2025-03-22 15:45 ` [PATCH] x86/Kconfig: correct X86_X2APIC " Mateusz Jończyk
2025-03-25 7:36 ` [tip: x86/urgent] x86/Kconfig: Correct " tip-bot2 for Mateusz Jończyk
2025-03-25 7:36 ` [tip: x86/urgent] x86/Kconfig: Enable X86_X2APIC by default and improve " tip-bot2 for Mateusz Jończyk
2025-03-21 20:48 ` [PATCH v3 2/7] x86/Kconfig: Always enable ARCH_SPARSEMEM_ENABLE David Heidelberg via B4 Relay
2025-03-25 7:36 ` [tip: x86/urgent] " tip-bot2 for Mateusz Jończyk
2025-03-21 20:48 ` [PATCH v3 3/7] x86/Kconfig: Move all X86_EXTENDED_PLATFORM options together David Heidelberg via B4 Relay
2025-03-25 7:36 ` [tip: x86/urgent] " tip-bot2 for Mateusz Jończyk
2025-03-21 20:48 ` [PATCH v3 4/7] x86/Kconfig: Update lists in X86_EXTENDED_PLATFORM David Heidelberg via B4 Relay
2025-03-22 17:50 ` [PATCH] x86/Kconfig: fix lists in X86_EXTENDED_PLATFORM help text Mateusz Jończyk
2025-03-23 3:14 ` Andy Shevchenko
2025-03-25 7:22 ` Ingo Molnar
2025-03-25 14:14 ` Andy Shevchenko
2025-03-25 7:36 ` [tip: x86/urgent] x86/Kconfig: Fix " tip-bot2 for Mateusz Jończyk
2025-03-25 7:36 ` [tip: x86/urgent] x86/Kconfig: Update lists in X86_EXTENDED_PLATFORM tip-bot2 for Mateusz Jończyk
2025-03-21 20:48 ` [PATCH v3 5/7] x86/Kconfig: Document CONFIG_PCI_MMCONFIG David Heidelberg via B4 Relay
2025-03-22 7:11 ` Ingo Molnar
2025-03-25 7:36 ` [tip: x86/urgent] " tip-bot2 for Mateusz Jończyk
2025-03-21 20:48 ` [PATCH v3 6/7] x86/Kconfig: Make CONFIG_PCI_CNB20LE_QUIRK depend on X86_32 David Heidelberg via B4 Relay
2025-03-25 7:36 ` [tip: x86/urgent] " tip-bot2 for Mateusz Jończyk
2025-03-21 20:48 ` [PATCH v3 7/7] x86/Kconfig: Document release year of glibc 2.3.3 David Heidelberg via B4 Relay
2025-03-22 7:28 ` Ingo Molnar
2025-03-25 7:36 ` [tip: x86/urgent] " tip-bot2 for Mateusz Jończyk
2025-03-22 15:13 ` [PATCH v3 0/7] x86: Kconfig cleanups and help text improvements Mateusz Jończyk
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).