diff --git a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Ras2/Ras2Parser.c b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Ras2/Ras2Parser.c index 38bd15d95f..06ac5cdabc 100644 --- a/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Ras2/Ras2Parser.c +++ b/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Ras2/Ras2Parser.c @@ -83,7 +83,9 @@ ParseAcpiRas2 ( IN UINT8 AcpiTableRevision ) { - UINT32 Offset; + UINT32 Offset; + UINT16 Count = 0; + CONST CHAR16 *Message; if (!Trace) { return; @@ -111,5 +113,18 @@ ParseAcpiRas2 ( sizeof (EFI_ACPI_RAS2_PCC_DESCRIPTOR) ); Offset += sizeof (EFI_ACPI_RAS2_PCC_DESCRIPTOR); + Count++; } // while + + // Check counts match and print error if not + if (Count != *Ras2PccDescriptors) { + Message = Count > *Ras2PccDescriptors ? L"many" : L"few"; + IncrementWarningCount (); + Print ( + L"\nWARNING: Too %s descriptors provided (advertised %d, provided %d)", + Message, + *Ras2PccDescriptors, + Count + ); + } }