diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2023-04-07 22:39:53 +0300 |
---|---|---|
committer | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2023-04-11 19:57:58 +0000 |
commit | 9ac1fb729fa316564992403580254b1c4afbf9c2 (patch) | |
tree | 46475a185bea3b97586713927d1b78664cc2d6e5 /src/acpi | |
parent | 899c713e3eb073491d8b954165919daa87609493 (diff) |
ACPI: Add helper for MADT LAPIC NMIs
This avoids some code duplication related to X2APIC mode.
Change-Id: I2cb8676efc1aba1b154fd04c49e53b2530239b4c
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/74311
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Sridhar Siricilla <sridhar.siricilla@intel.com>
Reviewed-by: Tim Wawrzynczak <inforichland@gmail.com>
Diffstat (limited to 'src/acpi')
-rw-r--r-- | src/acpi/acpi.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/acpi/acpi.c b/src/acpi/acpi.c index 53b16077ba..2439d7b44a 100644 --- a/src/acpi/acpi.c +++ b/src/acpi/acpi.c @@ -213,7 +213,7 @@ int acpi_create_madt_irqoverride(acpi_madt_irqoverride_t *irqoverride, return irqoverride->length; } -int acpi_create_madt_lapic_nmi(acpi_madt_lapic_nmi_t *lapic_nmi, u8 cpu, +static int acpi_create_madt_lapic_nmi(acpi_madt_lapic_nmi_t *lapic_nmi, u8 cpu, u16 flags, u8 lint) { lapic_nmi->type = LOCAL_APIC_NMI; /* Local APIC NMI structure */ @@ -225,7 +225,7 @@ int acpi_create_madt_lapic_nmi(acpi_madt_lapic_nmi_t *lapic_nmi, u8 cpu, return lapic_nmi->length; } -int acpi_create_madt_lx2apic_nmi(acpi_madt_lx2apic_nmi_t *lapic_nmi, u32 cpu, +static int acpi_create_madt_lx2apic_nmi(acpi_madt_lx2apic_nmi_t *lapic_nmi, u32 cpu, u16 flags, u8 lint) { lapic_nmi->type = LOCAL_X2APIC_NMI; /* Local APIC NMI structure */ @@ -240,12 +240,10 @@ 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) +unsigned long acpi_create_madt_lapic_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, @@ -258,6 +256,13 @@ unsigned long acpi_create_madt_lapics_with_nmis(unsigned long current) return current; } +unsigned long acpi_create_madt_lapics_with_nmis(unsigned long current) +{ + current = acpi_create_madt_lapics(current); + current = acpi_create_madt_lapic_nmis(current); + return current; +} + void acpi_create_madt(acpi_madt_t *madt) { acpi_header_t *header = &(madt->header); |