diff options
Diffstat (limited to 'src/cpu/x86')
-rw-r--r-- | src/cpu/x86/lapic/lapic.c | 6 | ||||
-rw-r--r-- | src/cpu/x86/smm/smmhandler.S | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/cpu/x86/lapic/lapic.c b/src/cpu/x86/lapic/lapic.c index 9f3cff5834..9aac163d15 100644 --- a/src/cpu/x86/lapic/lapic.c +++ b/src/cpu/x86/lapic/lapic.c @@ -1,5 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-only */ +#include <cpu/cpu.h> #include <cpu/x86/lapic.h> #include <cpu/x86/lapic_def.h> #include <cpu/x86/msr.h> @@ -25,6 +26,11 @@ void disable_lapic(void) wrmsr(LAPIC_BASE_MSR, msr); } +uintptr_t cpu_get_lapic_addr(void) +{ + return LAPIC_DEFAULT_BASE; +} + /* See if I need to initialize the local APIC */ static int need_lapic_init(void) { diff --git a/src/cpu/x86/smm/smmhandler.S b/src/cpu/x86/smm/smmhandler.S index 4cbfbfdfb1..3750e5224a 100644 --- a/src/cpu/x86/smm/smmhandler.S +++ b/src/cpu/x86/smm/smmhandler.S @@ -126,8 +126,9 @@ untampered_lapic: movw %ax, %fs movw %ax, %gs + /* FIXME: Incompatible with X2APIC_SUPPORT. */ /* Get this CPU's LAPIC ID */ - movl $(LOCAL_APIC_ADDR | LAPIC_ID), %esi + movl $(LAPIC_DEFAULT_BASE | LAPIC_ID), %esi movl (%esi), %ecx shr $24, %ecx |