mirror of https://github.com/acidanthera/audk.git
Make NT32 SecMain not depend on ReportStatusCodeLib
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1818 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
6c82102e9e
commit
35b309d6a9
|
@ -132,7 +132,6 @@
|
||||||
<Instance ModuleGuid="fd44e603-002a-4b29-9f5f-529e815b6165" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
|
<Instance ModuleGuid="fd44e603-002a-4b29-9f5f-529e815b6165" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
|
||||||
<Instance ModuleGuid="556f5d10-7309-4af4-b80a-8196bd60946f" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
|
<Instance ModuleGuid="556f5d10-7309-4af4-b80a-8196bd60946f" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
|
||||||
<Instance ModuleGuid="a86fbfca-0183-4eeb-aa8a-762e3b7da1f3" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
|
<Instance ModuleGuid="a86fbfca-0183-4eeb-aa8a-762e3b7da1f3" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
|
||||||
<Instance ModuleGuid="55c61087-7367-4546-bc32-4937c5e6aff3" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
|
|
||||||
<Instance ModuleGuid="9ba1d976-0624-41a3-8650-28165e8d9ae8" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
|
<Instance ModuleGuid="9ba1d976-0624-41a3-8650-28165e8d9ae8" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
|
||||||
</Libraries>
|
</Libraries>
|
||||||
<PcdBuildDefinition>
|
<PcdBuildDefinition>
|
||||||
|
@ -192,14 +191,6 @@
|
||||||
<MaxDatumSize>4</MaxDatumSize>
|
<MaxDatumSize>4</MaxDatumSize>
|
||||||
<Value>10000000</Value>
|
<Value>10000000</Value>
|
||||||
</PcdData>
|
</PcdData>
|
||||||
<PcdData ItemType="FIXED_AT_BUILD">
|
|
||||||
<C_Name>PcdReportStatusCodePropertyMask</C_Name>
|
|
||||||
<Token>0x00000007</Token>
|
|
||||||
<TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>
|
|
||||||
<DatumType>UINT8</DatumType>
|
|
||||||
<MaxDatumSize>1</MaxDatumSize>
|
|
||||||
<Value>0x06</Value>
|
|
||||||
</PcdData>
|
|
||||||
<PcdData ItemType="FIXED_AT_BUILD">
|
<PcdData ItemType="FIXED_AT_BUILD">
|
||||||
<C_Name>PcdDebugPropertyMask</C_Name>
|
<C_Name>PcdDebugPropertyMask</C_Name>
|
||||||
<Token>0x00000005</Token>
|
<Token>0x00000005</Token>
|
||||||
|
|
|
@ -422,6 +422,69 @@ Returns:
|
||||||
|
|
||||||
#define BYTES_PER_RECORD 512
|
#define BYTES_PER_RECORD 512
|
||||||
|
|
||||||
|
/**
|
||||||
|
Extracts ASSERT() information from a status code structure.
|
||||||
|
|
||||||
|
Converts the status code specified by CodeType, Value, and Data to the ASSERT()
|
||||||
|
arguments specified by Filename, Description, and LineNumber. If CodeType is
|
||||||
|
an EFI_ERROR_CODE, and CodeType has a severity of EFI_ERROR_UNRECOVERED, and
|
||||||
|
Value has an operation mask of EFI_SW_EC_ILLEGAL_SOFTWARE_STATE, extract
|
||||||
|
Filename, Description, and LineNumber from the optional data area of the
|
||||||
|
status code buffer specified by Data. The optional data area of Data contains
|
||||||
|
a Null-terminated ASCII string for the FileName, followed by a Null-terminated
|
||||||
|
ASCII string for the Description, followed by a 32-bit LineNumber. If the
|
||||||
|
ASSERT() information could be extracted from Data, then return TRUE.
|
||||||
|
Otherwise, FALSE is returned.
|
||||||
|
|
||||||
|
If Data is NULL, then ASSERT().
|
||||||
|
If Filename is NULL, then ASSERT().
|
||||||
|
If Description is NULL, then ASSERT().
|
||||||
|
If LineNumber is NULL, then ASSERT().
|
||||||
|
|
||||||
|
@param CodeType The type of status code being converted.
|
||||||
|
@param Value The status code value being converted.
|
||||||
|
@param Data Pointer to status code data buffer.
|
||||||
|
@param Filename Pointer to the source file name that generated the ASSERT().
|
||||||
|
@param Description Pointer to the description of the ASSERT().
|
||||||
|
@param LineNumber Pointer to source line number that generated the ASSERT().
|
||||||
|
|
||||||
|
@retval TRUE The status code specified by CodeType, Value, and Data was
|
||||||
|
converted ASSERT() arguments specified by Filename, Description,
|
||||||
|
and LineNumber.
|
||||||
|
@retval FALSE The status code specified by CodeType, Value, and Data could
|
||||||
|
not be converted to ASSERT() arguments.
|
||||||
|
|
||||||
|
**/
|
||||||
|
STATIC
|
||||||
|
BOOLEAN
|
||||||
|
ReportStatusCodeExtractAssertInfo (
|
||||||
|
IN EFI_STATUS_CODE_TYPE CodeType,
|
||||||
|
IN EFI_STATUS_CODE_VALUE Value,
|
||||||
|
IN CONST EFI_STATUS_CODE_DATA *Data,
|
||||||
|
OUT CHAR8 **Filename,
|
||||||
|
OUT CHAR8 **Description,
|
||||||
|
OUT UINT32 *LineNumber
|
||||||
|
)
|
||||||
|
{
|
||||||
|
EFI_DEBUG_ASSERT_DATA *AssertData;
|
||||||
|
|
||||||
|
ASSERT (Data != NULL);
|
||||||
|
ASSERT (Filename != NULL);
|
||||||
|
ASSERT (Description != NULL);
|
||||||
|
ASSERT (LineNumber != NULL);
|
||||||
|
|
||||||
|
if (((CodeType & EFI_STATUS_CODE_TYPE_MASK) == EFI_ERROR_CODE) &&
|
||||||
|
((CodeType & EFI_STATUS_CODE_SEVERITY_MASK) == EFI_ERROR_UNRECOVERED) &&
|
||||||
|
((Value & EFI_STATUS_CODE_OPERATION_MASK) == EFI_SW_EC_ILLEGAL_SOFTWARE_STATE)) {
|
||||||
|
AssertData = (EFI_DEBUG_ASSERT_DATA *)(Data + 1);
|
||||||
|
*Filename = (CHAR8 *)(AssertData + 1);
|
||||||
|
*Description = *Filename + AsciiStrLen (*Filename) + 1;
|
||||||
|
*LineNumber = AssertData->LineNumber;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
EFIAPI
|
EFIAPI
|
||||||
SecPeiReportStatusCode (
|
SecPeiReportStatusCode (
|
||||||
|
|
|
@ -34,9 +34,6 @@
|
||||||
<LibraryClass Usage="ALWAYS_CONSUMED">
|
<LibraryClass Usage="ALWAYS_CONSUMED">
|
||||||
<Keyword>PrintLib</Keyword>
|
<Keyword>PrintLib</Keyword>
|
||||||
</LibraryClass>
|
</LibraryClass>
|
||||||
<LibraryClass Usage="ALWAYS_CONSUMED">
|
|
||||||
<Keyword>ReportStatusCodeLib</Keyword>
|
|
||||||
</LibraryClass>
|
|
||||||
<LibraryClass Usage="ALWAYS_CONSUMED">
|
<LibraryClass Usage="ALWAYS_CONSUMED">
|
||||||
<Keyword>PcdLib</Keyword>
|
<Keyword>PcdLib</Keyword>
|
||||||
</LibraryClass>
|
</LibraryClass>
|
||||||
|
|
|
@ -56,14 +56,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||||
<property name="PACKAGE_GUID" value="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
|
<property name="PACKAGE_GUID" value="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
|
||||||
<property name="PACKAGE_VERSION" value=""/>
|
<property name="PACKAGE_VERSION" value=""/>
|
||||||
</GenBuild>
|
</GenBuild>
|
||||||
<GenBuild type="build">
|
|
||||||
<property name="ARCH" value="${ARCH}"/>
|
|
||||||
<property name="MODULE_GUID" value="55c61087-7367-4546-bc32-4937c5e6aff3"/>
|
|
||||||
<property name="MODULE_VERSION" value=""/>
|
|
||||||
<property name="PLATFORM" value="${PLATFORM}"/>
|
|
||||||
<property name="PACKAGE_GUID" value="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
|
|
||||||
<property name="PACKAGE_VERSION" value=""/>
|
|
||||||
</GenBuild>
|
|
||||||
<GenBuild type="build">
|
<GenBuild type="build">
|
||||||
<property name="ARCH" value="${ARCH}"/>
|
<property name="ARCH" value="${ARCH}"/>
|
||||||
<property name="MODULE_GUID" value="9ba1d976-0624-41a3-8650-28165e8d9ae8"/>
|
<property name="MODULE_GUID" value="9ba1d976-0624-41a3-8650-28165e8d9ae8"/>
|
||||||
|
|
Loading…
Reference in New Issue