Felix Held has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/58386 )
Change subject: cpu/x86/lapic: Unconditionally use CPUID leaf 0xb if available ......................................................................
Patch Set 7:
(1 comment)
Patchset:
PS7:
this might totally be a bug in picasso; i don't know yet. […]
ok, this is a bug and we'll need to revert.
From the Picasso PPR:
CPUID_Fn00000001_ECX [Feature Identifiers] (Core::X86::Cpuid::FeatureIdEcx) Bit 21: X2APIC. Read-only. Reset: Fixed,0. x2APIC capability.
CPUID_Fn00000000_EAX [Processor Vendor and Largest Standard Function Number] (Core::X86::Cpuid::LargFuncNum) Bits 31:0: LFuncStd: largest standard function. Read-only. Reset: Fixed,0000_000Dh. The largest CPUID standard function input value supported by the processor implementation.
MSR0000_001B [APIC Base Address] (Core::X86::Msr::APIC_BAR) Bit 10: Reserved. Read-only,Error-on-write-1. Reset: Fixed,0. with that bit 10 being LAPIC_BASE_MSR_X2APIC_MODE
so Picasso has the CPUID leaf, but no x2apic support and cpuid_ext(0xb, 0).edx doesn't return valid data.
I'll push a revert