ACPI: Flag boards with ACPI_NO_MADT
These boards do no fill MADT with useful information.
Change-Id: Ie61e4e4b03c9b7fcd70aba7a2bd71eadd6f4dab1
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/69777
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
diff --git a/src/acpi/Kconfig b/src/acpi/Kconfig
index 7afff4e..816f9fb 100644
--- a/src/acpi/Kconfig
+++ b/src/acpi/Kconfig
@@ -30,6 +30,11 @@
Set to indicate <soc/nvs.h> exists for the platform with a definition
for global_nvs.
+config ACPI_NO_MADT
+ bool
+ help
+ Selected by platforms that don't expose a useful MADT.
+
config ACPI_NO_PCAT_8259
bool
help
diff --git a/src/acpi/acpi.c b/src/acpi/acpi.c
index f6a36f8..c567299 100644
--- a/src/acpi/acpi.c
+++ b/src/acpi/acpi.c
@@ -282,7 +282,8 @@
if (CONFIG(ACPI_HAVE_PCAT_8259))
madt->flags |= 1;
- current = acpi_fill_madt(current);
+ if (!CONFIG(ACPI_NO_MADT))
+ current = acpi_fill_madt(current);
/* (Re)calculate length and checksum. */
header->length = current - (unsigned long)madt;