Attention is currently required from: Patrick Rudolph, Wonkyu Kim, Arthur Heymans.
Kyösti Mälkki has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/74484 )
Change subject: cpu/x86/Kconfig: Disable choice X2APIC_ONLY ......................................................................
Patch Set 1:
(3 comments)
Commit Message:
https://review.coreboot.org/c/coreboot/+/74484/comment/f7bb2e81_eb1959d1 PS1, Line 10: accesses X2APIC registers itself before enabling X2APIC mode. Did you bisect which commit changed this?
We have both initial_lapicid() from CPUID and lapicid() from LAPIC. Might be a matter of simply changing one of those instances to keep supporting X2APIC_ONLY.
https://review.coreboot.org/c/coreboot/+/74484/comment/d8052870_a1ba2eda PS1, Line 17: using the LAPIC API before MPinit causes a crash. One should not have placed any LAPIC register accesses prior to enable_lapic() in the first place? One should not assume LAPIC is enabled at default address on reset, so in theory XAPIC register access is equally done too early.
File src/cpu/x86/Kconfig:
https://review.coreboot.org/c/coreboot/+/74484/comment/48da2119_34827dfb PS1, Line 55: are supported. With this option, if CPU has X2APIC support, OS may make the switch.
This again means, one cannot make lapicid() call inside SMM, as LAPIC MMIO access is then disabled. So if we are not willing to keep track of proper call-sites for LAPIC register accesses, XAPIC_ONLY should only be the default for platforms with no X2APIC support in silicon.