summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2023-04-08 14:10:48 +0300
committerKyösti Mälkki <kyosti.malkki@gmail.com>2023-04-15 05:14:14 +0000
commit69a13964ea6c5fda6ddf475a9ea905aa7376620c (patch)
tree1d7b98723762d6e05b7245abe5070de743089742
parent0854f67cae88dcd055dac549ddab2fd27768bd88 (diff)
sb,soc/amd,intel: Add and use ACPI_COMMON_MADT_LAPIC
Boards with SOC_INTEL_COMMON_BLOCK_ACPI_CPU_HYBRID have special handling for the time being. Change of aopen/dxplplusu is coupled with sb/intel/i82801dx. Change of emulation/qemu-i440fx is coupled with intel/i82371eb. For asus/p2b, this adds MADT LAPIC entries, even though platform has ACPI_NO_MADT selected. Even previously ACPI_NO_MADT creates the MADT, including an entry for LAPIC address. Change-Id: I1f8d7ee9891553742d73a92b55a87c04fa95a132 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/74316 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
-rw-r--r--src/acpi/Kconfig3
-rw-r--r--src/acpi/acpi.c3
-rw-r--r--src/mainboard/aopen/dxplplusu/acpi_tables.c2
-rw-r--r--src/mainboard/emulation/qemu-i440fx/acpi_tables.c3
-rw-r--r--src/northbridge/amd/pi/00730F01/acpi_tables.c3
-rw-r--r--src/soc/amd/cezanne/acpi.c3
-rw-r--r--src/soc/amd/common/block/acpi/Kconfig1
-rw-r--r--src/soc/amd/glinda/acpi.c3
-rw-r--r--src/soc/amd/mendocino/acpi.c3
-rw-r--r--src/soc/amd/phoenix/acpi.c3
-rw-r--r--src/soc/amd/picasso/acpi.c3
-rw-r--r--src/soc/amd/stoneyridge/acpi.c3
-rw-r--r--src/soc/intel/baytrail/Kconfig1
-rw-r--r--src/soc/intel/baytrail/acpi.c3
-rw-r--r--src/soc/intel/braswell/Kconfig1
-rw-r--r--src/soc/intel/braswell/acpi.c3
-rw-r--r--src/soc/intel/broadwell/pch/Kconfig1
-rw-r--r--src/soc/intel/common/block/acpi/Kconfig1
-rw-r--r--src/soc/intel/common/block/acpi/acpi.c5
-rw-r--r--src/southbridge/amd/pi/hudson/Kconfig1
-rw-r--r--src/southbridge/intel/bd82x6x/Kconfig1
-rw-r--r--src/southbridge/intel/common/madt.c3
-rw-r--r--src/southbridge/intel/i82371eb/Kconfig1
-rw-r--r--src/southbridge/intel/i82801dx/Kconfig1
-rw-r--r--src/southbridge/intel/i82801gx/Kconfig1
-rw-r--r--src/southbridge/intel/i82801gx/lpc.c3
-rw-r--r--src/southbridge/intel/i82801ix/Kconfig1
-rw-r--r--src/southbridge/intel/i82801ix/madt.c3
-rw-r--r--src/southbridge/intel/i82801jx/Kconfig1
-rw-r--r--src/southbridge/intel/i82801jx/lpc.c3
-rw-r--r--src/southbridge/intel/ibexpeak/Kconfig1
-rw-r--r--src/southbridge/intel/ibexpeak/madt.c3
-rw-r--r--src/southbridge/intel/lynxpoint/Kconfig1
33 files changed, 21 insertions, 51 deletions
diff --git a/src/acpi/Kconfig b/src/acpi/Kconfig
index ec7fcc4b08..5af8b221bd 100644
--- a/src/acpi/Kconfig
+++ b/src/acpi/Kconfig
@@ -31,6 +31,9 @@ config ACPI_SOC_NVS
Set to indicate <soc/nvs.h> exists for the platform with a definition
for global_nvs.
+config ACPI_COMMON_MADT_LAPIC
+ bool
+
config ACPI_NO_MADT
bool
help
diff --git a/src/acpi/acpi.c b/src/acpi/acpi.c
index de5abe09a4..492d043bb8 100644
--- a/src/acpi/acpi.c
+++ b/src/acpi/acpi.c
@@ -312,6 +312,9 @@ void acpi_create_madt(acpi_madt_t *madt)
if (CONFIG(ACPI_HAVE_PCAT_8259))
madt->flags |= 1;
+ if (CONFIG(ACPI_COMMON_MADT_LAPIC))
+ current = acpi_create_madt_lapics_with_nmis(current);
+
if (!CONFIG(ACPI_NO_MADT))
current = acpi_fill_madt(current);
diff --git a/src/mainboard/aopen/dxplplusu/acpi_tables.c b/src/mainboard/aopen/dxplplusu/acpi_tables.c
index 13ddb3e8f6..ba9d3c876b 100644
--- a/src/mainboard/aopen/dxplplusu/acpi_tables.c
+++ b/src/mainboard/aopen/dxplplusu/acpi_tables.c
@@ -8,8 +8,6 @@ unsigned long acpi_fill_madt(unsigned long current)
struct device *bdev, *dev = NULL;
struct resource *res = NULL;
- current = acpi_create_madt_lapics_with_nmis(current);
-
/* Southbridge IOAPIC */
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, 0xfec00000);
diff --git a/src/mainboard/emulation/qemu-i440fx/acpi_tables.c b/src/mainboard/emulation/qemu-i440fx/acpi_tables.c
index e6262d1265..593cbc7427 100644
--- a/src/mainboard/emulation/qemu-i440fx/acpi_tables.c
+++ b/src/mainboard/emulation/qemu-i440fx/acpi_tables.c
@@ -10,9 +10,6 @@
unsigned long acpi_fill_madt(unsigned long current)
{
- /* Local APICs */
- current = acpi_create_madt_lapics_with_nmis(current);
-
/* IOAPIC */
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
diff --git a/src/northbridge/amd/pi/00730F01/acpi_tables.c b/src/northbridge/amd/pi/00730F01/acpi_tables.c
index ef240c12a3..e1396393c0 100644
--- a/src/northbridge/amd/pi/00730F01/acpi_tables.c
+++ b/src/northbridge/amd/pi/00730F01/acpi_tables.c
@@ -6,9 +6,6 @@
unsigned long acpi_fill_madt(unsigned long current)
{
- /* create all subtables for processors */
- current = acpi_create_madt_lapics_with_nmis(current);
-
/* Write SB800 IOAPIC, only one */
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
diff --git a/src/soc/amd/cezanne/acpi.c b/src/soc/amd/cezanne/acpi.c
index b8ac827896..08effca433 100644
--- a/src/soc/amd/cezanne/acpi.c
+++ b/src/soc/amd/cezanne/acpi.c
@@ -21,9 +21,6 @@
unsigned long acpi_fill_madt(unsigned long current)
{
- /* create all subtables for processors */
- current = acpi_create_madt_lapics_with_nmis(current);
-
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current,
diff --git a/src/soc/amd/common/block/acpi/Kconfig b/src/soc/amd/common/block/acpi/Kconfig
index fd62ad6e67..289efbc074 100644
--- a/src/soc/amd/common/block/acpi/Kconfig
+++ b/src/soc/amd/common/block/acpi/Kconfig
@@ -2,6 +2,7 @@ config SOC_AMD_COMMON_BLOCK_ACPI
bool
depends on SOC_AMD_COMMON_BLOCK_ACPIMMIO
select ACPI_AMD_HARDWARE_SLEEP_VALUES
+ select ACPI_COMMON_MADT_LAPIC
help
Select this option to use the AcpiMmio ACPI registers.
diff --git a/src/soc/amd/glinda/acpi.c b/src/soc/amd/glinda/acpi.c
index 49fb658d63..cb8039d3d9 100644
--- a/src/soc/amd/glinda/acpi.c
+++ b/src/soc/amd/glinda/acpi.c
@@ -24,9 +24,6 @@
unsigned long acpi_fill_madt(unsigned long current)
{
- /* create all subtables for processors */
- current = acpi_create_madt_lapics_with_nmis(current);
-
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current,
diff --git a/src/soc/amd/mendocino/acpi.c b/src/soc/amd/mendocino/acpi.c
index 83b24ece7d..17d8955feb 100644
--- a/src/soc/amd/mendocino/acpi.c
+++ b/src/soc/amd/mendocino/acpi.c
@@ -23,9 +23,6 @@
unsigned long acpi_fill_madt(unsigned long current)
{
- /* create all subtables for processors */
- current = acpi_create_madt_lapics_with_nmis(current);
-
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current,
diff --git a/src/soc/amd/phoenix/acpi.c b/src/soc/amd/phoenix/acpi.c
index 8e90d44c89..5e37a2772c 100644
--- a/src/soc/amd/phoenix/acpi.c
+++ b/src/soc/amd/phoenix/acpi.c
@@ -24,9 +24,6 @@
unsigned long acpi_fill_madt(unsigned long current)
{
- /* create all subtables for processors */
- current = acpi_create_madt_lapics_with_nmis(current);
-
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current,
diff --git a/src/soc/amd/picasso/acpi.c b/src/soc/amd/picasso/acpi.c
index a6f1ebd4e4..227a5d8c63 100644
--- a/src/soc/amd/picasso/acpi.c
+++ b/src/soc/amd/picasso/acpi.c
@@ -28,9 +28,6 @@
unsigned long acpi_fill_madt(unsigned long current)
{
- /* create all subtables for processors */
- current = acpi_create_madt_lapics_with_nmis(current);
-
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current,
diff --git a/src/soc/amd/stoneyridge/acpi.c b/src/soc/amd/stoneyridge/acpi.c
index caa64961fe..947c806197 100644
--- a/src/soc/amd/stoneyridge/acpi.c
+++ b/src/soc/amd/stoneyridge/acpi.c
@@ -26,9 +26,6 @@
unsigned long acpi_fill_madt(unsigned long current)
{
- /* create all subtables for processors */
- current = acpi_create_madt_lapics_with_nmis(current);
-
/* Write Kern IOAPIC, only one */
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
diff --git a/src/soc/intel/baytrail/Kconfig b/src/soc/intel/baytrail/Kconfig
index 5ecfe3eac1..0f908b6357 100644
--- a/src/soc/intel/baytrail/Kconfig
+++ b/src/soc/intel/baytrail/Kconfig
@@ -7,6 +7,7 @@ if SOC_INTEL_BAYTRAIL
config CPU_SPECIFIC_OPTIONS
def_bool y
+ select ACPI_COMMON_MADT_LAPIC
select ACPI_INTEL_HARDWARE_SLEEP_VALUES
select ARCH_X86
select BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES
diff --git a/src/soc/intel/baytrail/acpi.c b/src/soc/intel/baytrail/acpi.c
index 42e4b2616a..77bdcc9284 100644
--- a/src/soc/intel/baytrail/acpi.c
+++ b/src/soc/intel/baytrail/acpi.c
@@ -87,9 +87,6 @@ int acpi_sci_irq(void)
unsigned long acpi_fill_madt(unsigned long current)
{
- /* Local APICs */
- current = acpi_create_madt_lapics_with_nmis(current);
-
/* IOAPIC */
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
diff --git a/src/soc/intel/braswell/Kconfig b/src/soc/intel/braswell/Kconfig
index 4d3d4df6ea..8d540f3e95 100644
--- a/src/soc/intel/braswell/Kconfig
+++ b/src/soc/intel/braswell/Kconfig
@@ -7,6 +7,7 @@ if SOC_INTEL_BRASWELL
config CPU_SPECIFIC_OPTIONS
def_bool y
+ select ACPI_COMMON_MADT_LAPIC
select ACPI_INTEL_HARDWARE_SLEEP_VALUES
select ARCH_X86
select BOOT_DEVICE_SUPPORTS_WRITES
diff --git a/src/soc/intel/braswell/acpi.c b/src/soc/intel/braswell/acpi.c
index 9ef7a754a6..308da129a1 100644
--- a/src/soc/intel/braswell/acpi.c
+++ b/src/soc/intel/braswell/acpi.c
@@ -328,9 +328,6 @@ static unsigned long acpi_madt_irq_overrides(unsigned long current)
unsigned long acpi_fill_madt(unsigned long current)
{
- /* Local APICs */
- current = acpi_create_madt_lapics_with_nmis(current);
-
/* IOAPIC */
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
diff --git a/src/soc/intel/broadwell/pch/Kconfig b/src/soc/intel/broadwell/pch/Kconfig
index 5a80d32191..63f0439e6a 100644
--- a/src/soc/intel/broadwell/pch/Kconfig
+++ b/src/soc/intel/broadwell/pch/Kconfig
@@ -4,6 +4,7 @@ config INTEL_LYNXPOINT_LP
config PCH_SPECIFIC_OPTIONS
def_bool y
+ select ACPI_COMMON_MADT_LAPIC
select ACPI_INTEL_HARDWARE_SLEEP_VALUES
select ACPI_SOC_NVS
select AZALIA_PLUGIN_SUPPORT
diff --git a/src/soc/intel/common/block/acpi/Kconfig b/src/soc/intel/common/block/acpi/Kconfig
index bf5fa569d5..8f4e308879 100644
--- a/src/soc/intel/common/block/acpi/Kconfig
+++ b/src/soc/intel/common/block/acpi/Kconfig
@@ -1,6 +1,7 @@
config SOC_INTEL_COMMON_BLOCK_ACPI
depends on SOC_INTEL_COMMON_BLOCK_CPU
depends on SOC_INTEL_COMMON_BLOCK_PMC
+ select ACPI_COMMON_MADT_LAPIC if !SOC_INTEL_COMMON_BLOCK_ACPI_CPU_HYBRID
bool
help
Intel Processor common code for ACPI
diff --git a/src/soc/intel/common/block/acpi/acpi.c b/src/soc/intel/common/block/acpi/acpi.c
index 4139054695..51649d0aee 100644
--- a/src/soc/intel/common/block/acpi/acpi.c
+++ b/src/soc/intel/common/block/acpi/acpi.c
@@ -87,11 +87,8 @@ unsigned long acpi_fill_madt(unsigned long current)
size_t ioapic_entries;
/* Local APICs */
-
- if (CONFIG(SOC_INTEL_COMMON_BLOCK_ACPI_CPU_HYBRID))
+ if (!CONFIG(ACPI_COMMON_MADT_LAPIC))
current = acpi_create_madt_lapics_with_nmis_hybrid(current);
- else
- current = acpi_create_madt_lapics_with_nmis(current);
/* IOAPIC */
ioapic_entries = soc_get_ioapic_info(&ioapic_table);
diff --git a/src/southbridge/amd/pi/hudson/Kconfig b/src/southbridge/amd/pi/hudson/Kconfig
index 53f7b3ea9d..4b19431924 100644
--- a/src/southbridge/amd/pi/hudson/Kconfig
+++ b/src/southbridge/amd/pi/hudson/Kconfig
@@ -10,6 +10,7 @@ if SOUTHBRIDGE_AMD_PI_AVALON || SOUTHBRIDGE_AMD_PI_KERN
config SOUTHBRIDGE_SPECIFIC_OPTIONS
def_bool y
+ select ACPI_COMMON_MADT_LAPIC
select HAVE_USBDEBUG_OPTIONS
select HAVE_CF9_RESET
select HAVE_CF9_RESET_PREPARE
diff --git a/src/southbridge/intel/bd82x6x/Kconfig b/src/southbridge/intel/bd82x6x/Kconfig
index 7fee1f1680..a0d8605e87 100644
--- a/src/southbridge/intel/bd82x6x/Kconfig
+++ b/src/southbridge/intel/bd82x6x/Kconfig
@@ -10,6 +10,7 @@ if SOUTHBRIDGE_INTEL_BD82X6X || SOUTHBRIDGE_INTEL_C216
config SOUTH_BRIDGE_OPTIONS
def_bool y
+ select ACPI_COMMON_MADT_LAPIC
select ACPI_INTEL_HARDWARE_SLEEP_VALUES
select ACPI_SOC_NVS
select AZALIA_PLUGIN_SUPPORT
diff --git a/src/southbridge/intel/common/madt.c b/src/southbridge/intel/common/madt.c
index b85e110187..24823919fc 100644
--- a/src/southbridge/intel/common/madt.c
+++ b/src/southbridge/intel/common/madt.c
@@ -6,9 +6,6 @@
unsigned long acpi_fill_madt(unsigned long current)
{
- /* Local APICs */
- current = acpi_create_madt_lapics_with_nmis(current);
-
/* IOAPIC */
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
diff --git a/src/southbridge/intel/i82371eb/Kconfig b/src/southbridge/intel/i82371eb/Kconfig
index 03e70a6394..08ffb00817 100644
--- a/src/southbridge/intel/i82371eb/Kconfig
+++ b/src/southbridge/intel/i82371eb/Kconfig
@@ -1,4 +1,5 @@
config SOUTHBRIDGE_INTEL_I82371EB
+ select ACPI_COMMON_MADT_LAPIC
select ACPI_INTEL_HARDWARE_SLEEP_VALUES
select SOUTHBRIDGE_INTEL_COMMON_SMBUS
select SOUTHBRIDGE_INTEL_COMMON_RTC
diff --git a/src/southbridge/intel/i82801dx/Kconfig b/src/southbridge/intel/i82801dx/Kconfig
index 3916b414ba..2be911d79f 100644
--- a/src/southbridge/intel/i82801dx/Kconfig
+++ b/src/southbridge/intel/i82801dx/Kconfig
@@ -2,6 +2,7 @@
config SOUTHBRIDGE_INTEL_I82801DX
bool
+ select ACPI_COMMON_MADT_LAPIC
select ACPI_INTEL_HARDWARE_SLEEP_VALUES
select HAVE_SMI_HANDLER
select SOUTHBRIDGE_INTEL_COMMON_SMBUS
diff --git a/src/southbridge/intel/i82801gx/Kconfig b/src/southbridge/intel/i82801gx/Kconfig
index b1b885b2e5..330915f14a 100644
--- a/src/southbridge/intel/i82801gx/Kconfig
+++ b/src/southbridge/intel/i82801gx/Kconfig
@@ -2,6 +2,7 @@
config SOUTHBRIDGE_INTEL_I82801GX
bool
+ select ACPI_COMMON_MADT_LAPIC
select ACPI_INTEL_HARDWARE_SLEEP_VALUES
select ACPI_SOC_NVS
select AZALIA_PLUGIN_SUPPORT
diff --git a/src/southbridge/intel/i82801gx/lpc.c b/src/southbridge/intel/i82801gx/lpc.c
index 69c1469b63..2871453808 100644
--- a/src/southbridge/intel/i82801gx/lpc.c
+++ b/src/southbridge/intel/i82801gx/lpc.c
@@ -351,9 +351,6 @@ static void lpc_init(struct device *dev)
unsigned long acpi_fill_madt(unsigned long current)
{
- /* Local APICs */
- current = acpi_create_madt_lapics_with_nmis(current);
-
/* IOAPIC */
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
diff --git a/src/southbridge/intel/i82801ix/Kconfig b/src/southbridge/intel/i82801ix/Kconfig
index 4d6b097bd6..d93afa6113 100644
--- a/src/southbridge/intel/i82801ix/Kconfig
+++ b/src/southbridge/intel/i82801ix/Kconfig
@@ -2,6 +2,7 @@
config SOUTHBRIDGE_INTEL_I82801IX
bool
+ select ACPI_COMMON_MADT_LAPIC
select ACPI_INTEL_HARDWARE_SLEEP_VALUES
select ACPI_SOC_NVS
select AZALIA_PLUGIN_SUPPORT
diff --git a/src/southbridge/intel/i82801ix/madt.c b/src/southbridge/intel/i82801ix/madt.c
index 009c9ea202..1ac81498b5 100644
--- a/src/southbridge/intel/i82801ix/madt.c
+++ b/src/southbridge/intel/i82801ix/madt.c
@@ -6,9 +6,6 @@
unsigned long acpi_fill_madt(unsigned long current)
{
- /* Local APICs */
- current = acpi_create_madt_lapics_with_nmis(current);
-
/* IOAPIC */
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
diff --git a/src/southbridge/intel/i82801jx/Kconfig b/src/southbridge/intel/i82801jx/Kconfig
index b18985231b..62684ec1cb 100644
--- a/src/southbridge/intel/i82801jx/Kconfig
+++ b/src/southbridge/intel/i82801jx/Kconfig
@@ -2,6 +2,7 @@
config SOUTHBRIDGE_INTEL_I82801JX
bool
+ select ACPI_COMMON_MADT_LAPIC
select ACPI_INTEL_HARDWARE_SLEEP_VALUES
select AZALIA_PLUGIN_SUPPORT
select HAVE_POWER_STATE_AFTER_FAILURE
diff --git a/src/southbridge/intel/i82801jx/lpc.c b/src/southbridge/intel/i82801jx/lpc.c
index ead2b8ad9b..8ff7926a7c 100644
--- a/src/southbridge/intel/i82801jx/lpc.c
+++ b/src/southbridge/intel/i82801jx/lpc.c
@@ -381,9 +381,6 @@ static void lpc_init(struct device *dev)
unsigned long acpi_fill_madt(unsigned long current)
{
- /* Local APICs */
- current = acpi_create_madt_lapics_with_nmis(current);
-
/* IOAPIC */
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
diff --git a/src/southbridge/intel/ibexpeak/Kconfig b/src/southbridge/intel/ibexpeak/Kconfig
index fd5e32244b..ffeef5d88f 100644
--- a/src/southbridge/intel/ibexpeak/Kconfig
+++ b/src/southbridge/intel/ibexpeak/Kconfig
@@ -7,6 +7,7 @@ if SOUTHBRIDGE_INTEL_IBEXPEAK
config SOUTH_BRIDGE_OPTIONS
def_bool y
+ select ACPI_COMMON_MADT_LAPIC
select ACPI_INTEL_HARDWARE_SLEEP_VALUES
select AZALIA_PLUGIN_SUPPORT
select HAVE_SMI_HANDLER
diff --git a/src/southbridge/intel/ibexpeak/madt.c b/src/southbridge/intel/ibexpeak/madt.c
index 26b163029a..c5b1f0bf22 100644
--- a/src/southbridge/intel/ibexpeak/madt.c
+++ b/src/southbridge/intel/ibexpeak/madt.c
@@ -8,9 +8,6 @@
unsigned long acpi_fill_madt(unsigned long current)
{
- /* Local APICs */
- current = acpi_create_madt_lapics_with_nmis(current);
-
/* IOAPIC */
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
diff --git a/src/southbridge/intel/lynxpoint/Kconfig b/src/southbridge/intel/lynxpoint/Kconfig
index 63058124a5..9cea74bc32 100644
--- a/src/southbridge/intel/lynxpoint/Kconfig
+++ b/src/southbridge/intel/lynxpoint/Kconfig
@@ -7,6 +7,7 @@ if SOUTHBRIDGE_INTEL_LYNXPOINT
config SOUTH_BRIDGE_OPTIONS
def_bool y
+ select ACPI_COMMON_MADT_LAPIC
select ACPI_INTEL_HARDWARE_SLEEP_VALUES
select ACPI_SOC_NVS
select AZALIA_PLUGIN_SUPPORT