]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Library/PeiReportStatusCodeLib/ReportStatusCodeLib.c
1. Rollback the changing on replacing MAX_EXTENDED_DATA_SIZE by EFI_STATUS_CODE_DATA_...
[mirror_edk2.git] / MdeModulePkg / Library / PeiReportStatusCodeLib / ReportStatusCodeLib.c
index 70737ba4f69bf1ce63c1ac8139fe6bf7b5710f5e..d41d4e981df326342fe954ba3f723c48a0513b61 100644 (file)
 #include <Library/OemHookStatusCodeLib.h>\r
 #include <Library/PcdLib.h>\r
 \r
+//\r
+// Define the maximum extended data size that is supported in the PEI phase\r
+//\r
+#define MAX_EXTENDED_DATA_SIZE  0x200\r
+\r
 /**\r
   Internal worker function that reports a status code through the PEI Status Code Service or\r
   OEM Hook Status Code Library.\r
@@ -453,7 +458,7 @@ ReportStatusCodeEx (
   )\r
 {\r
   EFI_STATUS_CODE_DATA  *StatusCodeData;\r
-  UINT64                Buffer[EFI_STATUS_CODE_DATA_MAX_SIZE / sizeof (UINT64)];\r
+  UINT64                Buffer[(MAX_EXTENDED_DATA_SIZE / sizeof (UINT64)) + 1];\r
 \r
   //\r
   // If ExtendedData is NULL and ExtendedDataSize is not zero, then ASSERT().\r
@@ -464,12 +469,12 @@ ReportStatusCodeEx (
   //\r
   ASSERT (!((ExtendedData != NULL) && (ExtendedDataSize == 0)));\r
 \r
-  if (ExtendedDataSize > (EFI_STATUS_CODE_DATA_MAX_SIZE - sizeof (EFI_STATUS_CODE_DATA))) {\r
+  if (ExtendedDataSize > (MAX_EXTENDED_DATA_SIZE - sizeof (EFI_STATUS_CODE_DATA))) {\r
     //\r
     // The local variable Buffer not large enough to hold the extended data associated\r
     // with the status code being reported.\r
     //\r
-    ASSERT (FALSE);\r
+    DEBUG ((EFI_D_ERROR, "Status code extended data is too large to be reported!\n"));\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
   StatusCodeData = (EFI_STATUS_CODE_DATA  *) Buffer;\r