diff --git a/include/arch/x86/apic.h b/include/arch/x86/apic.h index 20119ea8..5bdc87f2 100644 --- a/include/arch/x86/apic.h +++ b/include/arch/x86/apic.h @@ -484,8 +484,12 @@ static inline void *apic_get_base(apic_base_t apic_base) { } static inline void apic_wait_ready(void) { + apic_mode_t mode = apic_get_mode(); apic_icr_t icr; + if (mode == APIC_MODE_X2APIC) + return; + do { icr = apic_icr_read(); if (icr.deliv_status == APIC_DELIV_STATUS_IDLE)