diff --git a/src/soc/intel/meteorlake/Kconfig b/src/soc/intel/meteorlake/Kconfig index b2a094fbb8..c4fe39a606 100644 --- a/src/soc/intel/meteorlake/Kconfig +++ b/src/soc/intel/meteorlake/Kconfig @@ -15,7 +15,7 @@ config CPU_SPECIFIC_OPTIONS select CPU_INTEL_FIRMWARE_INTERFACE_TABLE select CPU_SUPPORTS_INTEL_TME select CPU_SUPPORTS_PM_TIMER_EMULATION - select DEFAULT_X2APIC + select DEFAULT_X2APIC_LATE_WORKAROUND select DISPLAY_FSP_VERSION_INFO select DRIVERS_INTEL_USB4_RETIMER select DRIVERS_USB_ACPI diff --git a/src/soc/intel/meteorlake/cpu.c b/src/soc/intel/meteorlake/cpu.c index 8213143818..e0b7eccf69 100644 --- a/src/soc/intel/meteorlake/cpu.c +++ b/src/soc/intel/meteorlake/cpu.c @@ -89,6 +89,14 @@ bool soc_is_nominal_freq_supported(void) return true; } +static void enable_x2apic(void) +{ + if (!CONFIG(X2APIC_LATE_WORKAROUND)) + return; + + enable_lapic_mode(true); +} + /* All CPUs including BSP will run the following function. */ void soc_core_init(struct device *cpu) { @@ -98,6 +106,8 @@ void soc_core_init(struct device *cpu) * every bank. */ mca_configure(); + enable_x2apic(); + enable_lapic_tpr(); /* Configure Enhanced SpeedStep and Thermal Sensors */