summaryrefslogtreecommitdiff
path: root/src/soc/amd
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2022-11-12 21:13:45 +0200
committerKyösti Mälkki <kyosti.malkki@gmail.com>2022-11-25 15:01:49 +0000
commit66b5e1b32ddac58b6d4c7679a0ea274041225a24 (patch)
treebb9f21608536b719d7b8dc2aba421dc9f0ce5ddd /src/soc/amd
parentda1a58a50333d3a9b370a7e18ed4c3b69b17d2ba (diff)
ACPI: Use common code for MADT LAPIC NMIs
Use the broadcast ID to deliver LINT1 as NMI to all CPUs, instead of listing individual LAPIC IDs. Change-Id: Iaf714d8c2aabd16c59c3bcebc4a207406fc85ca9 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/69527 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Diffstat (limited to 'src/soc/amd')
-rw-r--r--src/soc/amd/cezanne/acpi.c8
-rw-r--r--src/soc/amd/glinda/acpi.c8
-rw-r--r--src/soc/amd/mendocino/acpi.c8
-rw-r--r--src/soc/amd/morgana/acpi.c8
-rw-r--r--src/soc/amd/picasso/acpi.c8
-rw-r--r--src/soc/amd/stoneyridge/acpi.c8
6 files changed, 6 insertions, 42 deletions
diff --git a/src/soc/amd/cezanne/acpi.c b/src/soc/amd/cezanne/acpi.c
index 189e84e86e..802476ec77 100644
--- a/src/soc/amd/cezanne/acpi.c
+++ b/src/soc/amd/cezanne/acpi.c
@@ -24,7 +24,7 @@
unsigned long acpi_fill_madt(unsigned long current)
{
/* create all subtables for processors */
- current = acpi_create_madt_lapics(current);
+ current = acpi_create_madt_lapics_with_nmis(current);
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
@@ -41,12 +41,6 @@ unsigned long acpi_fill_madt(unsigned long current)
MP_IRQ_TRIGGER_LEVEL | MP_IRQ_POLARITY_LOW);
current = acpi_fill_madt_irqoverride(current);
- /* create all subtables for processors */
- current += acpi_create_madt_lapic_nmi((acpi_madt_lapic_nmi_t *)current,
- ACPI_MADT_LAPIC_NMI_ALL_PROCESSORS,
- MP_IRQ_TRIGGER_EDGE | MP_IRQ_POLARITY_HIGH,
- 1 /* 1: LINT1 connect to NMI */);
-
return current;
}
diff --git a/src/soc/amd/glinda/acpi.c b/src/soc/amd/glinda/acpi.c
index 85430b9f17..0c95494a11 100644
--- a/src/soc/amd/glinda/acpi.c
+++ b/src/soc/amd/glinda/acpi.c
@@ -27,7 +27,7 @@
unsigned long acpi_fill_madt(unsigned long current)
{
/* create all subtables for processors */
- current = acpi_create_madt_lapics(current);
+ current = acpi_create_madt_lapics_with_nmis(current);
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
@@ -44,12 +44,6 @@ unsigned long acpi_fill_madt(unsigned long current)
MP_IRQ_TRIGGER_LEVEL | MP_IRQ_POLARITY_LOW);
current = acpi_fill_madt_irqoverride(current);
- /* create all subtables for processors */
- current += acpi_create_madt_lapic_nmi((acpi_madt_lapic_nmi_t *)current,
- ACPI_MADT_LAPIC_NMI_ALL_PROCESSORS,
- MP_IRQ_TRIGGER_EDGE | MP_IRQ_POLARITY_HIGH,
- 1 /* 1: LINT1 connect to NMI */);
-
return current;
}
diff --git a/src/soc/amd/mendocino/acpi.c b/src/soc/amd/mendocino/acpi.c
index b867930c34..d30fb85cec 100644
--- a/src/soc/amd/mendocino/acpi.c
+++ b/src/soc/amd/mendocino/acpi.c
@@ -26,7 +26,7 @@
unsigned long acpi_fill_madt(unsigned long current)
{
/* create all subtables for processors */
- current = acpi_create_madt_lapics(current);
+ current = acpi_create_madt_lapics_with_nmis(current);
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
@@ -43,12 +43,6 @@ unsigned long acpi_fill_madt(unsigned long current)
MP_IRQ_TRIGGER_LEVEL | MP_IRQ_POLARITY_LOW);
current = acpi_fill_madt_irqoverride(current);
- /* create all subtables for processors */
- current += acpi_create_madt_lapic_nmi((acpi_madt_lapic_nmi_t *)current,
- ACPI_MADT_LAPIC_NMI_ALL_PROCESSORS,
- MP_IRQ_TRIGGER_EDGE | MP_IRQ_POLARITY_HIGH,
- 1 /* 1: LINT1 connect to NMI */);
-
return current;
}
diff --git a/src/soc/amd/morgana/acpi.c b/src/soc/amd/morgana/acpi.c
index 5eb21ffd56..15b64c5a13 100644
--- a/src/soc/amd/morgana/acpi.c
+++ b/src/soc/amd/morgana/acpi.c
@@ -27,7 +27,7 @@
unsigned long acpi_fill_madt(unsigned long current)
{
/* create all subtables for processors */
- current = acpi_create_madt_lapics(current);
+ current = acpi_create_madt_lapics_with_nmis(current);
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
@@ -44,12 +44,6 @@ unsigned long acpi_fill_madt(unsigned long current)
MP_IRQ_TRIGGER_LEVEL | MP_IRQ_POLARITY_LOW);
current = acpi_fill_madt_irqoverride(current);
- /* create all subtables for processors */
- current += acpi_create_madt_lapic_nmi((acpi_madt_lapic_nmi_t *)current,
- ACPI_MADT_LAPIC_NMI_ALL_PROCESSORS,
- MP_IRQ_TRIGGER_EDGE | MP_IRQ_POLARITY_HIGH,
- 1 /* 1: LINT1 connect to NMI */);
-
return current;
}
diff --git a/src/soc/amd/picasso/acpi.c b/src/soc/amd/picasso/acpi.c
index 2af645978a..6d46698847 100644
--- a/src/soc/amd/picasso/acpi.c
+++ b/src/soc/amd/picasso/acpi.c
@@ -31,7 +31,7 @@
unsigned long acpi_fill_madt(unsigned long current)
{
/* create all subtables for processors */
- current = acpi_create_madt_lapics(current);
+ current = acpi_create_madt_lapics_with_nmis(current);
current += acpi_create_madt_ioapic_from_hw((acpi_madt_ioapic_t *)current, IO_APIC_ADDR);
@@ -49,12 +49,6 @@ unsigned long acpi_fill_madt(unsigned long current)
current = acpi_fill_madt_irqoverride(current);
- /* create all subtables for processors */
- current += acpi_create_madt_lapic_nmi((acpi_madt_lapic_nmi_t *)current,
- ACPI_MADT_LAPIC_NMI_ALL_PROCESSORS,
- MP_IRQ_TRIGGER_EDGE | MP_IRQ_POLARITY_HIGH,
- 1 /* 1: LINT1 connect to NMI */);
-
return current;
}
diff --git a/src/soc/amd/stoneyridge/acpi.c b/src/soc/amd/stoneyridge/acpi.c
index 20221d20ac..cc0194b6bc 100644
--- a/src/soc/amd/stoneyridge/acpi.c
+++ b/src/soc/amd/stoneyridge/acpi.c
@@ -26,7 +26,7 @@
unsigned long acpi_fill_madt(unsigned long current)
{
/* create all subtables for processors */
- current = acpi_create_madt_lapics(current);
+ 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);
@@ -42,12 +42,6 @@ unsigned long acpi_fill_madt(unsigned long current)
MP_BUS_ISA, 9, 9,
MP_IRQ_TRIGGER_LEVEL | MP_IRQ_POLARITY_LOW);
- /* create all subtables for processors */
- current += acpi_create_madt_lapic_nmi((acpi_madt_lapic_nmi_t *)current,
- ACPI_MADT_LAPIC_NMI_ALL_PROCESSORS,
- MP_IRQ_TRIGGER_EDGE | MP_IRQ_POLARITY_HIGH,
- 1 /* 1: LINT1 connect to NMI */);
-
return current;
}