diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2022-11-18 13:23:52 +0200 |
---|---|---|
committer | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2022-11-25 15:03:47 +0000 |
commit | a5fa5347051cafe627775ef48c2c9b7d7232ee16 (patch) | |
tree | 7ba802737b06978a13005ce20166f02c76cb9da0 | |
parent | dd96ab698757c6b6f05612d92f38088e8f7069e5 (diff) |
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>
-rw-r--r-- | src/acpi/Kconfig | 5 | ||||
-rw-r--r-- | src/acpi/acpi.c | 3 | ||||
-rw-r--r-- | src/mainboard/asus/p2b/Kconfig | 1 | ||||
-rw-r--r-- | src/mainboard/asus/p2b/acpi_tables.c | 9 | ||||
-rw-r--r-- | src/soc/intel/quark/Kconfig | 1 | ||||
-rw-r--r-- | src/soc/intel/quark/acpi.c | 5 |
6 files changed, 9 insertions, 15 deletions
diff --git a/src/acpi/Kconfig b/src/acpi/Kconfig index 7afff4e7e7..816f9fb31e 100644 --- a/src/acpi/Kconfig +++ b/src/acpi/Kconfig @@ -30,6 +30,11 @@ config ACPI_SOC_NVS 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 f6a36f80f0..c5672999b2 100644 --- a/src/acpi/acpi.c +++ b/src/acpi/acpi.c @@ -282,7 +282,8 @@ void acpi_create_madt(acpi_madt_t *madt) 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 8e46fb9b13..986cfdeb98 100644 --- a/src/mainboard/asus/p2b/Kconfig +++ b/src/mainboard/asus/p2b/Kconfig @@ -9,6 +9,7 @@ config BASE_ASUS_P2B_D 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 b35610ae1b..0000000000 --- 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 9783c1d1ee..58f01daaeb 100644 --- a/src/soc/intel/quark/Kconfig +++ b/src/soc/intel/quark/Kconfig @@ -9,6 +9,7 @@ if SOC_INTEL_QUARK 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 9e41b31ec5..6a7f2c22cd 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, |