Re: [edk2] [PATCH] ArmPlatformPkg/ArmJunoPkg/Madt.aslc: Fix MADT header version
Fair enough. Sudeep - can you point me to how I can verify the behaviour of these patches? Has Al's sanity checking gone into 4.3 merge window, or do I need to add it from elsewhere? Regards, Leif On Mon, Sep 07, 2015 at 06:53:55PM +0100, Ryan Harkin wrote: > Hi Sudeep, > > I'm not involved in ACPI development, so am not able to review this. > > Regards, > Ryan. > > On 7 September 2015 at 17:07, Sudeep Hollawrote: > > > 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 > > Cc: Ryan Harkin > > Cc: Leif Lindholm > > Cc: Al Stone > > --- > > 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_STRUCTUREGicDistributor; > > - } 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_STRUCTUREGicDistributor; > > 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
Re: [edk2] [PATCH] ArmPlatformPkg/ArmJunoPkg/Madt.aslc: Fix MADT header version
On 08/09/15 11:02, Leif Lindholm wrote: Fair enough. Sudeep - can you point me to how I can verify the behaviour of these patches? Has Al's sanity checking gone into 4.3 merge window, or do I need to add it from elsewhere? No, not yet made to upstream kernel, but I briefly checked now and I can see the commmit[0] in leg-kernel[1]. It just fails to boot so we need to get this change in before the kernel change is merged IMO. I wonder if that branch was tested on Juno though. "... ACPI: undefined MADT subtable type for FADT 5.1: 12 (length 24). Kernel panic - not syncing: No interrupt controller. " Anyway this change can go irrespective of the kernel change as we started supporting ACPI on ARM only from v5.0 and it makes no sense to mark MADT as v1.0. I think this bug was not visible as most of the macros have same value expect revision which got caught by Al's sanity check. Regards, Sudeep [0] https://git.linaro.org/leg/acpi/leg-kernel.git/commit/bd8aac91f1ee9a90b6b51b2c48b1e0ee3755c5b0 [1] https://git.linaro.org/leg/acpi/leg-kernel.git/shortlog/refs/heads/leg-kernel ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH] ArmPlatformPkg/ArmJunoPkg/Madt.aslc: Fix MADT header version
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 HollaCc: Ryan Harkin Cc: Leif Lindholm Cc: Al Stone --- 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_STRUCTUREGicDistributor; - } 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_STRUCTUREGicDistributor; 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
Re: [edk2] [PATCH] ArmPlatformPkg/ArmJunoPkg/Madt.aslc: Fix MADT header version
Hi Sudeep, I'm not involved in ACPI development, so am not able to review this. Regards, Ryan. On 7 September 2015 at 17:07, Sudeep Hollawrote: > 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 > Cc: Ryan Harkin > Cc: Leif Lindholm > Cc: Al Stone > --- > 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_STRUCTUREGicDistributor; > - } 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_STRUCTUREGicDistributor; > 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