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
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