Patrick Rudolph has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/74484 )
Change subject: cpu/x86/Kconfig: Disable choice X2APIC_ONLY ......................................................................
cpu/x86/Kconfig: Disable choice X2APIC_ONLY
The choice isn't supported as the code to enable X2APIC mode accesses X2APIC registers itself before enabling X2APIC mode. Disable it and add help messages.
The X2APIC mode can still be enabled by a user using the X2APIC_RUNTIME "Support both XAPIC and X2APIC" Kconfig.
Not only is the enabling broken, but also every register access using the LAPIC API before MPinit causes a crash.
A possible workaround would be to enable/configure the LAPIC in bootblock or assembly. As it's unclear which effect it has on binary blobs this is not done here as possible fix.
Change-Id: I74831efa25c01a44c4994fe8f35131c6e67ba67b Signed-off-by: Patrick Rudolph patrick.rudolph@9elements.com --- M src/cpu/x86/Kconfig 1 file changed, 38 insertions(+), 5 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/84/74484/1
diff --git a/src/cpu/x86/Kconfig b/src/cpu/x86/Kconfig index c85eace..54a48d5 100644 --- a/src/cpu/x86/Kconfig +++ b/src/cpu/x86/Kconfig @@ -50,16 +50,18 @@ config XAPIC_ONLY prompt "Set XAPIC mode" bool - -config X2APIC_ONLY - prompt "Set X2APIC mode" - bool - depends on PARALLEL_MP + help + Choose this option to use XAPIC mode in MPinit. In this mode only 255 CPUs + are supported.
config X2APIC_RUNTIME prompt "Support both XAPIC and X2APIC" bool depends on PARALLEL_MP + help + Choose this option to enable X2APIC in MPinit if supported. It X2APIC mode + is not supported XAPIC mode will be used. X2APIC mode supports more than 255 + CPU cores.
config X2APIC_LATE_WORKAROUND prompt "Use XAPIC for AP bringup, then change to X2APIC" @@ -74,6 +76,13 @@
endchoice
+config X2APIC_ONLY + def_bool n + depends on PARALLEL_MP + help + Set X2APIC mode. This is not supported as the code enabling X2APIC mode + currently accesses registers before enabling them and crashes. + config UDELAY_LAPIC bool default n