* [PATCH 0/2] ShellPkg: UefiShellAcpiViewCommandLib: Add support for parsing Local APIC NMI structure @ 2023-05-03 21:50 Rebecca Cran 2023-05-03 21:50 ` [PATCH 1/2] ShellPkg: acpiview: add support for parsing the " Rebecca Cran 2023-05-03 21:50 ` [PATCH 2/2] ShellPkg: Fix typo of 'Controller' in acpiview MadtParser.c Rebecca Cran 0 siblings, 2 replies; 4+ messages in thread From: Rebecca Cran @ 2023-05-03 21:50 UTC (permalink / raw) To: devel, Ray Ni, Zhichao Gao; +Cc: Rebecca Cran Add support to acpiview for parsing the Local APIC NMI structure. Fix a typo of 'Controller' in MadtParser.c. The function to dump MPS INTI flags is almost a duplicate of the function above it, but I wasn't sure how to avoid it. Rebecca Cran (2): ShellPkg: acpiview: add support for parsing the Local APIC NMI structure ShellPkg: Fix typo of 'Controller' in acpiview MadtParser.c ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParser.c | 90 ++++++++++++++++---- 1 file changed, 75 insertions(+), 15 deletions(-) -- 2.39.2 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/2] ShellPkg: acpiview: add support for parsing the Local APIC NMI structure 2023-05-03 21:50 [PATCH 0/2] ShellPkg: UefiShellAcpiViewCommandLib: Add support for parsing Local APIC NMI structure Rebecca Cran @ 2023-05-03 21:50 ` Rebecca Cran 2023-05-03 21:50 ` [PATCH 2/2] ShellPkg: Fix typo of 'Controller' in acpiview MadtParser.c Rebecca Cran 1 sibling, 0 replies; 4+ messages in thread From: Rebecca Cran @ 2023-05-03 21:50 UTC (permalink / raw) To: devel, Ray Ni, Zhichao Gao; +Cc: Rebecca Cran Add support to acpiview for parsing the Local APIC NMI structure. Signed-off-by: Rebecca Cran <rebecca@bsdio.com> --- ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParser.c | 60 ++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParser.c b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParser.c index 41edcb9ffd1d..9d33ad2606e8 100644 --- a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParser.c +++ b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParser.c @@ -213,6 +213,12 @@ STATIC CONST ACPI_PARSER LocalApicFlags[] = { { L"Reserved", 30, 2, L"%d", NULL, NULL, NULL, NULL } }; +STATIC CONST ACPI_PARSER MpsIntiFlags[] = { + { L"Polarity", 2, 0, L"%d", NULL, NULL, NULL, NULL }, + { L"Trigger Mode", 2, 2, L"%d", NULL, NULL, NULL, NULL }, + { L"Reserved", 12, 4, L"%d", NULL, NULL, NULL, NULL } +}; + /** This function traces Bit Flags fields. If no format string is specified the Format must be NULL. @@ -243,6 +249,36 @@ DumpLocalApicBitFlags ( ); } +/** + This function traces Bit Flags fields. + If no format string is specified the Format must be NULL. + + @param [in] Format Optional format string for tracing the data. + @param [in] Ptr Pointer to the start of the buffer. +**/ +VOID +EFIAPI +DumpMpsIntiBitFlags ( + IN CONST CHAR16 *Format OPTIONAL, + IN UINT8 *Ptr + ) +{ + if (Format != NULL) { + Print (Format, *(UINT32 *)Ptr); + return; + } + + Print (L"0x%X\n", *(UINT32 *)Ptr); + ParseAcpiBitFields ( + TRUE, + 2, + NULL, + Ptr, + 4, + PARSER_PARAMS (MpsIntiFlags) + ); +} + /** An ACPI_PARSER array describing the Processor Local APIC Structure. **/ @@ -255,6 +291,18 @@ STATIC CONST ACPI_PARSER ProcessorLocalApic[] = { { L"Flags", 4, 4, NULL, DumpLocalApicBitFlags, NULL, NULL, NULL } }; +/** + An ACPI_PARSER array describing the Local APIC NMI Structure. + **/ +STATIC CONST ACPI_PARSER LocalApicNmi[] = { + { L"Type", 1, 0, L"0x%x", NULL, NULL, NULL, NULL }, + { L"Length", 1, 1, L"%d", NULL, NULL, NULL, NULL }, + + { L"ACPI Processor UID", 1, 2, L"0x%x", NULL, NULL, NULL, NULL }, + { L"Flags", 2, 3, NULL, DumpMpsIntiBitFlags, NULL, NULL, NULL }, + { L"Local APIC LINT#", 1, 5, L"%d", NULL, NULL, NULL, NULL } +}; + /** An ACPI_PARSER array describing the Processor Local x2APIC Structure. **/ @@ -502,6 +550,18 @@ ParseAcpiMadt ( ); break; } + case EFI_ACPI_6_3_LOCAL_APIC_NMI: + { + ParseAcpi ( + TRUE, + 2, + "LOCAL APIC NMI", + InterruptContollerPtr, + *MadtInterruptControllerLength, + PARSER_PARAMS (LocalApicNmi) + ); + break; + } case EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC: { ParseAcpi ( -- 2.39.2 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] ShellPkg: Fix typo of 'Controller' in acpiview MadtParser.c 2023-05-03 21:50 [PATCH 0/2] ShellPkg: UefiShellAcpiViewCommandLib: Add support for parsing Local APIC NMI structure Rebecca Cran 2023-05-03 21:50 ` [PATCH 1/2] ShellPkg: acpiview: add support for parsing the " Rebecca Cran @ 2023-05-03 21:50 ` Rebecca Cran 2023-05-04 3:44 ` Rebecca Cran 1 sibling, 1 reply; 4+ messages in thread From: Rebecca Cran @ 2023-05-03 21:50 UTC (permalink / raw) To: devel, Ray Ni, Zhichao Gao; +Cc: Rebecca Cran Fix typos of 'Controller' in acpiview MadtParser.c. Signed-off-by: Rebecca Cran <rebecca@bsdio.com> --- ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParser.c | 50 ++++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParser.c b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParser.c index 9d33ad2606e8..0197b4bd9a66 100644 --- a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParser.c +++ b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParser.c @@ -214,9 +214,9 @@ STATIC CONST ACPI_PARSER LocalApicFlags[] = { }; STATIC CONST ACPI_PARSER MpsIntiFlags[] = { - { L"Polarity", 2, 0, L"%d", NULL, NULL, NULL, NULL }, - { L"Trigger Mode", 2, 2, L"%d", NULL, NULL, NULL, NULL }, - { L"Reserved", 12, 4, L"%d", NULL, NULL, NULL, NULL } + { L"Polarity", 2, 0, L"%d", NULL, NULL, NULL, NULL }, + { L"Trigger Mode", 2, 2, L"%d", NULL, NULL, NULL, NULL }, + { L"Reserved", 12, 4, L"%d", NULL, NULL, NULL, NULL } }; /** @@ -295,12 +295,12 @@ STATIC CONST ACPI_PARSER ProcessorLocalApic[] = { An ACPI_PARSER array describing the Local APIC NMI Structure. **/ STATIC CONST ACPI_PARSER LocalApicNmi[] = { - { L"Type", 1, 0, L"0x%x", NULL, NULL, NULL, NULL }, - { L"Length", 1, 1, L"%d", NULL, NULL, NULL, NULL }, + { L"Type", 1, 0, L"0x%x", NULL, NULL, NULL, NULL }, + { L"Length", 1, 1, L"%d", NULL, NULL, NULL, NULL }, - { L"ACPI Processor UID", 1, 2, L"0x%x", NULL, NULL, NULL, NULL }, - { L"Flags", 2, 3, NULL, DumpMpsIntiBitFlags, NULL, NULL, NULL }, - { L"Local APIC LINT#", 1, 5, L"%d", NULL, NULL, NULL, NULL } + { L"ACPI Processor UID", 1, 2, L"0x%x", NULL, NULL, NULL, NULL }, + { L"Flags", 2, 3, NULL, DumpMpsIntiBitFlags, NULL, NULL, NULL }, + { L"Local APIC LINT#", 1, 5, L"%d", NULL, NULL, NULL, NULL } }; /** @@ -379,7 +379,7 @@ ParseAcpiMadt ( ) { UINT32 Offset; - UINT8 *InterruptContollerPtr; + UINT8 *InterruptControllerPtr; UINT32 GICDCount; GICDCount = 0; @@ -396,7 +396,7 @@ ParseAcpiMadt ( AcpiTableLength, PARSER_PARAMS (MadtParser) ); - InterruptContollerPtr = Ptr + Offset; + InterruptControllerPtr = Ptr + Offset; while (Offset < AcpiTableLength) { // Parse Interrupt Controller Structure to obtain Length. @@ -404,7 +404,7 @@ ParseAcpiMadt ( FALSE, 0, NULL, - InterruptContollerPtr, + InterruptControllerPtr, AcpiTableLength - Offset, PARSER_PARAMS (MadtInterruptControllerHeaderParser) ); @@ -445,7 +445,7 @@ ParseAcpiMadt ( TRUE, 2, "GICC", - InterruptContollerPtr, + InterruptControllerPtr, *MadtInterruptControllerLength, PARSER_PARAMS (GicCParser) ); @@ -467,7 +467,7 @@ ParseAcpiMadt ( TRUE, 2, "GICD", - InterruptContollerPtr, + InterruptControllerPtr, *MadtInterruptControllerLength, PARSER_PARAMS (GicDParser) ); @@ -480,7 +480,7 @@ ParseAcpiMadt ( TRUE, 2, "GIC MSI Frame", - InterruptContollerPtr, + InterruptControllerPtr, *MadtInterruptControllerLength, PARSER_PARAMS (GicMSIFrameParser) ); @@ -493,7 +493,7 @@ ParseAcpiMadt ( TRUE, 2, "GICR", - InterruptContollerPtr, + InterruptControllerPtr, *MadtInterruptControllerLength, PARSER_PARAMS (GicRParser) ); @@ -506,7 +506,7 @@ ParseAcpiMadt ( TRUE, 2, "GIC ITS", - InterruptContollerPtr, + InterruptControllerPtr, *MadtInterruptControllerLength, PARSER_PARAMS (GicITSParser) ); @@ -519,7 +519,7 @@ ParseAcpiMadt ( TRUE, 2, "IO APIC", - InterruptContollerPtr, + InterruptControllerPtr, *MadtInterruptControllerLength, PARSER_PARAMS (IoApic) ); @@ -532,7 +532,7 @@ ParseAcpiMadt ( TRUE, 2, "INTERRUPT SOURCE OVERRIDE", - InterruptContollerPtr, + InterruptControllerPtr, *MadtInterruptControllerLength, PARSER_PARAMS (InterruptSourceOverride) ); @@ -544,7 +544,7 @@ ParseAcpiMadt ( TRUE, 2, "PROCESSOR LOCAL APIC", - InterruptContollerPtr, + InterruptControllerPtr, *MadtInterruptControllerLength, PARSER_PARAMS (ProcessorLocalApic) ); @@ -556,11 +556,11 @@ ParseAcpiMadt ( TRUE, 2, "LOCAL APIC NMI", - InterruptContollerPtr, + InterruptControllerPtr, *MadtInterruptControllerLength, PARSER_PARAMS (LocalApicNmi) ); - break; + break; } case EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC: { @@ -568,7 +568,7 @@ ParseAcpiMadt ( TRUE, 2, "PROCESSOR LOCAL X2APIC", - InterruptContollerPtr, + InterruptControllerPtr, *MadtInterruptControllerLength, PARSER_PARAMS (ProcessorLocalX2Apic) ); @@ -581,7 +581,7 @@ ParseAcpiMadt ( TRUE, 2, "LOCAL x2APIC NMI", - InterruptContollerPtr, + InterruptControllerPtr, *MadtInterruptControllerLength, PARSER_PARAMS (LocalX2ApicNmi) ); @@ -600,7 +600,7 @@ ParseAcpiMadt ( } } // switch - InterruptContollerPtr += *MadtInterruptControllerLength; - Offset += *MadtInterruptControllerLength; + InterruptControllerPtr += *MadtInterruptControllerLength; + Offset += *MadtInterruptControllerLength; } // while } -- 2.39.2 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] ShellPkg: Fix typo of 'Controller' in acpiview MadtParser.c 2023-05-03 21:50 ` [PATCH 2/2] ShellPkg: Fix typo of 'Controller' in acpiview MadtParser.c Rebecca Cran @ 2023-05-04 3:44 ` Rebecca Cran 0 siblings, 0 replies; 4+ messages in thread From: Rebecca Cran @ 2023-05-04 3:44 UTC (permalink / raw) To: devel, Ray Ni, Zhichao Gao Sorry, I made Uncrustify fixes in the wrong commit. I'll send out a v2. On 5/3/23 15:50, Rebecca Cran wrote: > Fix typos of 'Controller' in acpiview MadtParser.c. > > Signed-off-by: Rebecca Cran <rebecca@bsdio.com> > --- > ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParser.c | 50 ++++++++++---------- > 1 file changed, 25 insertions(+), 25 deletions(-) > > diff --git a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParser.c b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParser.c > index 9d33ad2606e8..0197b4bd9a66 100644 > --- a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParser.c > +++ b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Madt/MadtParser.c > @@ -214,9 +214,9 @@ STATIC CONST ACPI_PARSER LocalApicFlags[] = { > }; > > STATIC CONST ACPI_PARSER MpsIntiFlags[] = { > - { L"Polarity", 2, 0, L"%d", NULL, NULL, NULL, NULL }, > - { L"Trigger Mode", 2, 2, L"%d", NULL, NULL, NULL, NULL }, > - { L"Reserved", 12, 4, L"%d", NULL, NULL, NULL, NULL } > + { L"Polarity", 2, 0, L"%d", NULL, NULL, NULL, NULL }, > + { L"Trigger Mode", 2, 2, L"%d", NULL, NULL, NULL, NULL }, > + { L"Reserved", 12, 4, L"%d", NULL, NULL, NULL, NULL } > }; > > /** > @@ -295,12 +295,12 @@ STATIC CONST ACPI_PARSER ProcessorLocalApic[] = { > An ACPI_PARSER array describing the Local APIC NMI Structure. > **/ > STATIC CONST ACPI_PARSER LocalApicNmi[] = { > - { L"Type", 1, 0, L"0x%x", NULL, NULL, NULL, NULL }, > - { L"Length", 1, 1, L"%d", NULL, NULL, NULL, NULL }, > + { L"Type", 1, 0, L"0x%x", NULL, NULL, NULL, NULL }, > + { L"Length", 1, 1, L"%d", NULL, NULL, NULL, NULL }, > > - { L"ACPI Processor UID", 1, 2, L"0x%x", NULL, NULL, NULL, NULL }, > - { L"Flags", 2, 3, NULL, DumpMpsIntiBitFlags, NULL, NULL, NULL }, > - { L"Local APIC LINT#", 1, 5, L"%d", NULL, NULL, NULL, NULL } > + { L"ACPI Processor UID", 1, 2, L"0x%x", NULL, NULL, NULL, NULL }, > + { L"Flags", 2, 3, NULL, DumpMpsIntiBitFlags, NULL, NULL, NULL }, > + { L"Local APIC LINT#", 1, 5, L"%d", NULL, NULL, NULL, NULL } > }; > > /** > @@ -379,7 +379,7 @@ ParseAcpiMadt ( > ) > { > UINT32 Offset; > - UINT8 *InterruptContollerPtr; > + UINT8 *InterruptControllerPtr; > UINT32 GICDCount; > > GICDCount = 0; > @@ -396,7 +396,7 @@ ParseAcpiMadt ( > AcpiTableLength, > PARSER_PARAMS (MadtParser) > ); > - InterruptContollerPtr = Ptr + Offset; > + InterruptControllerPtr = Ptr + Offset; > > while (Offset < AcpiTableLength) { > // Parse Interrupt Controller Structure to obtain Length. > @@ -404,7 +404,7 @@ ParseAcpiMadt ( > FALSE, > 0, > NULL, > - InterruptContollerPtr, > + InterruptControllerPtr, > AcpiTableLength - Offset, > PARSER_PARAMS (MadtInterruptControllerHeaderParser) > ); > @@ -445,7 +445,7 @@ ParseAcpiMadt ( > TRUE, > 2, > "GICC", > - InterruptContollerPtr, > + InterruptControllerPtr, > *MadtInterruptControllerLength, > PARSER_PARAMS (GicCParser) > ); > @@ -467,7 +467,7 @@ ParseAcpiMadt ( > TRUE, > 2, > "GICD", > - InterruptContollerPtr, > + InterruptControllerPtr, > *MadtInterruptControllerLength, > PARSER_PARAMS (GicDParser) > ); > @@ -480,7 +480,7 @@ ParseAcpiMadt ( > TRUE, > 2, > "GIC MSI Frame", > - InterruptContollerPtr, > + InterruptControllerPtr, > *MadtInterruptControllerLength, > PARSER_PARAMS (GicMSIFrameParser) > ); > @@ -493,7 +493,7 @@ ParseAcpiMadt ( > TRUE, > 2, > "GICR", > - InterruptContollerPtr, > + InterruptControllerPtr, > *MadtInterruptControllerLength, > PARSER_PARAMS (GicRParser) > ); > @@ -506,7 +506,7 @@ ParseAcpiMadt ( > TRUE, > 2, > "GIC ITS", > - InterruptContollerPtr, > + InterruptControllerPtr, > *MadtInterruptControllerLength, > PARSER_PARAMS (GicITSParser) > ); > @@ -519,7 +519,7 @@ ParseAcpiMadt ( > TRUE, > 2, > "IO APIC", > - InterruptContollerPtr, > + InterruptControllerPtr, > *MadtInterruptControllerLength, > PARSER_PARAMS (IoApic) > ); > @@ -532,7 +532,7 @@ ParseAcpiMadt ( > TRUE, > 2, > "INTERRUPT SOURCE OVERRIDE", > - InterruptContollerPtr, > + InterruptControllerPtr, > *MadtInterruptControllerLength, > PARSER_PARAMS (InterruptSourceOverride) > ); > @@ -544,7 +544,7 @@ ParseAcpiMadt ( > TRUE, > 2, > "PROCESSOR LOCAL APIC", > - InterruptContollerPtr, > + InterruptControllerPtr, > *MadtInterruptControllerLength, > PARSER_PARAMS (ProcessorLocalApic) > ); > @@ -556,11 +556,11 @@ ParseAcpiMadt ( > TRUE, > 2, > "LOCAL APIC NMI", > - InterruptContollerPtr, > + InterruptControllerPtr, > *MadtInterruptControllerLength, > PARSER_PARAMS (LocalApicNmi) > ); > - break; > + break; > } > case EFI_ACPI_6_3_PROCESSOR_LOCAL_X2APIC: > { > @@ -568,7 +568,7 @@ ParseAcpiMadt ( > TRUE, > 2, > "PROCESSOR LOCAL X2APIC", > - InterruptContollerPtr, > + InterruptControllerPtr, > *MadtInterruptControllerLength, > PARSER_PARAMS (ProcessorLocalX2Apic) > ); > @@ -581,7 +581,7 @@ ParseAcpiMadt ( > TRUE, > 2, > "LOCAL x2APIC NMI", > - InterruptContollerPtr, > + InterruptControllerPtr, > *MadtInterruptControllerLength, > PARSER_PARAMS (LocalX2ApicNmi) > ); > @@ -600,7 +600,7 @@ ParseAcpiMadt ( > } > } // switch > > - InterruptContollerPtr += *MadtInterruptControllerLength; > - Offset += *MadtInterruptControllerLength; > + InterruptControllerPtr += *MadtInterruptControllerLength; > + Offset += *MadtInterruptControllerLength; > } // while > } ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-05-04 3:44 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-05-03 21:50 [PATCH 0/2] ShellPkg: UefiShellAcpiViewCommandLib: Add support for parsing Local APIC NMI structure Rebecca Cran 2023-05-03 21:50 ` [PATCH 1/2] ShellPkg: acpiview: add support for parsing the " Rebecca Cran 2023-05-03 21:50 ` [PATCH 2/2] ShellPkg: Fix typo of 'Controller' in acpiview MadtParser.c Rebecca Cran 2023-05-04 3:44 ` Rebecca Cran
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox