[AMD Official Use Only] Gentle reminder to merge the code.
-----Original Message----- From: Gao, Zhichao <[email protected]> Sent: 09 September 2021 07:54 To: Attar, AbdulLateef (Abdul Lateef) <[email protected]>; [email protected] Cc: Ni, Ray <[email protected]> Subject: RE: [edk2-devel] [PATCH] ShellPkg: Parse I/O APIC and x2APIC structure [CAUTION: External Email] Reviewed-by: Zhichao Gao <[email protected]> Thanks, Zhichao > -----Original Message----- > From: Abdul Lateef Attar <[email protected]> > Sent: Tuesday, August 24, 2021 11:30 PM > To: [email protected] > Cc: Ni, Ray <[email protected]>; Gao, Zhichao <[email protected]>; > Abdul Lateef Attar <[email protected]> > Subject: [edk2-devel] [PATCH] ShellPkg: Parse I/O APIC and x2APIC > structure > > Parse and print the below interrupt structures > - I/O APIC Structure > - Interrupt Source Override Structure > - Processor Local x2APIC Structure > - Local x2APIC NMI Structure > > Signed-off-by: Abdul Lateef Attar <[email protected]> > --- > .../Parsers/Madt/MadtParser.c | 99 +++++++++++++++++++ > 1 file changed, 99 insertions(+) > > diff --git > a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtPars > er.c > b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtPars > er.c > index 15aa2392b6..2ba8c9ae52 100644 > --- > a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtPars > er.c > +++ > b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtPars > +++ er.c > @@ -181,6 +181,57 @@ STATIC CONST ACPI_PARSER GicITSParser[] = { > {L"Reserved", 4, 16, L"0x%x", NULL, NULL, NULL, NULL} }; > > +/** > + An ACPI_PARSER array describing the IO APIC Structure. > +**/ > +STATIC CONST ACPI_PARSER IoApic[] = { > + {L"Type", 1, 0, L"0x%x", NULL, NULL, NULL, NULL}, > + {L"Length", 1, 1, L"%d", NULL, NULL, NULL, NULL}, > + {L"I/O APIC ID", 1, 2, L"0x%x", NULL, NULL, NULL, NULL}, > + {L"Reserved", 1, 3, L"0x%x", NULL, NULL, NULL, NULL}, > + {L"I/O APIC Address", 4, 4, L"0x%x", NULL, NULL, NULL, NULL}, > + {L"Global System Interrupt Base", 4, 8, L"0x%x", NULL, NULL, NULL, > +NULL} }; > + > +/** > + An ACPI_PARSER array describing the Interrupt Source Override Structure. > +**/ > +STATIC CONST ACPI_PARSER InterruptSourceOverride[] = { > + {L"Type", 1, 0, L"0x%x", NULL, NULL, NULL, NULL}, > + {L"Length", 1, 1, L"%d", NULL, NULL, NULL, NULL}, > + {L"Bus", 1, 2, L"0x%x", NULL, NULL, NULL, NULL}, > + {L"Source", 1, 3, L"0x%x", NULL, NULL, NULL, NULL}, > + {L"Global System Interrupt", 4, 4, L"0x%x", NULL, NULL, NULL, > +NULL}, > + {L"Flags", 2, 8, L"0x%x", NULL, NULL, NULL, NULL} }; > + > + > +/** > + An ACPI_PARSER array describing the Processor Local x2APIC Structure. > +**/ > +STATIC CONST ACPI_PARSER ProcessorLocalX2Apic[] = { > + {L"Type", 1, 0, L"0x%x", NULL, NULL, NULL, NULL}, > + {L"Length", 1, 1, L"%d", NULL, NULL, NULL, NULL}, > + {L"Reserved", 2, 2, L"0x%x", NULL, NULL, NULL, NULL}, > + > + {L"X2APIC ID", 4, 4, L"0x%x", NULL, NULL, NULL, NULL}, {L"Flags", > + 4, 8, L"0x%x", NULL, NULL, NULL, NULL}, {L"ACPI Processor UID", 4, > + 12, L"0x%x", NULL, NULL, NULL, NULL} }; > + > +/** > + An ACPI_PARSER array describing the Local x2APIC NMI Structure. > +**/ > +STATIC CONST ACPI_PARSER LocalX2ApicNmi[] = { > + {L"Type", 1, 0, L"0x%x", NULL, NULL, NULL, NULL}, > + {L"Length", 1, 1, L"%d", NULL, NULL, NULL, NULL}, > + {L"Flags", 2, 2, L"0x%x", NULL, NULL, NULL, NULL}, > + > + {L"ACPI Processor UID", 4, 4, L"0x%x", NULL, NULL, NULL, NULL}, > + {L"Local x2APIC LINT#", 1, 8, L"0x%x", NULL, NULL, NULL, NULL}, > + {L"Reserved", 3, 9, L"0x%x%x%x", Dump3Chars, NULL, NULL, NULL} }; > + > /** > An ACPI_PARSER array describing the ACPI MADT Table. > **/ > @@ -357,6 +408,54 @@ ParseAcpiMadt ( > break; > } > > + case EFI_ACPI_6_3_IO_APIC: { > + ParseAcpi ( > + TRUE, > + 2, > + "IO APIC", > + InterruptContollerPtr, > + *MadtInterruptControllerLength, > + PARSER_PARAMS (IoApic) > + ); > + break; > + } > + > + case EFI_ACPI_6_3_INTERRUPT_SOURCE_OVERRIDE: { > + ParseAcpi ( > + TRUE, > + 2, > + "INTERRUPT SOURCE OVERRIDE", > + InterruptContollerPtr, > + *MadtInterruptControllerLength, > + PARSER_PARAMS (InterruptSourceOverride) > + ); > + break; > + } > + > + case EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC: { > + ParseAcpi ( > + TRUE, > + 2, > + "PROCESSOR LOCAL X2APIC", > + InterruptContollerPtr, > + *MadtInterruptControllerLength, > + PARSER_PARAMS (ProcessorLocalX2Apic) > + ); > + break; > + } > + > + case EFI_ACPI_6_3_LOCAL_X2APIC_NMI: { > + ParseAcpi ( > + TRUE, > + 2, > + "LOCAL x2APIC NMI", > + InterruptContollerPtr, > + *MadtInterruptControllerLength, > + PARSER_PARAMS (LocalX2ApicNmi) > + ); > + break; > + } > + > default: { > IncrementErrorCount (); > Print ( > -- > 2.25.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#82429): https://edk2.groups.io/g/devel/message/82429 Mute This Topic: https://groups.io/mt/85113394/21656 Group Owner: [email protected] Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
