Kyösti Mälkki has submitted this change. ( https://review.coreboot.org/c/coreboot/+/69777 )
Change subject: ACPI: Flag boards with ACPI_NO_MADT ......................................................................
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 --- M src/acpi/Kconfig M src/acpi/acpi.c M src/mainboard/asus/p2b/Kconfig D src/mainboard/asus/p2b/acpi_tables.c M src/soc/intel/quark/Kconfig M src/soc/intel/quark/acpi.c 6 files changed, 26 insertions(+), 15 deletions(-)
Approvals: build bot (Jenkins): Verified Felix Held: Looks good to me, approved Arthur Heymans: Looks good to me, approved Eric Lai: Looks good to me, approved
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; diff --git a/src/mainboard/asus/p2b/Kconfig b/src/mainboard/asus/p2b/Kconfig index 8e46fb9..986cfde 100644 --- a/src/mainboard/asus/p2b/Kconfig +++ b/src/mainboard/asus/p2b/Kconfig @@ -9,6 +9,7 @@
config BOARD_SPECIFIC_OPTIONS def_bool y + select ACPI_NO_MADT select CPU_INTEL_SLOT_1 select NORTHBRIDGE_INTEL_I440BX select SOUTHBRIDGE_INTEL_I82371EB diff --git a/src/mainboard/asus/p2b/acpi_tables.c b/src/mainboard/asus/p2b/acpi_tables.c deleted file mode 100644 index b35610a..0000000 --- a/src/mainboard/asus/p2b/acpi_tables.c +++ /dev/null @@ -1,9 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-only */ - -#include <acpi/acpi.h> - -unsigned long acpi_fill_madt(unsigned long current) -{ - /* mainboard has no ioapic */ - return current; -} diff --git a/src/soc/intel/quark/Kconfig b/src/soc/intel/quark/Kconfig index 9783c1d..58f01da 100644 --- a/src/soc/intel/quark/Kconfig +++ b/src/soc/intel/quark/Kconfig @@ -9,6 +9,7 @@
config CPU_SPECIFIC_OPTIONS def_bool y + select ACPI_NO_MADT select ARCH_X86 select NO_ECAM_MMCONF_SUPPORT select NO_SMM diff --git a/src/soc/intel/quark/acpi.c b/src/soc/intel/quark/acpi.c index 9e41b31..6a7f2c2 100644 --- a/src/soc/intel/quark/acpi.c +++ b/src/soc/intel/quark/acpi.c @@ -5,11 +5,6 @@ #include <soc/acpi.h> #include <soc/ramstage.h>
-unsigned long acpi_fill_madt(unsigned long current) -{ - return current; -} - void acpi_fill_fadt(acpi_fadt_t *fadt) { struct device *dev = pcidev_on_root(PCI_DEVICE_NUMBER_QNC_LPC,