<Instance ModuleGuid="fd44e603-002a-4b29-9f5f-529e815b6165" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
<Instance ModuleGuid="556f5d10-7309-4af4-b80a-8196bd60946f" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
<Instance ModuleGuid="a86fbfca-0183-4eeb-aa8a-762e3b7da1f3" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
- <Instance ModuleGuid="55c61087-7367-4546-bc32-4937c5e6aff3" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
<Instance ModuleGuid="9ba1d976-0624-41a3-8650-28165e8d9ae8" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
</Libraries>\r
<PcdBuildDefinition>\r
<MaxDatumSize>4</MaxDatumSize>\r
<Value>10000000</Value>\r
</PcdData>\r
- <PcdData ItemType="FIXED_AT_BUILD">\r
- <C_Name>PcdReportStatusCodePropertyMask</C_Name>\r
- <Token>0x00000007</Token>\r
- <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
- <DatumType>UINT8</DatumType>\r
- <MaxDatumSize>1</MaxDatumSize>\r
- <Value>0x06</Value>\r
- </PcdData>\r
<PcdData ItemType="FIXED_AT_BUILD">\r
<C_Name>PcdDebugPropertyMask</C_Name>\r
<Token>0x00000005</Token>\r
\r
#define BYTES_PER_RECORD 512\r
\r
+/**\r
+ Extracts ASSERT() information from a status code structure.\r
+\r
+ Converts the status code specified by CodeType, Value, and Data to the ASSERT()\r
+ arguments specified by Filename, Description, and LineNumber. If CodeType is \r
+ an EFI_ERROR_CODE, and CodeType has a severity of EFI_ERROR_UNRECOVERED, and \r
+ Value has an operation mask of EFI_SW_EC_ILLEGAL_SOFTWARE_STATE, extract \r
+ Filename, Description, and LineNumber from the optional data area of the \r
+ status code buffer specified by Data. The optional data area of Data contains \r
+ a Null-terminated ASCII string for the FileName, followed by a Null-terminated \r
+ ASCII string for the Description, followed by a 32-bit LineNumber. If the \r
+ ASSERT() information could be extracted from Data, then return TRUE. \r
+ Otherwise, FALSE is returned. \r
+\r
+ If Data is NULL, then ASSERT().\r
+ If Filename is NULL, then ASSERT().\r
+ If Description is NULL, then ASSERT().\r
+ If LineNumber is NULL, then ASSERT().\r
+\r
+ @param CodeType The type of status code being converted.\r
+ @param Value The status code value being converted.\r
+ @param Data Pointer to status code data buffer. \r
+ @param Filename Pointer to the source file name that generated the ASSERT().\r
+ @param Description Pointer to the description of the ASSERT().\r
+ @param LineNumber Pointer to source line number that generated the ASSERT().\r
+\r
+ @retval TRUE The status code specified by CodeType, Value, and Data was \r
+ converted ASSERT() arguments specified by Filename, Description, \r
+ and LineNumber.\r
+ @retval FALSE The status code specified by CodeType, Value, and Data could \r
+ not be converted to ASSERT() arguments.\r
+\r
+**/\r
+STATIC\r
+BOOLEAN\r
+ReportStatusCodeExtractAssertInfo (\r
+ IN EFI_STATUS_CODE_TYPE CodeType,\r
+ IN EFI_STATUS_CODE_VALUE Value, \r
+ IN CONST EFI_STATUS_CODE_DATA *Data, \r
+ OUT CHAR8 **Filename,\r
+ OUT CHAR8 **Description,\r
+ OUT UINT32 *LineNumber\r
+ )\r
+{\r
+ EFI_DEBUG_ASSERT_DATA *AssertData;\r
+\r
+ ASSERT (Data != NULL);\r
+ ASSERT (Filename != NULL);\r
+ ASSERT (Description != NULL);\r
+ ASSERT (LineNumber != NULL);\r
+\r
+ if (((CodeType & EFI_STATUS_CODE_TYPE_MASK) == EFI_ERROR_CODE) && \r
+ ((CodeType & EFI_STATUS_CODE_SEVERITY_MASK) == EFI_ERROR_UNRECOVERED) &&\r
+ ((Value & EFI_STATUS_CODE_OPERATION_MASK) == EFI_SW_EC_ILLEGAL_SOFTWARE_STATE)) {\r
+ AssertData = (EFI_DEBUG_ASSERT_DATA *)(Data + 1);\r
+ *Filename = (CHAR8 *)(AssertData + 1);\r
+ *Description = *Filename + AsciiStrLen (*Filename) + 1;\r
+ *LineNumber = AssertData->LineNumber;\r
+ return TRUE;\r
+ }\r
+ return FALSE;\r
+}\r
+\r
EFI_STATUS\r
EFIAPI\r
SecPeiReportStatusCode (\r
<property name="PACKAGE_GUID" value="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
<property name="PACKAGE_VERSION" value=""/>\r
</GenBuild>\r
- <GenBuild type="build">\r
- <property name="ARCH" value="${ARCH}"/>\r
- <property name="MODULE_GUID" value="55c61087-7367-4546-bc32-4937c5e6aff3"/>\r
- <property name="MODULE_VERSION" value=""/>\r
- <property name="PLATFORM" value="${PLATFORM}"/>\r
- <property name="PACKAGE_GUID" value="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
- <property name="PACKAGE_VERSION" value=""/>\r
- </GenBuild>\r
<GenBuild type="build">\r
<property name="ARCH" value="${ARCH}"/>\r
<property name="MODULE_GUID" value="9ba1d976-0624-41a3-8650-28165e8d9ae8"/>\r