Skip to content

Commit 4ba115e

Browse files
committed
Merge tag 'x86_urgent_for_v6.3_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 fixes from Borislav Petkov: - Add a new Intel Arrow Lake CPU model number - Fix a confusion about how to check the version of the ACPI spec which supports a "online capable" bit in the MADT table which lead to a bunch of boot breakages with Zen1 systems and VMs * tag 'x86_urgent_for_v6.3_rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/cpu: Add model number for Intel Arrow Lake processor x86/acpi/boot: Correct acpi_is_processor_usable() check x86/ACPI/boot: Use FADT version to check support for online capable
2 parents c08cfd6 + 81515ec commit 4ba115e

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

arch/x86/include/asm/intel-family.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,8 @@
125125

126126
#define INTEL_FAM6_LUNARLAKE_M 0xBD
127127

128+
#define INTEL_FAM6_ARROWLAKE 0xC6
129+
128130
/* "Small Core" Processors (Atom/E-Core) */
129131

130132
#define INTEL_FAM6_ATOM_BONNELL 0x1C /* Diamondville, Pineview */

arch/x86/kernel/acpi/boot.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,11 @@ static int __init acpi_parse_madt(struct acpi_table_header *table)
146146

147147
pr_debug("Local APIC address 0x%08x\n", madt->address);
148148
}
149-
if (madt->header.revision >= 5)
149+
150+
/* ACPI 6.3 and newer support the online capable bit. */
151+
if (acpi_gbl_FADT.header.revision > 6 ||
152+
(acpi_gbl_FADT.header.revision == 6 &&
153+
acpi_gbl_FADT.minor_revision >= 3))
150154
acpi_support_online_capable = true;
151155

152156
default_acpi_madt_oem_check(madt->header.oem_id,
@@ -193,7 +197,8 @@ static bool __init acpi_is_processor_usable(u32 lapic_flags)
193197
if (lapic_flags & ACPI_MADT_ENABLED)
194198
return true;
195199

196-
if (acpi_support_online_capable && (lapic_flags & ACPI_MADT_ONLINE_CAPABLE))
200+
if (!acpi_support_online_capable ||
201+
(lapic_flags & ACPI_MADT_ONLINE_CAPABLE))
197202
return true;
198203

199204
return false;

0 commit comments

Comments
 (0)