From a5fa5347051cafe627775ef48c2c9b7d7232ee16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ky=C3=B6sti=20M=C3=A4lkki?= Date: Fri, 18 Nov 2022 13:23:52 +0200 Subject: ACPI: Flag boards with ACPI_NO_MADT MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These boards do no fill MADT with useful information. Change-Id: Ie61e4e4b03c9b7fcd70aba7a2bd71eadd6f4dab1 Signed-off-by: Kyösti Mälkki Reviewed-on: https://review.coreboot.org/c/coreboot/+/69777 Reviewed-by: Arthur Heymans Reviewed-by: Eric Lai Tested-by: build bot (Jenkins) Reviewed-by: Felix Held --- src/acpi/Kconfig | 5 +++++ src/acpi/acpi.c | 3 ++- src/mainboard/asus/p2b/Kconfig | 1 + src/mainboard/asus/p2b/acpi_tables.c | 9 --------- src/soc/intel/quark/Kconfig | 1 + src/soc/intel/quark/acpi.c | 5 ----- 6 files changed, 9 insertions(+), 15 deletions(-) delete mode 100644 src/mainboard/asus/p2b/acpi_tables.c (limited to 'src') 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 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 - -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 #include -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, -- cgit v1.2.3