[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <675d56c5e9dbbe32a0142a3a5290b0c35c52c568.camel@infradead.org>
Date: Sat, 04 Feb 2023 10:09:00 +0000
From: David Woodhouse <dwmw2@...radead.org>
To: Kim Phillips <kim.phillips@....com>,
Usama Arif <usama.arif@...edance.com>, tglx@...utronix.de,
arjan@...ux.intel.com
Cc: mingo@...hat.com, bp@...en8.de, dave.hansen@...ux.intel.com,
hpa@...or.com, x86@...nel.org, pbonzini@...hat.com,
paulmck@...nel.org, linux-kernel@...r.kernel.org,
kvm@...r.kernel.org, rcu@...r.kernel.org, mimoja@...oja.de,
hewenliang4@...wei.com, thomas.lendacky@....com, seanjc@...gle.com,
pmenzel@...gen.mpg.de, fam.zheng@...edance.com,
punit.agrawal@...edance.com, simon.evans@...edance.com,
liangma@...ngbit.com, Mario Limonciello <Mario.Limonciello@....com>
Subject: Re: [PATCH v6 07/11] x86/smpboot: Disable parallel boot for AMD CPUs
On Fri, 2023-02-03 at 13:48 -0600, Kim Phillips wrote:
> [ 3.204580] [Firmware Bug]: CPU0: APIC id mismatch. Firmware: 0
> APIC: 2
Could it just be that some processors have CPUID leaves above 0xb but
don't actually support 0xb?
What does this do?
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -1578,6 +1578,18 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus)
cc_platform_has(CC_ATTR_GUEST_STATE_ENCRYPT))
do_parallel_bringup = false;
+ if (do_parallel_bringup) {
+ /* Check that CPUID 0x0B really does look sane. */
+ unsigned int eax, ebx, ecx, edx;
+
+ cpuid_count(0xb, 0, &eax, &ebx, &ecx, &edx);
+ printk("CPUID 0xB level 0: %x %x %x %x\n", eax, ebx, ecx, edx);
+ if (!eax && !ebx) {
+ pr_info("Disabling parallel bringup because CPUID 0xb looks untrustworthy\n");
+ do_parallel_bringup = false;
+ }
+ }
+
if (do_parallel_bringup &&
boot_cpu_has_bug(X86_BUG_NO_PARALLEL_BRINGUP)) {
pr_info("Disabling parallel bringup due to CPU bugs\n");
Download attachment "smime.p7s" of type "application/pkcs7-signature" (5965 bytes)
Powered by blists - more mailing lists