summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/acpi/Kconfig5
-rw-r--r--src/acpi/acpi.c3
-rw-r--r--src/mainboard/asus/p2b/Kconfig1
-rw-r--r--src/mainboard/asus/p2b/acpi_tables.c9
-rw-r--r--src/soc/intel/quark/Kconfig1
-rw-r--r--src/soc/intel/quark/acpi.c5
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,