Currently the MADT signature and revision is mapped to v1.0 macros which results in MADT with incorrect entries in the header for Juno. This patch fixes these EFI_ACPI_*_0_MULTIPLE_APIC_DESCRIPTION_TABLE macros by using appropriate v5.0 versions.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Sudeep Holla <sudeep.ho...@arm.com> Cc: Ryan Harkin <ryan.har...@linaro.org> Cc: Leif Lindholm <leif.lindh...@linaro.org> Cc: Al Stone <al.st...@linaro.org> --- ArmPlatformPkg/ArmJunoPkg/AcpiTables/Madt.aslc | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) Hi Ryan, Lief, Resending as my previous attempt was before I had subscribed to the list. Al Stone is introducing strict check for MADT in Linux kernel and this bug got exposed as result of that. Regards, Sudeep diff --git a/ArmPlatformPkg/ArmJunoPkg/AcpiTables/Madt.aslc b/ArmPlatformPkg/ArmJunoPkg/AcpiTables/Madt.aslc index 406bd94f5636..d63a19b3904a 100644 --- a/ArmPlatformPkg/ArmJunoPkg/AcpiTables/Madt.aslc +++ b/ArmPlatformPkg/ArmJunoPkg/AcpiTables/Madt.aslc @@ -26,19 +26,19 @@ #pragma pack (1) typedef struct { - EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER Header; + EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER Header; EFI_ACPI_5_0_GIC_STRUCTURE GicInterfaces[FixedPcdGet32 (PcdCoreCount)]; EFI_ACPI_5_0_GIC_DISTRIBUTOR_STRUCTURE GicDistributor; - } EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE; + } EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE; #pragma pack () - EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE Madt = { + EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE Madt = { { ARM_ACPI_HEADER ( - EFI_ACPI_1_0_APIC_SIGNATURE, - EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE, - EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION + EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE, + EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE, + EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION ), // // MADT specific fields @@ -68,20 +68,20 @@ #pragma pack (1) typedef struct { - EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER Header; + EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER Header; EFI_ACPI_5_1_GIC_STRUCTURE GicInterfaces[FixedPcdGet32 (PcdCoreCount)]; EFI_ACPI_5_0_GIC_DISTRIBUTOR_STRUCTURE GicDistributor; EFI_ACPI_6_0_GIC_MSI_FRAME_STRUCTURE MsiFrame; - } EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE; + } EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE; #pragma pack () - EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE Madt = { + EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE Madt = { { ARM_ACPI_HEADER ( - EFI_ACPI_1_0_APIC_SIGNATURE, - EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE, - EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION + EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE_SIGNATURE, + EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE, + EFI_ACPI_5_0_MULTIPLE_APIC_DESCRIPTION_TABLE_REVISION ), // // MADT specific fields -- 1.9.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel