mirror of https://github.com/acidanthera/audk.git
BaseMemoryLib (BaseMemoryLibRepStr):
Fix a logic error in SetMem64 (); The correct stride should be 8 instead of 4. BasePrintLib: Fix Printf(“%\n”) passer error. Fix BufferSize = 0, 1 issue Fix some missing ASSERT ()s Move MAXIMUM_VALUE_CHARACTERS from PrintLibInternal.h to PrintLib.h ReportStatusCodeLib: Add CONST modifier to some interfaces Modify DebugLib: Replace some Unicode in comments. PeiServicesTablePointerLib Add ASSERT()s PciLib: Remove unnecessary ASSERT()s in PciRead/WriteBuffer() git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@496 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
ad82307c75
commit
8960cdebac
|
@ -72,7 +72,7 @@ DebugPrint (
|
|||
Prints an assert message containing a filename, line number, and description.
|
||||
This may be followed by a breakpoint or a dead loop.
|
||||
|
||||
Print a message of the form “ASSERT <FileName>(<LineNumber>): <Description>\n?
|
||||
Print a message of the form "ASSERT <FileName>(<LineNumber>): <Description>\n"
|
||||
to the debug output device. If DEBUG_PROPERTY_ASSERT_BREAKPOINT_ENABLED bit of
|
||||
PcdDebugProperyMask is set then CpuBreakpoint() is called. Otherwise, if
|
||||
DEBUG_PROPERTY_ASSERT_DEADLOOP_ENABLED bit of PcdDebugProperyMask is set then
|
||||
|
@ -411,7 +411,7 @@ DebugClearMemoryEnabled (
|
|||
by TYPE is compared to TestSignature. If the signatures match, then a pointer
|
||||
to the pointer to a data structure of the type specified by TYPE is returned.
|
||||
If the signatures do not match, then DebugAssert() is called with a description
|
||||
of “CR has a bad signature?and Record is returned.
|
||||
of "CR has a bad signature" and Record is returned.
|
||||
|
||||
If the data type specified by TYPE does not contain the field specified by Field,
|
||||
then the module will not compile.
|
||||
|
|
|
@ -17,9 +17,26 @@
|
|||
#ifndef __PRINT_LIB_H__
|
||||
#define __PRINT_LIB_H__
|
||||
|
||||
//
|
||||
// Print primitives
|
||||
//
|
||||
///
|
||||
/// Define the maximum number of characters that are required to
|
||||
/// encode a decimal, hexidecimal, GUID, or TIME value with a NULL
|
||||
/// terminator.
|
||||
///
|
||||
/// Maximum Length Decimal String = 28
|
||||
/// "-9,223,372,036,854,775,808"
|
||||
/// Maximum Length Hexidecimal String = 17
|
||||
/// "FFFFFFFFFFFFFFFF"
|
||||
/// Maximum Length GUID = 37
|
||||
/// "00000000-0000-0000-0000-000000000000"
|
||||
/// Maximum Length TIME = 18
|
||||
/// "12/12/2006 12:12"
|
||||
///
|
||||
#define MAXIMUM_VALUE_CHARACTERS 38
|
||||
|
||||
///
|
||||
/// Flags bitmask values use in UnicodeValueToString() and
|
||||
/// AcsiiValueToString()
|
||||
///
|
||||
#define LEFT_JUSTIFY 0x01
|
||||
#define COMMA_TYPE 0x08
|
||||
#define PREFIX_ZERO 0x20
|
||||
|
|
|
@ -243,7 +243,7 @@ EFIAPI
|
|||
ReportStatusCodeExtractAssertInfo (
|
||||
IN EFI_STATUS_CODE_TYPE CodeType,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN EFI_STATUS_CODE_DATA *Data,
|
||||
IN CONST EFI_STATUS_CODE_DATA *Data,
|
||||
OUT CHAR8 **Filename,
|
||||
OUT CHAR8 **Description,
|
||||
OUT UINT32 *LineNumber
|
||||
|
@ -282,7 +282,7 @@ ReportStatusCodeExtractAssertInfo (
|
|||
BOOLEAN
|
||||
EFIAPI
|
||||
ReportStatusCodeExtractDebugInfo (
|
||||
IN EFI_STATUS_CODE_DATA *Data,
|
||||
IN CONST EFI_STATUS_CODE_DATA *Data,
|
||||
OUT UINT32 *ErrorLevel,
|
||||
OUT VA_LIST *Marker,
|
||||
OUT CHAR8 **Format
|
||||
|
@ -351,7 +351,7 @@ EFIAPI
|
|||
ReportStatusCodeWithDevicePath (
|
||||
IN EFI_STATUS_CODE_TYPE Type,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *DevicePath
|
||||
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath
|
||||
);
|
||||
|
||||
|
||||
|
@ -393,7 +393,7 @@ EFIAPI
|
|||
ReportStatusCodeWithExtendedData (
|
||||
IN EFI_STATUS_CODE_TYPE Type,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN VOID *ExtendedData,
|
||||
IN CONST VOID *ExtendedData,
|
||||
IN UINTN ExtendedDataSize
|
||||
);
|
||||
|
||||
|
@ -445,9 +445,9 @@ ReportStatusCodeEx (
|
|||
IN EFI_STATUS_CODE_TYPE Type,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN UINT32 Instance,
|
||||
IN EFI_GUID *CallerId OPTIONAL,
|
||||
IN EFI_GUID *ExtendedDataGuid OPTIONAL,
|
||||
IN VOID *ExtendedData OPTIONAL,
|
||||
IN CONST EFI_GUID *CallerId OPTIONAL,
|
||||
IN CONST EFI_GUID *ExtendedDataGuid OPTIONAL,
|
||||
IN CONST VOID *ExtendedData OPTIONAL,
|
||||
IN UINTN ExtendedDataSize
|
||||
);
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ DebugPrint (
|
|||
Prints an assert message containing a filename, line number, and description.
|
||||
This may be followed by a breakpoint or a dead loop.
|
||||
|
||||
Print a message of the form “ASSERT <FileName>(<LineNumber>): <Description>\n”
|
||||
Print a message of the form "ASSERT <FileName>(<LineNumber>): <Description>\n"
|
||||
to the debug output device. If DEBUG_PROPERTY_ASSERT_BREAKPOINT_ENABLED bit of
|
||||
PcdDebugProperyMask is set then CpuBreakpoint() is called. Otherwise, if
|
||||
DEBUG_PROPERTY_ASSERT_DEADLOOP_ENABLED bit of PcdDebugProperyMask is set then
|
||||
|
@ -70,9 +70,9 @@ DebugPrint (
|
|||
DebugAssert() must actively prevent recusrsion. If DebugAssert() is called while
|
||||
processing another DebugAssert(), then DebugAssert() must return immediately.
|
||||
|
||||
If FileName is NULL, then a <FileName> string of “(NULL) Filename” is printed.
|
||||
If FileName is NULL, then a <FileName> string of "(NULL) Filename" is printed.
|
||||
|
||||
If Description is NULL, then a <Description> string of “(NULL) Description” is printed.
|
||||
If Description is NULL, then a <Description> string of "(NULL) Description" is printed.
|
||||
|
||||
@param FileName Pointer to the name of the source file that generated the assert condition.
|
||||
@param LineNumber The line number in the source file that generated the assert condition
|
||||
|
|
|
@ -92,7 +92,7 @@ DebugPrint (
|
|||
Prints an assert message containing a filename, line number, and description.
|
||||
This may be followed by a breakpoint or a dead loop.
|
||||
|
||||
Print a message of the form “ASSERT <FileName>(<LineNumber>): <Description>\n”
|
||||
Print a message of the form "ASSERT <FileName>(<LineNumber>): <Description>\n"
|
||||
to the debug output device. If DEBUG_PROPERTY_ASSERT_BREAKPOINT_ENABLED bit of
|
||||
PcdDebugProperyMask is set then CpuBreakpoint() is called. Otherwise, if
|
||||
DEBUG_PROPERTY_ASSERT_DEADLOOP_ENABLED bit of PcdDebugProperyMask is set then
|
||||
|
@ -101,9 +101,9 @@ DebugPrint (
|
|||
DebugAssert() must actively prevent recusrsion. If DebugAssert() is called while
|
||||
processing another DebugAssert(), then DebugAssert() must return immediately.
|
||||
|
||||
If FileName is NULL, then a <FileName> string of “(NULL) Filename” is printed.
|
||||
If FileName is NULL, then a <FileName> string of "(NULL) Filename" is printed.
|
||||
|
||||
If Description is NULL, then a <Description> string of “(NULL) Description” is printed.
|
||||
If Description is NULL, then a <Description> string of "(NULL) Description" is printed.
|
||||
|
||||
@param FileName Pointer to the name of the source file that generated the assert condition.
|
||||
@param LineNumber The line number in the source file that generated the assert condition
|
||||
|
|
|
@ -31,8 +31,8 @@ InternalMemSetMem64 PROC USES edi
|
|||
mov edx, [esp + 20]
|
||||
mov edi, [esp + 8]
|
||||
@@:
|
||||
mov [edi + ecx*4 - 8], eax
|
||||
mov [edi + ecx*4 - 4], edx
|
||||
mov [edi + ecx*8 - 8], eax
|
||||
mov [edi + ecx*8 - 4], edx
|
||||
loop @B
|
||||
mov eax, edi
|
||||
ret
|
||||
|
|
|
@ -32,8 +32,8 @@ InternalMemSetMem64:
|
|||
movl 20(%esp),%edx
|
||||
movl 8(%esp),%edi
|
||||
L0:
|
||||
mov %eax,-8(%edi,%ecx,4)
|
||||
mov %edx,-4(%edi,%ecx,4)
|
||||
mov %eax,-8(%edi,%ecx,8)
|
||||
mov %edx,-4(%edi,%ecx,8)
|
||||
loop L0
|
||||
movl %edi,%eax
|
||||
pop %edi
|
||||
|
|
|
@ -1299,8 +1299,6 @@ PciCf8ReadBuffer (
|
|||
UINTN EndAddress;
|
||||
|
||||
ASSERT_INVALID_PCI_ADDRESS (StartAddress, 0);
|
||||
ASSERT (((StartAddress & 0xFFF) + Size) <= 0x1000);
|
||||
ASSERT ((StartAddress + Size - 1) <= 0x0FFFFFFF);
|
||||
ASSERT (Buffer != NULL);
|
||||
|
||||
EndAddress = StartAddress + Size;
|
||||
|
@ -1388,8 +1386,6 @@ PciCf8WriteBuffer (
|
|||
UINTN EndAddress;
|
||||
|
||||
ASSERT_INVALID_PCI_ADDRESS (StartAddress, 0);
|
||||
ASSERT (((StartAddress & 0xFFF) + Size) <= 0x1000);
|
||||
ASSERT ((StartAddress + Size - 1) <= 0x0FFFFFFF);
|
||||
ASSERT (Buffer != NULL);
|
||||
|
||||
EndAddress = StartAddress + Size;
|
||||
|
|
|
@ -1196,8 +1196,6 @@ PciExpressReadBuffer (
|
|||
UINTN EndAddress;
|
||||
|
||||
ASSERT_INVALID_PCI_ADDRESS (StartAddress);
|
||||
ASSERT (((StartAddress & 0xFFF) + Size) <= 0x1000);
|
||||
ASSERT ((StartAddress + Size - 1) <= 0x0FFFFFFF);
|
||||
ASSERT (Buffer != NULL);
|
||||
|
||||
EndAddress = StartAddress + Size;
|
||||
|
@ -1284,8 +1282,6 @@ PciExpressWriteBuffer (
|
|||
UINTN EndAddress;
|
||||
|
||||
ASSERT_INVALID_PCI_ADDRESS (StartAddress);
|
||||
ASSERT (((StartAddress & 0xFFF) + Size) <= 0x1000);
|
||||
ASSERT ((StartAddress + Size - 1) <= 0x0FFFFFFF);
|
||||
ASSERT (Buffer != NULL);
|
||||
|
||||
EndAddress = StartAddress + Size;
|
||||
|
|
|
@ -66,7 +66,6 @@ static CONST STATUS_LOOKUP_TABLE_ENTRY StatusString[] = {
|
|||
@param Buffer Character buffer to print the results of the parsing
|
||||
of Format into.
|
||||
@param BufferSize Maximum number of characters to put into buffer.
|
||||
Zero means no limit.
|
||||
@param Flags Intial flags value.
|
||||
Can only have FORMAT_UNICODE and OUTPUT_UNICODE set
|
||||
@param Format Null-terminated format string.
|
||||
|
@ -110,6 +109,9 @@ BasePrintLibVSPrint (
|
|||
UINTN Radix;
|
||||
RETURN_STATUS Status;
|
||||
|
||||
if (BufferSize == 0) {
|
||||
return 0;
|
||||
}
|
||||
ASSERT (Buffer != NULL);
|
||||
ASSERT (Format != NULL);
|
||||
|
||||
|
@ -130,7 +132,6 @@ BasePrintLibVSPrint (
|
|||
|
||||
//
|
||||
// Reserve space for the Null terminator.
|
||||
// If BufferSize is 0, this will set BufferSize to the max unsigned value
|
||||
//
|
||||
BufferSize--;
|
||||
|
||||
|
@ -338,7 +339,7 @@ BasePrintLibVSPrint (
|
|||
} else {
|
||||
BasePrintLibSPrint (
|
||||
ValueBuffer,
|
||||
0,
|
||||
MAXIMUM_VALUE_CHARACTERS,
|
||||
0,
|
||||
"%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
|
||||
TmpGuid->Data1,
|
||||
|
@ -364,7 +365,7 @@ BasePrintLibVSPrint (
|
|||
} else {
|
||||
BasePrintLibSPrint (
|
||||
ValueBuffer,
|
||||
0,
|
||||
MAXIMUM_VALUE_CHARACTERS,
|
||||
0,
|
||||
"%02d/%02d/%04d %02d:%02d",
|
||||
TmpTime->Month,
|
||||
|
@ -386,10 +387,14 @@ BasePrintLibVSPrint (
|
|||
}
|
||||
}
|
||||
if (ArgumentString == ValueBuffer) {
|
||||
BasePrintLibSPrint ((CHAR8 *) ValueBuffer, 0, 0, "%08X", Status);
|
||||
BasePrintLibSPrint ((CHAR8 *) ValueBuffer, MAXIMUM_VALUE_CHARACTERS, 0, "%08X", Status);
|
||||
}
|
||||
break;
|
||||
|
||||
case '\n':
|
||||
ArgumentString = "\r\n";
|
||||
break;
|
||||
|
||||
case '%':
|
||||
default:
|
||||
//
|
||||
|
@ -400,9 +405,6 @@ BasePrintLibVSPrint (
|
|||
break;
|
||||
}
|
||||
break;
|
||||
case '\n':
|
||||
ArgumentString = "\r\n";
|
||||
break;
|
||||
default:
|
||||
ArgumentString = (CHAR8 *)&FormatCharacter;
|
||||
Flags |= ARGUMENT_UNICODE;
|
||||
|
@ -717,7 +719,7 @@ UnicodeSPrintAsciiFormat (
|
|||
VA_LIST Marker;
|
||||
|
||||
VA_START (Marker, FormatString);
|
||||
return UnicodeVSPrintAsciiFormat (StartOfBuffer, BufferSize >> 1, FormatString, Marker);
|
||||
return UnicodeVSPrintAsciiFormat (StartOfBuffer, BufferSize, FormatString, Marker);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -138,13 +138,20 @@ BasePrintLibConvertValueToString (
|
|||
UINTN Digits;
|
||||
UINTN Index;
|
||||
|
||||
ASSERT (Buffer != NULL);
|
||||
ASSERT (Width < MAXIMUM_VALUE_CHARACTERS);
|
||||
//
|
||||
// Make sure Flags can only contain supported bits.
|
||||
//
|
||||
ASSERT ((Flags & ~(LEFT_JUSTIFY | COMMA_TYPE | PREFIX_ZERO)) == 0);
|
||||
|
||||
OriginalBuffer = Buffer;
|
||||
|
||||
if (Width == 0 || (Flags & COMMA_TYPE) != 0) {
|
||||
Flags &= (~PREFIX_ZERO);
|
||||
}
|
||||
|
||||
if (Width == 0 || Width > (MAXIMUM_VALUE_CHARACTERS - 1)) {
|
||||
if (Width == 0) {
|
||||
Width = MAXIMUM_VALUE_CHARACTERS - 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -31,16 +31,6 @@
|
|||
#define PRECISION 0x800
|
||||
#define ARGUMENT_REVERSED 0x1000
|
||||
|
||||
///
|
||||
/// Define the maximum number of characters that are required to encode
|
||||
/// a decimal, hexidecimal, GUID, or TIME value with a Nll terminator.
|
||||
/// Maximum Length Decimal String = 28 "-9,223,372,036,854,775,808"
|
||||
/// Maximum Length Hexidecimal String = 17 "FFFFFFFFFFFFFFFF"
|
||||
/// Maximum Length GUID = 37 "00000000-0000-0000-0000-000000000000"
|
||||
/// Maximum Length TIME = 18 "12/12/2006 12:12"
|
||||
///
|
||||
#define MAXIMUM_VALUE_CHARACTERS 38
|
||||
|
||||
//
|
||||
// Record date and time information
|
||||
//
|
||||
|
|
|
@ -97,7 +97,7 @@ EFIAPI
|
|||
ReportStatusCodeExtractAssertInfo (
|
||||
IN EFI_STATUS_CODE_TYPE CodeType,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN EFI_STATUS_CODE_DATA *Data,
|
||||
IN CONST EFI_STATUS_CODE_DATA *Data,
|
||||
OUT CHAR8 **Filename,
|
||||
OUT CHAR8 **Description,
|
||||
OUT UINT32 *LineNumber
|
||||
|
@ -155,7 +155,7 @@ ReportStatusCodeExtractAssertInfo (
|
|||
BOOLEAN
|
||||
EFIAPI
|
||||
ReportStatusCodeExtractDebugInfo (
|
||||
IN EFI_STATUS_CODE_DATA *Data,
|
||||
IN CONST EFI_STATUS_CODE_DATA *Data,
|
||||
OUT UINT32 *ErrorLevel,
|
||||
OUT VA_LIST *Marker,
|
||||
OUT CHAR8 **Format
|
||||
|
@ -258,7 +258,7 @@ EFIAPI
|
|||
ReportStatusCodeWithDevicePath (
|
||||
IN EFI_STATUS_CODE_TYPE Type,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *DevicePath
|
||||
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath
|
||||
)
|
||||
{
|
||||
ASSERT (DevicePath != NULL);
|
||||
|
@ -304,7 +304,7 @@ EFIAPI
|
|||
ReportStatusCodeWithExtendedData (
|
||||
IN EFI_STATUS_CODE_TYPE Type,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN VOID *ExtendedData,
|
||||
IN CONST VOID *ExtendedData,
|
||||
IN UINTN ExtendedDataSize
|
||||
)
|
||||
{
|
||||
|
@ -361,9 +361,9 @@ ReportStatusCodeEx (
|
|||
IN EFI_STATUS_CODE_TYPE Type,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN UINT32 Instance,
|
||||
IN EFI_GUID *CallerId OPTIONAL,
|
||||
IN EFI_GUID *ExtendedDataGuid OPTIONAL,
|
||||
IN VOID *ExtendedData OPTIONAL,
|
||||
IN CONST EFI_GUID *CallerId OPTIONAL,
|
||||
IN CONST EFI_GUID *ExtendedDataGuid OPTIONAL,
|
||||
IN CONST VOID *ExtendedData OPTIONAL,
|
||||
IN UINTN ExtendedDataSize
|
||||
)
|
||||
{
|
||||
|
|
|
@ -45,7 +45,7 @@ InternalReportStatusCode (
|
|||
IN EFI_STATUS_CODE_TYPE Type,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN UINT32 Instance,
|
||||
IN EFI_GUID *CallerId OPTIONAL,
|
||||
IN CONST EFI_GUID *CallerId OPTIONAL,
|
||||
IN EFI_STATUS_CODE_DATA *Data OPTIONAL
|
||||
)
|
||||
{
|
||||
|
@ -66,7 +66,7 @@ InternalReportStatusCode (
|
|||
// A Status Code Protocol is present in the handle database, so pass in all the
|
||||
// parameters to the ReportStatusCode() service of the Status Code Protocol
|
||||
//
|
||||
return gStatusCode->ReportStatusCode (Type, Value, Instance, CallerId, Data);
|
||||
return gStatusCode->ReportStatusCode (Type, Value, Instance, (EFI_GUID *)CallerId, Data);
|
||||
}
|
||||
|
||||
|
||||
|
@ -80,14 +80,10 @@ InternalReportStatusCode (
|
|||
**/
|
||||
UINTN
|
||||
InternalReportStatusCodeDevicePathSize (
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *DevicePath
|
||||
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath
|
||||
)
|
||||
{
|
||||
EFI_DEVICE_PATH_PROTOCOL *Start;
|
||||
|
||||
if (DevicePath == NULL) {
|
||||
return 0;
|
||||
}
|
||||
CONST EFI_DEVICE_PATH_PROTOCOL *Start;
|
||||
|
||||
//
|
||||
// Search for the end of the device path structure
|
||||
|
@ -189,7 +185,7 @@ EFIAPI
|
|||
ReportStatusCodeExtractAssertInfo (
|
||||
IN EFI_STATUS_CODE_TYPE CodeType,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN EFI_STATUS_CODE_DATA *Data,
|
||||
IN CONST EFI_STATUS_CODE_DATA *Data,
|
||||
OUT CHAR8 **Filename,
|
||||
OUT CHAR8 **Description,
|
||||
OUT UINT32 *LineNumber
|
||||
|
@ -247,7 +243,7 @@ ReportStatusCodeExtractAssertInfo (
|
|||
BOOLEAN
|
||||
EFIAPI
|
||||
ReportStatusCodeExtractDebugInfo (
|
||||
IN EFI_STATUS_CODE_DATA *Data,
|
||||
IN CONST EFI_STATUS_CODE_DATA *Data,
|
||||
OUT UINT32 *ErrorLevel,
|
||||
OUT VA_LIST *Marker,
|
||||
OUT CHAR8 **Format
|
||||
|
@ -350,7 +346,7 @@ EFIAPI
|
|||
ReportStatusCodeWithDevicePath (
|
||||
IN EFI_STATUS_CODE_TYPE Type,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *DevicePath
|
||||
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath
|
||||
)
|
||||
{
|
||||
ASSERT (DevicePath != NULL);
|
||||
|
@ -401,7 +397,7 @@ EFIAPI
|
|||
ReportStatusCodeWithExtendedData (
|
||||
IN EFI_STATUS_CODE_TYPE Type,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN VOID *ExtendedData,
|
||||
IN CONST VOID *ExtendedData,
|
||||
IN UINTN ExtendedDataSize
|
||||
)
|
||||
{
|
||||
|
@ -466,9 +462,9 @@ ReportStatusCodeEx (
|
|||
IN EFI_STATUS_CODE_TYPE Type,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN UINT32 Instance,
|
||||
IN EFI_GUID *CallerId OPTIONAL,
|
||||
IN EFI_GUID *ExtendedDataGuid OPTIONAL,
|
||||
IN VOID *ExtendedData OPTIONAL,
|
||||
IN CONST EFI_GUID *CallerId OPTIONAL,
|
||||
IN CONST EFI_GUID *ExtendedDataGuid OPTIONAL,
|
||||
IN CONST VOID *ExtendedData OPTIONAL,
|
||||
IN UINTN ExtendedDataSize
|
||||
)
|
||||
{
|
||||
|
|
|
@ -45,48 +45,21 @@ InternalReportStatusCode (
|
|||
IN EFI_STATUS_CODE_TYPE Type,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN UINT32 Instance,
|
||||
IN EFI_GUID *CallerId OPTIONAL,
|
||||
IN CONST EFI_GUID *CallerId OPTIONAL,
|
||||
IN EFI_STATUS_CODE_DATA *Data OPTIONAL
|
||||
)
|
||||
{
|
||||
EFI_PEI_SERVICES **PeiServices;
|
||||
|
||||
PeiServices = GetPeiServicesTablePointer ();
|
||||
return (*PeiServices)->PeiReportStatusCode (PeiServices, Type, Value, Instance, CallerId, Data);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Computes and returns the size, in bytes, of a device path.
|
||||
|
||||
@param DevicePath A pointer to a device path.
|
||||
|
||||
@return The size, in bytes, of DevicePath.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
InternalReportStatusCodeDevicePathSize (
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *DevicePath
|
||||
)
|
||||
{
|
||||
EFI_DEVICE_PATH_PROTOCOL *Start;
|
||||
|
||||
if (DevicePath == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
//
|
||||
// Search for the end of the device path structure
|
||||
//
|
||||
Start = DevicePath;
|
||||
while (!EfiIsDevicePathEnd (DevicePath)) {
|
||||
DevicePath = EfiNextDevicePathNode (DevicePath);
|
||||
}
|
||||
|
||||
//
|
||||
// Subtract the start node from the end node and add in the size of the end node
|
||||
//
|
||||
return ((UINTN) DevicePath - (UINTN) Start) + DevicePathNodeLength (DevicePath);
|
||||
return (*PeiServices)->PeiReportStatusCode (
|
||||
PeiServices,
|
||||
Type,
|
||||
Value,
|
||||
Instance,
|
||||
(EFI_GUID *)CallerId,
|
||||
Data
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
@ -175,7 +148,7 @@ EFIAPI
|
|||
ReportStatusCodeExtractAssertInfo (
|
||||
IN EFI_STATUS_CODE_TYPE CodeType,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN EFI_STATUS_CODE_DATA *Data,
|
||||
IN CONST EFI_STATUS_CODE_DATA *Data,
|
||||
OUT CHAR8 **Filename,
|
||||
OUT CHAR8 **Description,
|
||||
OUT UINT32 *LineNumber
|
||||
|
@ -233,7 +206,7 @@ ReportStatusCodeExtractAssertInfo (
|
|||
BOOLEAN
|
||||
EFIAPI
|
||||
ReportStatusCodeExtractDebugInfo (
|
||||
IN EFI_STATUS_CODE_DATA *Data,
|
||||
IN CONST EFI_STATUS_CODE_DATA *Data,
|
||||
OUT UINT32 *ErrorLevel,
|
||||
OUT VA_LIST *Marker,
|
||||
OUT CHAR8 **Format
|
||||
|
@ -336,16 +309,11 @@ EFIAPI
|
|||
ReportStatusCodeWithDevicePath (
|
||||
IN EFI_STATUS_CODE_TYPE Type,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *DevicePath
|
||||
IN CONST EFI_DEVICE_PATH_PROTOCOL *DevicePath
|
||||
)
|
||||
{
|
||||
ASSERT (DevicePath != NULL);
|
||||
return ReportStatusCodeWithExtendedData (
|
||||
Type,
|
||||
Value,
|
||||
(VOID *)DevicePath,
|
||||
InternalReportStatusCodeDevicePathSize (DevicePath)
|
||||
);
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
|
||||
|
||||
|
@ -387,7 +355,7 @@ EFIAPI
|
|||
ReportStatusCodeWithExtendedData (
|
||||
IN EFI_STATUS_CODE_TYPE Type,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN VOID *ExtendedData,
|
||||
IN CONST VOID *ExtendedData,
|
||||
IN UINTN ExtendedDataSize
|
||||
)
|
||||
{
|
||||
|
@ -452,9 +420,9 @@ ReportStatusCodeEx (
|
|||
IN EFI_STATUS_CODE_TYPE Type,
|
||||
IN EFI_STATUS_CODE_VALUE Value,
|
||||
IN UINT32 Instance,
|
||||
IN EFI_GUID *CallerId OPTIONAL,
|
||||
IN EFI_GUID *ExtendedDataGuid OPTIONAL,
|
||||
IN VOID *ExtendedData OPTIONAL,
|
||||
IN CONST EFI_GUID *CallerId OPTIONAL,
|
||||
IN CONST EFI_GUID *ExtendedDataGuid OPTIONAL,
|
||||
IN CONST VOID *ExtendedData OPTIONAL,
|
||||
IN UINTN ExtendedDataSize
|
||||
)
|
||||
{
|
||||
|
|
|
@ -23,6 +23,7 @@ GetPeiServicesTablePointer (
|
|||
VOID
|
||||
)
|
||||
{
|
||||
ASSERT (gPeiServices != NULL);
|
||||
return gPeiServices;
|
||||
}
|
||||
|
||||
|
|
|
@ -33,6 +33,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
</MsaLibHeader>
|
||||
<LibraryClassDefinitions>
|
||||
<LibraryClass Usage="ALWAYS_PRODUCED">PeiServicesTablePointerLib</LibraryClass>
|
||||
<LibraryClass Usage="ALWAYS_CONSUMED">DebugLib</LibraryClass>
|
||||
</LibraryClassDefinitions>
|
||||
<SourceFiles>
|
||||
<Filename>PeiServicesTablePointer.c</Filename>
|
||||
|
|
|
@ -21,7 +21,11 @@ GetPeiServicesTablePointer (
|
|||
VOID
|
||||
)
|
||||
{
|
||||
return (EFI_PEI_SERVICES **)(UINTN)AsmReadMm7 ();
|
||||
EFI_PEI_SERVICES **PeiServices;
|
||||
|
||||
PeiServices = (EFI_PEI_SERVICES **)(UINTN)AsmReadMm7 ();
|
||||
ASSERT (PeiServices != NULL);
|
||||
return PeiServices;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -34,6 +34,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
<LibraryClassDefinitions>
|
||||
<LibraryClass Usage="ALWAYS_PRODUCED">PeiServicesTablePointerLib</LibraryClass>
|
||||
<LibraryClass Usage="ALWAYS_CONSUMED">BaseLib</LibraryClass>
|
||||
<LibraryClass Usage="ALWAYS_CONSUMED">DebugLib</LibraryClass>
|
||||
</LibraryClassDefinitions>
|
||||
<SourceFiles>
|
||||
<Filename>PeiServicesTablePointer.c</Filename>
|
||||
|
|
|
@ -76,7 +76,7 @@ DebugPrint (
|
|||
Prints an assert message containing a filename, line number, and description.
|
||||
This may be followed by a breakpoint or a dead loop.
|
||||
|
||||
Print a message of the form “ASSERT <FileName>(<LineNumber>): <Description>\n”
|
||||
Print a message of the form "ASSERT <FileName>(<LineNumber>): <Description>\n"
|
||||
to the debug output device. If DEBUG_PROPERTY_ASSERT_BREAKPOINT_ENABLED bit of
|
||||
PcdDebugProperyMask is set then CpuBreakpoint() is called. Otherwise, if
|
||||
DEBUG_PROPERTY_ASSERT_DEADLOOP_ENABLED bit of PcdDebugProperyMask is set then
|
||||
|
@ -85,9 +85,9 @@ DebugPrint (
|
|||
DebugAssert() must actively prevent recusrsion. If DebugAssert() is called while
|
||||
processing another DebugAssert(), then DebugAssert() must return immediately.
|
||||
|
||||
If FileName is NULL, then a <FileName> string of “(NULL) Filename” is printed.
|
||||
If FileName is NULL, then a <FileName> string of "(NULL) Filename" is printed.
|
||||
|
||||
If Description is NULL, then a <Description> string of “(NULL) Description” is printed.
|
||||
If Description is NULL, then a <Description> string of "(NULL) Description" is printed.
|
||||
|
||||
@param FileName Pointer to the name of the source file that generated the assert condition.
|
||||
@param LineNumber The line number in the source file that generated the assert condition
|
||||
|
|
|
@ -76,7 +76,7 @@ DebugPrint (
|
|||
Prints an assert message containing a filename, line number, and description.
|
||||
This may be followed by a breakpoint or a dead loop.
|
||||
|
||||
Print a message of the form “ASSERT <FileName>(<LineNumber>): <Description>\n”
|
||||
Print a message of the form "ASSERT <FileName>(<LineNumber>): <Description>\n"
|
||||
to the debug output device. If DEBUG_PROPERTY_ASSERT_BREAKPOINT_ENABLED bit of
|
||||
PcdDebugProperyMask is set then CpuBreakpoint() is called. Otherwise, if
|
||||
DEBUG_PROPERTY_ASSERT_DEADLOOP_ENABLED bit of PcdDebugProperyMask is set then
|
||||
|
@ -85,9 +85,9 @@ DebugPrint (
|
|||
DebugAssert() must actively prevent recusrsion. If DebugAssert() is called while
|
||||
processing another DebugAssert(), then DebugAssert() must return immediately.
|
||||
|
||||
If FileName is NULL, then a <FileName> string of “(NULL) Filename” is printed.
|
||||
If FileName is NULL, then a <FileName> string of "(NULL) Filename" is printed.
|
||||
|
||||
If Description is NULL, then a <Description> string of “(NULL) Description” is printed.
|
||||
If Description is NULL, then a <Description> string of "(NULL) Description" is printed.
|
||||
|
||||
@param FileName Pointer to the name of the source file that generated the assert condition.
|
||||
@param LineNumber The line number in the source file that generated the assert condition
|
||||
|
|
Loading…
Reference in New Issue