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>
This commit is contained in:
@@ -240,6 +240,24 @@ int acpi_create_madt_lx2apic_nmi(acpi_madt_lx2apic_nmi_t *lapic_nmi, u32 cpu,
|
||||
return lapic_nmi->length;
|
||||
}
|
||||
|
||||
unsigned long acpi_create_madt_lapics_with_nmis(unsigned long current)
|
||||
{
|
||||
const u16 flags = MP_IRQ_TRIGGER_EDGE | MP_IRQ_POLARITY_HIGH;
|
||||
|
||||
current = acpi_create_madt_lapics(current);
|
||||
|
||||
/* 1: LINT1 connect to NMI */
|
||||
/* create all subtables for processors */
|
||||
current += acpi_create_madt_lapic_nmi((acpi_madt_lapic_nmi_t *)current,
|
||||
ACPI_MADT_LAPIC_NMI_ALL_PROCESSORS, flags, 1);
|
||||
|
||||
if (!CONFIG(XAPIC_ONLY))
|
||||
current += acpi_create_madt_lx2apic_nmi((acpi_madt_lx2apic_nmi_t *)current,
|
||||
ACPI_MADT_LX2APIC_NMI_ALL_PROCESSORS, flags, 1);
|
||||
|
||||
return current;
|
||||
}
|
||||
|
||||
void acpi_create_madt(acpi_madt_t *madt)
|
||||
{
|
||||
acpi_header_t *header = &(madt->header);
|
||||
|
Reference in New Issue
Block a user