summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Ras2/Ras2Parser.c17
1 files changed, 16 insertions, 1 deletions
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
+ );
+ }
}