aboutsummaryrefslogtreecommitdiff
path: root/src/cpu/x86
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu/x86')
-rw-r--r--src/cpu/x86/lapic/lapic.c6
-rw-r--r--src/cpu/x86/smm/smmhandler.S3
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