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

Reply via email to