cpu: Add a helper function cpu_get_lapic_addr

This change adds a helper function cpu_get_lapic_addr() that returns
LOCAL_APIC_ADDR for x86. It also adds a weak default implementation
which returns 0 if platform does not support LAPIC. This is being
done in preparation to move all ACPI table support in coreboot out of
arch/x86.

BUG=b:155428745

Change-Id: I4d9c50ee46804164712aaa22be1b434f800871ec
Signed-off-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/40929
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
diff --git a/src/arch/x86/acpi.c b/src/arch/x86/acpi.c
index 5c15a5e..8e7b51d 100644
--- a/src/arch/x86/acpi.c
+++ b/src/arch/x86/acpi.c
@@ -22,7 +22,6 @@
 #include <device/pci.h>
 #include <cbmem.h>
 #include <commonlib/helpers.h>
-#include <cpu/x86/lapic_def.h>
 #include <cpu/cpu.h>
 #include <cbfs.h>
 #include <version.h>
@@ -222,6 +221,15 @@
 	return lapic_nmi->length;
 }
 
+__weak uintptr_t cpu_get_lapic_addr(void)
+{
+	/*
+	 * If an architecture does not support LAPIC, this weak implementation returns LAPIC
+	 * addr as 0.
+	 */
+	return 0;
+}
+
 void acpi_create_madt(acpi_madt_t *madt)
 {
 	acpi_header_t *header = &(madt->header);
@@ -242,7 +250,7 @@
 	header->length = sizeof(acpi_madt_t);
 	header->revision = get_acpi_table_revision(MADT);
 
-	madt->lapic_addr = LOCAL_APIC_ADDR;
+	madt->lapic_addr = cpu_get_lapic_addr();
 	if (CONFIG(ACPI_HAVE_PCAT_8259))
 		madt->flags |= 1;