mirror of https://github.com/acidanthera/audk.git
1. PostCodeLib.
Rename BasePostCodeLib80 to BasePostCodeLibPort80. Fix typos in macro POST_CODE() and POST_CODE_WITH_DESCRIPTION() 2. DebugLib Change the parameter type of LineNumber of DebugAssert() from “INTN” to “UINTN” to follow MWG. Add type cast “(EFI_GUID *)” in macro ASSERT_PROTCOL_ALREADY_INSTALLED () to follow MWG. 3. BasePeCoffLib/ Add library function header for all the interfaces in MWG. Add missing ASSERT()s. 4. PciLib Add ASSERT()s in PciRead/WriteBuffer() to check cross PCI function access. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@557 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
f014786935
commit
cd14fe3dcf
|
@ -66,7 +66,7 @@ VOID
|
|||
EFIAPI
|
||||
DebugAssert (
|
||||
IN CHAR8 *FileName,
|
||||
IN INTN LineNumber,
|
||||
IN UINTN LineNumber,
|
||||
IN CHAR8 *Description
|
||||
)
|
||||
/*++
|
||||
|
|
|
@ -139,7 +139,7 @@ VOID
|
|||
EFIAPI
|
||||
DebugAssert (
|
||||
IN CHAR8 *FileName,
|
||||
IN INTN LineNumber,
|
||||
IN UINTN LineNumber,
|
||||
IN CHAR8 *Description
|
||||
)
|
||||
/*++
|
||||
|
|
|
@ -139,7 +139,7 @@ VOID
|
|||
EFIAPI
|
||||
DebugAssert (
|
||||
IN CHAR8 *FileName,
|
||||
IN INTN LineNumber,
|
||||
IN UINTN LineNumber,
|
||||
IN CHAR8 *Description
|
||||
)
|
||||
/*++
|
||||
|
|
|
@ -94,7 +94,7 @@ VOID
|
|||
EFIAPI
|
||||
DebugAssert (
|
||||
IN CONST CHAR8 *FileName,
|
||||
IN INTN LineNumber,
|
||||
IN UINTN LineNumber,
|
||||
IN CONST CHAR8 *Description
|
||||
);
|
||||
|
||||
|
@ -311,21 +311,21 @@ DebugClearMemoryEnabled (
|
|||
@param Guid Pointer to a protocol GUID.
|
||||
|
||||
**/
|
||||
#define ASSERT_PROTOCOL_ALREADY_INSTALLED(Handle, Guid) \
|
||||
do { \
|
||||
if (DebugAssertEnabled ()) { \
|
||||
VOID *Instance; \
|
||||
ASSERT (Guid != NULL); \
|
||||
if (Handle == NULL) { \
|
||||
if (!EFI_ERROR (gBS->LocateProtocol (Guid, NULL, &Instance))) { \
|
||||
_ASSERT (Guid already installed in database); \
|
||||
} \
|
||||
} else { \
|
||||
if (!EFI_ERROR (gBS->HandleProtocol (Handle, Guid, &Instance))) { \
|
||||
_ASSERT (Guid already installed on Handle); \
|
||||
} \
|
||||
} \
|
||||
} \
|
||||
#define ASSERT_PROTOCOL_ALREADY_INSTALLED(Handle, Guid) \
|
||||
do { \
|
||||
if (DebugAssertEnabled ()) { \
|
||||
VOID *Instance; \
|
||||
ASSERT (Guid != NULL); \
|
||||
if (Handle == NULL) { \
|
||||
if (!EFI_ERROR (gBS->LocateProtocol ((EFI_GUID *)Guid, NULL, &Instance))) { \
|
||||
_ASSERT (Guid already installed in database); \
|
||||
} \
|
||||
} else { \
|
||||
if (!EFI_ERROR (gBS->HandleProtocol (Handle, (EFI_GUID *)Guid, &Instance))) { \
|
||||
_ASSERT (Guid already installed on Handle); \
|
||||
} \
|
||||
} \
|
||||
} \
|
||||
} while (FALSE)
|
||||
|
||||
|
||||
|
|
|
@ -125,7 +125,7 @@ PostCodeDescriptionEnabled (
|
|||
@return Value
|
||||
|
||||
**/
|
||||
#define POST_CODE(Value) ReportPostCodeEnabled() ? PostCode(Value) : Value
|
||||
#define POST_CODE(Value) PostCodeEnabled() ? PostCode(Value) : Value
|
||||
|
||||
/**
|
||||
Sends an 32-bit value to a POST and associated ASCII string.
|
||||
|
@ -141,8 +141,8 @@ PostCodeDescriptionEnabled (
|
|||
|
||||
**/
|
||||
#define POST_CODE_WITH_DESCRIPTION(Value,Description) \
|
||||
ReportPostCodeEnabled() ? \
|
||||
(ReportPostCodeDescriptionEnabled() ? \
|
||||
PostCodeEnabled() ? \
|
||||
(PostCodeDescriptionEnabled() ? \
|
||||
PostCodeWithDescription(Value,Description) : \
|
||||
PostCode(Value)) : \
|
||||
Value
|
||||
|
|
|
@ -83,7 +83,7 @@ VOID
|
|||
EFIAPI
|
||||
DebugAssert (
|
||||
IN CONST CHAR8 *FileName,
|
||||
IN INTN LineNumber,
|
||||
IN UINTN LineNumber,
|
||||
IN CONST CHAR8 *Description
|
||||
)
|
||||
{
|
||||
|
|
|
@ -114,7 +114,7 @@ VOID
|
|||
EFIAPI
|
||||
DebugAssert (
|
||||
IN CONST CHAR8 *FileName,
|
||||
IN INTN LineNumber,
|
||||
IN UINTN LineNumber,
|
||||
IN CONST CHAR8 *Description
|
||||
)
|
||||
{
|
||||
|
|
|
@ -1299,6 +1299,7 @@ PciCf8ReadBuffer (
|
|||
UINTN EndAddress;
|
||||
|
||||
ASSERT_INVALID_PCI_ADDRESS (StartAddress, 0);
|
||||
ASSERT (((StartAddress & 0xFFF) + Size) <= 0x100);
|
||||
ASSERT (Buffer != NULL);
|
||||
|
||||
EndAddress = StartAddress + Size;
|
||||
|
@ -1386,6 +1387,7 @@ PciCf8WriteBuffer (
|
|||
UINTN EndAddress;
|
||||
|
||||
ASSERT_INVALID_PCI_ADDRESS (StartAddress, 0);
|
||||
ASSERT (((StartAddress & 0xFFF) + Size) <= 0x100);
|
||||
ASSERT (Buffer != NULL);
|
||||
|
||||
EndAddress = StartAddress + Size;
|
||||
|
|
|
@ -1196,6 +1196,7 @@ PciExpressReadBuffer (
|
|||
UINTN EndAddress;
|
||||
|
||||
ASSERT_INVALID_PCI_ADDRESS (StartAddress);
|
||||
ASSERT (((StartAddress & 0xFFF) + Size) <= 0x1000);
|
||||
ASSERT (Buffer != NULL);
|
||||
|
||||
EndAddress = StartAddress + Size;
|
||||
|
@ -1282,6 +1283,7 @@ PciExpressWriteBuffer (
|
|||
UINTN EndAddress;
|
||||
|
||||
ASSERT_INVALID_PCI_ADDRESS (StartAddress);
|
||||
ASSERT (((StartAddress & 0xFFF) + Size) <= 0x1000);
|
||||
ASSERT (Buffer != NULL);
|
||||
|
||||
EndAddress = StartAddress + Size;
|
||||
|
|
|
@ -33,6 +33,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
</MsaLibHeader>
|
||||
<LibraryClassDefinitions>
|
||||
<LibraryClass Usage="ALWAYS_PRODUCED">PeCoffGetEntryPointLib</LibraryClass>
|
||||
<LibraryClass Usage="ALWAYS_CONSUMED">DebugLib</LibraryClass>
|
||||
</LibraryClassDefinitions>
|
||||
<SourceFiles>
|
||||
<Filename>PeCoffGetEntryPoint.c</Filename>
|
||||
|
|
|
@ -17,38 +17,49 @@
|
|||
|
||||
|
||||
/**
|
||||
Loads a PE/COFF image into memory.
|
||||
Retrieves and returns a pointer to the entry point to a PE/COFF image that has been loaded
|
||||
into system memory with the PE/COFF Loader Library functions.
|
||||
|
||||
@param Pe32Data Pointer to a PE/COFF Image
|
||||
|
||||
@param EntryPoint Pointer to the entry point of the PE/COFF image
|
||||
Retrieves the entry point to the PE/COFF image specified by Pe32Data and returns this entry
|
||||
point in EntryPoint. If the entry point could not be retrieved from the PE/COFF image, then
|
||||
return RETURN_INVALID_PARAMETER. Otherwise return RETURN_SUCCESS.
|
||||
If Pe32Data is NULL, then ASSERT().
|
||||
If EntryPoint is NULL, then ASSERT().
|
||||
|
||||
@retval EFI_SUCCESS if the EntryPoint was returned
|
||||
@retval EFI_INVALID_PARAMETER if the EntryPoint could not be found from Pe32Data
|
||||
@param Pe32Data Pointer to the PE/COFF image that is loaded in system memory.
|
||||
@param EntryPoint Pointer to entry point to the PE/COFF image to return.
|
||||
|
||||
@retval RETURN_SUCCESS EntryPoint was returned.
|
||||
@retval RETURN_INVALID_PARAMETER The entry point could not be found in the PE/COFF image.
|
||||
|
||||
**/
|
||||
RETURN_STATUS
|
||||
EFIAPI
|
||||
PeCoffLoaderGetEntryPoint (
|
||||
IN VOID *Pe32Data,
|
||||
IN OUT VOID **EntryPoint
|
||||
IN VOID *Pe32Data,
|
||||
OUT VOID **EntryPoint
|
||||
)
|
||||
{
|
||||
EFI_IMAGE_DOS_HEADER *DosHeader;
|
||||
EFI_IMAGE_NT_HEADERS *PeHeader;
|
||||
|
||||
ASSERT (Pe32Data != NULL);
|
||||
ASSERT (EntryPoint != NULL);
|
||||
|
||||
DosHeader = (EFI_IMAGE_DOS_HEADER *)Pe32Data;
|
||||
|
||||
if (DosHeader->e_magic == EFI_IMAGE_DOS_SIGNATURE) {
|
||||
//
|
||||
// DOS image header is present, so read the PE header after the DOS image header
|
||||
// DOS image header is present, so read the PE header after the DOS image header.
|
||||
//
|
||||
PeHeader = (EFI_IMAGE_NT_HEADERS *) ((UINTN) Pe32Data + (UINTN) ((DosHeader->e_lfanew) & 0x0ffff));
|
||||
} else {
|
||||
//
|
||||
// DOS image header is not present, so PE header is at the image base
|
||||
// DOS image header is not present, so PE header is at the image base.
|
||||
//
|
||||
PeHeader = (EFI_IMAGE_NT_HEADERS *) Pe32Data;
|
||||
}
|
||||
|
||||
*EntryPoint = (VOID *) ((UINTN) Pe32Data + (UINTN) (PeHeader->OptionalHeader.AddressOfEntryPoint & 0x0ffffffff));
|
||||
return RETURN_SUCCESS;
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ PeCoffLoaderCheckImageType (
|
|||
);
|
||||
|
||||
STATIC
|
||||
VOID *
|
||||
VOID *
|
||||
PeCoffLoaderImageAddress (
|
||||
IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext,
|
||||
IN UINTN Address
|
||||
|
@ -53,15 +53,12 @@ PeCoffLoaderRelocateImageEx (
|
|||
/**
|
||||
Retrieves the PE or TE Header from a PE/COFF or TE image.
|
||||
|
||||
@param ImageContext The context of the image being loaded.
|
||||
|
||||
@param PeHdr The buffer in which to return the PE header.
|
||||
|
||||
@param TeHdr The buffer in which to return the TE header.
|
||||
@param ImageContext The context of the image being loaded.
|
||||
@param PeHdr The buffer in which to return the PE header.
|
||||
@param TeHdr The buffer in which to return the TE header.
|
||||
|
||||
@return
|
||||
RETURN_SUCCESS if the PE or TE Header is read,
|
||||
Otherwise, the error status from reading the PE/COFF or TE image using the ImageRead function.
|
||||
@retval RETURN_SUCCESS The PE or TE Header is read.
|
||||
@retval Other The error status from reading the PE/COFF or TE image using the ImageRead function.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
|
@ -72,7 +69,7 @@ PeCoffLoaderGetPeHeader (
|
|||
OUT EFI_TE_IMAGE_HEADER *TeHdr
|
||||
)
|
||||
{
|
||||
RETURN_STATUS Status;
|
||||
RETURN_STATUS Status;
|
||||
EFI_IMAGE_DOS_HEADER DosHdr;
|
||||
UINTN Size;
|
||||
|
||||
|
@ -82,11 +79,11 @@ PeCoffLoaderGetPeHeader (
|
|||
//
|
||||
Size = sizeof (EFI_IMAGE_DOS_HEADER);
|
||||
Status = ImageContext->ImageRead (
|
||||
ImageContext->Handle,
|
||||
0,
|
||||
&Size,
|
||||
&DosHdr
|
||||
);
|
||||
ImageContext->Handle,
|
||||
0,
|
||||
&Size,
|
||||
&DosHdr
|
||||
);
|
||||
if (RETURN_ERROR (Status)) {
|
||||
ImageContext->ImageError = IMAGE_ERROR_IMAGE_READ;
|
||||
return Status;
|
||||
|
@ -104,11 +101,11 @@ PeCoffLoaderGetPeHeader (
|
|||
//
|
||||
Size = sizeof (EFI_IMAGE_NT_HEADERS);
|
||||
Status = ImageContext->ImageRead (
|
||||
ImageContext->Handle,
|
||||
ImageContext->PeCoffHeaderOffset,
|
||||
&Size,
|
||||
PeHdr
|
||||
);
|
||||
ImageContext->Handle,
|
||||
ImageContext->PeCoffHeaderOffset,
|
||||
&Size,
|
||||
PeHdr
|
||||
);
|
||||
if (RETURN_ERROR (Status)) {
|
||||
ImageContext->ImageError = IMAGE_ERROR_IMAGE_READ;
|
||||
return Status;
|
||||
|
@ -119,11 +116,11 @@ PeCoffLoaderGetPeHeader (
|
|||
if (PeHdr->Signature != EFI_IMAGE_NT_SIGNATURE) {
|
||||
Size = sizeof (EFI_TE_IMAGE_HEADER);
|
||||
Status = ImageContext->ImageRead (
|
||||
ImageContext->Handle,
|
||||
0,
|
||||
&Size,
|
||||
TeHdr
|
||||
);
|
||||
ImageContext->Handle,
|
||||
0,
|
||||
&Size,
|
||||
TeHdr
|
||||
);
|
||||
if (TeHdr->Signature != EFI_TE_IMAGE_HEADER_SIGNATURE) {
|
||||
return RETURN_UNSUPPORTED;
|
||||
}
|
||||
|
@ -137,14 +134,12 @@ PeCoffLoaderGetPeHeader (
|
|||
/**
|
||||
Checks the PE or TE header of a PE/COFF or TE image to determine if it supported.
|
||||
|
||||
@param ImageContext The context of the image being loaded.
|
||||
|
||||
@param PeHdr The buffer in which to return the PE header.
|
||||
|
||||
@param TeHdr The buffer in which to return the TE header.
|
||||
@param ImageContext The context of the image being loaded.
|
||||
@param PeHdr The buffer in which to return the PE header.
|
||||
@param TeHdr The buffer in which to return the TE header.
|
||||
|
||||
@retval RETURN_SUCCESS if the PE/COFF or TE image is supported
|
||||
@retval RETURN_UNSUPPORTED of the PE/COFF or TE image is not supported.
|
||||
@retval RETURN_SUCCESS The PE/COFF or TE image is supported.
|
||||
@retval RETURN_UNSUPPORTED The PE/COFF or TE image is not supported.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
|
@ -185,16 +180,24 @@ PeCoffLoaderCheckImageType (
|
|||
}
|
||||
|
||||
/**
|
||||
Retrieves information on a PE/COFF image.
|
||||
Retrieves information about a PE/COFF image.
|
||||
|
||||
@param This Calling context
|
||||
@param ImageContext The context of the image being loaded
|
||||
Computes the PeCoffHeaderOffset, ImageAddress, ImageSize, DestinationAddress, CodeView,
|
||||
PdbPointer, RelocationsStripped, SectionAlignment, SizeOfHeaders, and DebugDirectoryEntryRva
|
||||
fields of the ImageContext structure. If ImageContext is NULL, then return RETURN_INVALID_PARAMETER.
|
||||
If the PE/COFF image accessed through the ImageRead service in the ImageContext structure is not
|
||||
a supported PE/COFF image type, then return RETURN_UNSUPPORTED. If any errors occur while
|
||||
computing the fields of ImageContext, then the error status is returned in the ImageError field of
|
||||
ImageContext.
|
||||
|
||||
@retval RETURN_SUCCESS The information on the PE/COFF image was collected.
|
||||
@param ImageContext Pointer to the image context structure that describes the PE/COFF
|
||||
image that needs to be examined by this function.
|
||||
|
||||
@retval RETURN_SUCCESS The information on the PE/COFF image was collected.
|
||||
@retval RETURN_INVALID_PARAMETER ImageContext is NULL.
|
||||
@retval RETURN_UNSUPPORTED The PE/COFF image is not supported.
|
||||
@retval Otherwise The error status from reading the PE/COFF image using the
|
||||
ImageContext->ImageRead() function
|
||||
@retval RETURN_UNSUPPORTED The PE/COFF image is not supported.
|
||||
@retval Others The error status from reading the PE/COFF image
|
||||
using the ImageContext->ImageRead() function.
|
||||
|
||||
**/
|
||||
RETURN_STATUS
|
||||
|
@ -203,7 +206,7 @@ PeCoffLoaderGetImageInfo (
|
|||
IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
|
||||
)
|
||||
{
|
||||
RETURN_STATUS Status;
|
||||
RETURN_STATUS Status;
|
||||
EFI_IMAGE_NT_HEADERS PeHdr;
|
||||
EFI_TE_IMAGE_HEADER TeHdr;
|
||||
EFI_IMAGE_DATA_DIRECTORY *DebugDirectoryEntry;
|
||||
|
@ -368,7 +371,7 @@ PeCoffLoaderGetImageInfo (
|
|||
//
|
||||
// Read section header from file
|
||||
//
|
||||
Size = sizeof (EFI_IMAGE_SECTION_HEADER);
|
||||
Size = sizeof (EFI_IMAGE_SECTION_HEADER);
|
||||
Status = ImageContext->ImageRead (
|
||||
ImageContext->Handle,
|
||||
SectionHeaderOffset,
|
||||
|
@ -383,10 +386,10 @@ PeCoffLoaderGetImageInfo (
|
|||
if (DebugDirectoryEntryRva >= SectionHeader.VirtualAddress &&
|
||||
DebugDirectoryEntryRva < SectionHeader.VirtualAddress + SectionHeader.Misc.VirtualSize) {
|
||||
DebugDirectoryEntryFileOffset = DebugDirectoryEntryRva -
|
||||
SectionHeader.VirtualAddress +
|
||||
SectionHeader.PointerToRawData +
|
||||
sizeof (EFI_TE_IMAGE_HEADER) -
|
||||
TeHdr.StrippedSize;
|
||||
SectionHeader.VirtualAddress +
|
||||
SectionHeader.PointerToRawData +
|
||||
sizeof (EFI_TE_IMAGE_HEADER) -
|
||||
TeHdr.StrippedSize;
|
||||
|
||||
//
|
||||
// File offset of the debug directory was found, if this is not the last
|
||||
|
@ -448,11 +451,10 @@ PeCoffLoaderGetImageInfo (
|
|||
/**
|
||||
Converts an image address to the loaded address.
|
||||
|
||||
@param ImageContext The context of the image being loaded.
|
||||
|
||||
@param Address The address to be converted to the loaded address.
|
||||
@param ImageContext The context of the image being loaded.
|
||||
@param Address The address to be converted to the loaded address.
|
||||
|
||||
@return NULL if the address can not be converted, otherwise, the converted address
|
||||
@return The converted address or NULL if the address can not be converted.
|
||||
|
||||
**/
|
||||
STATIC
|
||||
|
@ -471,15 +473,23 @@ PeCoffLoaderImageAddress (
|
|||
}
|
||||
|
||||
/**
|
||||
Relocates a PE/COFF image in memory.
|
||||
Applies relocation fixups to a PE/COFF image that was loaded with PeCoffLoaderLoadImage().
|
||||
|
||||
@param This Calling context.
|
||||
|
||||
@param ImageContext Contains information on the loaded image to relocate.
|
||||
If the DestinationAddress field of ImageContext is 0, then use the ImageAddress field of
|
||||
ImageContext as the relocation base address. Otherwise, use the DestinationAddress field
|
||||
of ImageContext as the relocation base address. The caller must allocate the relocation
|
||||
fixup log buffer and fill in the FixupData field of ImageContext prior to calling this function.
|
||||
If ImageContext is NULL, then ASSERT().
|
||||
|
||||
@retval RETURN_SUCCESS if the PE/COFF image was relocated.
|
||||
@retval RETURN_LOAD_ERROR if the image is not a valid PE/COFF image.
|
||||
@retval RETURN_UNSUPPORTED not support.
|
||||
@param ImageContext Pointer to the image context structure that describes the PE/COFF
|
||||
image that is being relocated.
|
||||
|
||||
@retval RETURN_SUCCESS The PE/COFF image was relocated.
|
||||
Extended status information is in the ImageError field of ImageContext.
|
||||
@retval RETURN_LOAD_ERROR The image in not a valid PE/COFF image.
|
||||
Extended status information is in the ImageError field of ImageContext.
|
||||
@retval RETURN_UNSUPPORTED A relocation record type is not supported.
|
||||
Extended status information is in the ImageError field of ImageContext.
|
||||
|
||||
**/
|
||||
RETURN_STATUS
|
||||
|
@ -504,6 +514,8 @@ PeCoffLoaderRelocateImage (
|
|||
CHAR8 *FixupData;
|
||||
PHYSICAL_ADDRESS BaseAddress;
|
||||
|
||||
ASSERT (ImageContext != NULL);
|
||||
|
||||
PeHdr = NULL;
|
||||
TeHdr = NULL;
|
||||
//
|
||||
|
@ -522,7 +534,7 @@ PeCoffLoaderRelocateImage (
|
|||
// If the destination address is not 0, use that rather than the
|
||||
// image address as the relocation target.
|
||||
//
|
||||
if (ImageContext->DestinationAddress) {
|
||||
if (ImageContext->DestinationAddress != 0) {
|
||||
BaseAddress = ImageContext->DestinationAddress;
|
||||
} else {
|
||||
BaseAddress = ImageContext->ImageAddress;
|
||||
|
@ -531,6 +543,7 @@ PeCoffLoaderRelocateImage (
|
|||
if (!(ImageContext->IsTeImage)) {
|
||||
PeHdr = (EFI_IMAGE_NT_HEADERS *)((UINTN)ImageContext->ImageAddress +
|
||||
ImageContext->PeCoffHeaderOffset);
|
||||
|
||||
Adjust = (UINT64) BaseAddress - PeHdr->OptionalHeader.ImageBase;
|
||||
PeHdr->OptionalHeader.ImageBase = (UINTN)BaseAddress;
|
||||
|
||||
|
@ -670,14 +683,23 @@ PeCoffLoaderRelocateImage (
|
|||
/**
|
||||
Loads a PE/COFF image into memory.
|
||||
|
||||
@param This Calling context.
|
||||
|
||||
@param ImageContext Contains information on image to load into memory.
|
||||
Loads the PE/COFF image accessed through the ImageRead service of ImageContext into the buffer
|
||||
specified by the ImageAddress and ImageSize fields of ImageContext. The caller must allocate
|
||||
the load buffer and fill in the ImageAddress and ImageSize fields prior to calling this function.
|
||||
The EntryPoint, FixupDataSize, CodeView, and PdbPointer fields of ImageContext are computed.
|
||||
|
||||
@retval RETURN_SUCCESS if the PE/COFF image was loaded.
|
||||
@retval RETURN_BUFFER_TOO_SMALL if the caller did not provide a large enough buffer.
|
||||
@retval RETURN_LOAD_ERROR if the image is a runtime driver with no relocations.
|
||||
@retval RETURN_INVALID_PARAMETER if the image address is invalid.
|
||||
@param ImageContext Pointer to the image context structure that describes the PE/COFF
|
||||
image that is being loaded.
|
||||
|
||||
@retval RETURN_SUCCESS The PE/COFF image was loaded into the buffer specified by
|
||||
the ImageAddress and ImageSize fields of ImageContext.
|
||||
Extended status information is in the ImageError field of ImageContext.
|
||||
@retval RETURN_BUFFER_TOO_SMALL The caller did not provide a large enough buffer.
|
||||
Extended status information is in the ImageError field of ImageContext.
|
||||
@retval RETURN_LOAD_ERROR The PE/COFF image is an EFI Runtime image with no relocations.
|
||||
Extended status information is in the ImageError field of ImageContext.
|
||||
@retval RETURN_INVALID_PARAMETER The image address is invalid.
|
||||
Extended status information is in the ImageError field of ImageContext.
|
||||
|
||||
**/
|
||||
RETURN_STATUS
|
||||
|
@ -686,10 +708,10 @@ PeCoffLoaderLoadImage (
|
|||
IN OUT PE_COFF_LOADER_IMAGE_CONTEXT *ImageContext
|
||||
)
|
||||
{
|
||||
RETURN_STATUS Status;
|
||||
RETURN_STATUS Status;
|
||||
EFI_IMAGE_NT_HEADERS *PeHdr;
|
||||
EFI_TE_IMAGE_HEADER *TeHdr;
|
||||
PE_COFF_LOADER_IMAGE_CONTEXT CheckContext;
|
||||
PE_COFF_LOADER_IMAGE_CONTEXT CheckContext;
|
||||
EFI_IMAGE_SECTION_HEADER *FirstSection;
|
||||
EFI_IMAGE_SECTION_HEADER *Section;
|
||||
UINTN NumberOfSections;
|
||||
|
|
|
@ -34,6 +34,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
<LibraryClassDefinitions>
|
||||
<LibraryClass Usage="ALWAYS_PRODUCED">PeCoffLib</LibraryClass>
|
||||
<LibraryClass Usage="ALWAYS_CONSUMED">BaseMemoryLib</LibraryClass>
|
||||
<LibraryClass Usage="ALWAYS_CONSUMED">DebugLib</LibraryClass>
|
||||
</LibraryClassDefinitions>
|
||||
<SourceFiles>
|
||||
<Filename>BasePeCoff.c</Filename>
|
||||
|
@ -44,10 +45,10 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||
<Filename>x64/PeCoffLoaderEx.c</Filename>
|
||||
</Arch>
|
||||
<Arch ArchType="IPF">
|
||||
<Filename>ipf/PeCoffLoaderEx.c</Filename>
|
||||
<Filename>Ipf/PeCoffLoaderEx.c</Filename>
|
||||
</Arch>
|
||||
<Arch ArchType="EBC">
|
||||
<Filename>ebc/PeCoffLoaderEx.c</Filename>
|
||||
<Filename>Ebc/PeCoffLoaderEx.c</Filename>
|
||||
</Arch>
|
||||
</SourceFiles>
|
||||
<Includes>
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
-->
|
||||
<LibraryModuleBuildDescription xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.TianoCore.org/2006/Edk2.0 http://www.TianoCore.org/2006/Edk2.0/SurfaceArea.xsd">
|
||||
<MbdLibHeader>
|
||||
<BaseName>BasePostCodeLibPort80</BaseName>
|
||||
<Guid>55c61087-7367-4546-bc32-4937c5e6aff3</Guid>
|
||||
<Version>0</Version>
|
||||
<Description>FIX ME!</Description>
|
||||
<Copyright>Copyright (c) 2004-2006, Intel Corporation</Copyright>
|
||||
<License>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
</License>
|
||||
<Created>2006-03-09 23:16</Created>
|
||||
<Modified>2006-03-19 15:17</Modified>
|
||||
</MbdLibHeader>
|
||||
</LibraryModuleBuildDescription>
|
|
@ -0,0 +1,50 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
-->
|
||||
<LibraryModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.TianoCore.org/2006/Edk2.0 http://www.TianoCore.org/2006/Edk2.0/SurfaceArea.xsd">
|
||||
<MsaLibHeader>
|
||||
<BaseName>BasePostCodeLibPort80</BaseName>
|
||||
<ModuleType>BASE</ModuleType>
|
||||
<ComponentType>LIBRARY</ComponentType>
|
||||
<Guid>55c61087-7367-4546-bc32-4937c5e6aff3</Guid>
|
||||
<Version>0</Version>
|
||||
<Abstract>Component description file for the entry point to a EFIDXE Drivers</Abstract>
|
||||
<Description>FIX ME!</Description>
|
||||
<Copyright>Copyright (c) 2004-2006, Intel Corporation</Copyright>
|
||||
<License>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
</License>
|
||||
<Created>2006-03-09 23:16</Created>
|
||||
<Updated>2006-03-19 15:17</Updated>
|
||||
<Specification>0</Specification>
|
||||
</MsaLibHeader>
|
||||
<LibraryClassDefinitions>
|
||||
<LibraryClass Usage="ALWAYS_PRODUCED">PostCodeLib</LibraryClass>
|
||||
<LibraryClass Usage="ALWAYS_CONSUMED">PcdLib</LibraryClass>
|
||||
<LibraryClass Usage="ALWAYS_CONSUMED">IoLib</LibraryClass>
|
||||
</LibraryClassDefinitions>
|
||||
<SourceFiles>
|
||||
<Filename>PostCode.c</Filename>
|
||||
</SourceFiles>
|
||||
<Includes>
|
||||
<PackageName>MdePkg</PackageName>
|
||||
</Includes>
|
||||
<PcdCoded>
|
||||
<PcdEntry PcdItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdPostCodePropertyMask</C_Name>
|
||||
</PcdEntry>
|
||||
</PcdCoded>
|
||||
</LibraryModuleSurfaceArea>
|
|
@ -0,0 +1,123 @@
|
|||
/** @file
|
||||
Report Status Code Library Post Code functions for DXE Phase.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
|
||||
/**
|
||||
Sends an 32-bit value to a POST card.
|
||||
|
||||
Sends the 32-bit value specified by Value to a POST card, and returns Value.
|
||||
Some implementations of this library function may perform I/O operations
|
||||
directly to a POST card device. Other implementations may send Value to
|
||||
ReportStatusCode(), and the status code reporting mechanism will eventually
|
||||
display the 32-bit value on the status reporting device.
|
||||
|
||||
PostCode() must actively prevent recursion. If PostCode() is called while
|
||||
processing another any other Report Status Code Library function, then
|
||||
PostCode() must return Value immediately.
|
||||
|
||||
@param Value The 32-bit value to write to the POST card.
|
||||
|
||||
@return Value
|
||||
|
||||
**/
|
||||
UINT32
|
||||
EFIAPI
|
||||
PostCode (
|
||||
IN UINT32 Value
|
||||
)
|
||||
{
|
||||
IoWrite8 (0x80, (UINT8)(Value));
|
||||
return Value;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Sends an 32-bit value to a POST and associated ASCII string.
|
||||
|
||||
Sends the 32-bit value specified by Value to a POST card, and returns Value.
|
||||
If Description is not NULL, then the ASCII string specified by Description is
|
||||
also passed to the handler that displays the POST card value. Some
|
||||
implementations of this library function may perform I/O operations directly
|
||||
to a POST card device. Other implementations may send Value to ReportStatusCode(),
|
||||
and the status code reporting mechanism will eventually display the 32-bit
|
||||
value on the status reporting device.
|
||||
|
||||
PostCodeWithDescription()must actively prevent recursion. If
|
||||
PostCodeWithDescription() is called while processing another any other Report
|
||||
Status Code Library function, then PostCodeWithDescription() must return Value
|
||||
immediately.
|
||||
|
||||
@param Value The 32-bit value to write to the POST card.
|
||||
@param Description Pointer to an ASCII string that is a description of the
|
||||
POST code value. This is an optional parameter that may
|
||||
be NULL.
|
||||
|
||||
@return Value
|
||||
|
||||
**/
|
||||
UINT32
|
||||
EFIAPI
|
||||
PostCodeWithDescription (
|
||||
IN UINT32 Value,
|
||||
IN CONST CHAR8 *Description OPTIONAL
|
||||
)
|
||||
{
|
||||
IoWrite8 (0x80, (UINT8)(Value));
|
||||
return Value;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Returns TRUE if POST Codes are enabled.
|
||||
|
||||
This function returns TRUE if the POST_CODE_PROPERTY_POST_CODE_ENABLED
|
||||
bit of PcdPostCodePropertyMask is set. Otherwise FALSE is returned.
|
||||
|
||||
@retval TRUE The POST_CODE_PROPERTY_POST_CODE_ENABLED bit of
|
||||
PcdPostCodeProperyMask is set.
|
||||
@retval FALSE The POST_CODE_PROPERTY_POST_CODE_ENABLED bit of
|
||||
PcdPostCodeProperyMask is clear.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
PostCodeEnabled (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
return ((PcdGet8(PcdPostCodePropertyMask) & POST_CODE_PROPERTY_POST_CODE_ENABLED) != 0);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Returns TRUE if POST code descriptions are enabled.
|
||||
|
||||
This function returns TRUE if the
|
||||
POST_CODE_PROPERTY_POST_CODE_ENABLED bit of
|
||||
PcdPostCodePropertyMask is set. Otherwise FALSE is returned.
|
||||
|
||||
@retval TRUE The POST_CODE_PROPERTY_POST_CODE_ENABLED
|
||||
bit of PcdPostCodeProperyMask is set.
|
||||
@retval FALSE The POST_CODE_PROPERTY_POST_CODE_ENABLED
|
||||
bit of PcdPostCodeProperyMask is clear.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
PostCodeDescriptionEnabled (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
return ((PcdGet8(PcdPostCodePropertyMask) & POST_CODE_PROPERTY_POST_CODE_ENABLED) != 0);
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?><!-- Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.-->
|
||||
<project basedir="." default="BasePostCodeLibPort80"><!--Apply external ANT tasks-->
|
||||
<taskdef resource="GenBuild.tasks"/>
|
||||
<taskdef resource="net/sf/antcontrib/antlib.xml"/>
|
||||
<property environment="env"/>
|
||||
<property name="WORKSPACE_DIR" value="${env.WORKSPACE}"/>
|
||||
<import file="${WORKSPACE_DIR}/Tools/Conf/BuildMacro.xml"/><!--MODULE_RELATIVE PATH is relative to PACKAGE_DIR-->
|
||||
<property name="MODULE_RELATIVE_PATH" value="Library/BasePostCodeLibPort80"/>
|
||||
<property name="MODULE_DIR" value="${PACKAGE_DIR}/${MODULE_RELATIVE_PATH}"/>
|
||||
<property name="COMMON_FILE" value="${WORKSPACE_DIR}/Tools/Conf/Common.xml"/>
|
||||
<target name="BasePostCodeLibPort80">
|
||||
<GenBuild baseName="BasePostCodeLibPort80" mbdFilename="${MODULE_DIR}/BasePostCodeLibPort80.mbd" msaFilename="${MODULE_DIR}/BasePostCodeLibPort80.msa"/>
|
||||
</target>
|
||||
<target depends="BasePostCodeLib80_clean" name="clean"/>
|
||||
<target depends="BasePostCodeLib80_cleanall" name="cleanall"/>
|
||||
<target name="BasePostCodeLib80_clean">
|
||||
<OutputDirSetup baseName="BasePostCodeLibPort80" mbdFilename="${MODULE_DIR}/BasePostCodeLibPort80.mbd" msaFilename="${MODULE_DIR}/BasePostCodeLibPort80.msa"/>
|
||||
<if>
|
||||
<available file="${DEST_DIR_OUTPUT}/BasePostCodeLib80_build.xml"/>
|
||||
<then>
|
||||
<ant antfile="${DEST_DIR_OUTPUT}/BasePostCodeLib80_build.xml" target="clean"/>
|
||||
</then>
|
||||
</if>
|
||||
<delete dir="${DEST_DIR_OUTPUT}" excludes="*.xml"/>
|
||||
</target>
|
||||
<target name="BasePostCodeLib80_cleanall">
|
||||
<OutputDirSetup baseName="BasePostCodeLibPort80" mbdFilename="${MODULE_DIR}/BasePostCodeLibPort80.mbd" msaFilename="${MODULE_DIR}/BasePostCodeLibPort80.msa"/>
|
||||
<if>
|
||||
<available file="${DEST_DIR_OUTPUT}/BasePostCodeLib80_build.xml"/>
|
||||
<then>
|
||||
<ant antfile="${DEST_DIR_OUTPUT}/BasePostCodeLib80_build.xml" target="cleanall"/>
|
||||
</then>
|
||||
</if>
|
||||
<delete dir="${DEST_DIR_OUTPUT}"/>
|
||||
<delete dir="${DEST_DIR_DEBUG}"/>
|
||||
<delete>
|
||||
<fileset dir="${BIN_DIR}" includes="**BasePostCodeLibPort80*"/>
|
||||
</delete>
|
||||
</target>
|
||||
</project>
|
|
@ -98,7 +98,7 @@ VOID
|
|||
EFIAPI
|
||||
DebugAssert (
|
||||
IN CONST CHAR8 *FileName,
|
||||
IN INTN LineNumber,
|
||||
IN UINTN LineNumber,
|
||||
IN CONST CHAR8 *Description
|
||||
)
|
||||
{
|
||||
|
|
|
@ -98,7 +98,7 @@ VOID
|
|||
EFIAPI
|
||||
DebugAssert (
|
||||
IN CONST CHAR8 *FileName,
|
||||
IN INTN LineNumber,
|
||||
IN UINTN LineNumber,
|
||||
IN CONST CHAR8 *Description
|
||||
)
|
||||
{
|
||||
|
|
|
@ -86,7 +86,7 @@
|
|||
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="DxeReportStatusCodeLib" />
|
||||
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BaseReportStatusCodeLibNull" />
|
||||
|
||||
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLib80" />
|
||||
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLibPort80" />
|
||||
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLibDebug" />
|
||||
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLibReportStatusCode" />
|
||||
|
||||
|
@ -159,7 +159,7 @@
|
|||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="DxeReportStatusCodeLib" />
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="BaseReportStatusCodeLibNull" />
|
||||
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="BasePostCodeLib80" />
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="BasePostCodeLibPort80" />
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="BasePostCodeLibDebug" />
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="BasePostCodeLibReportStatusCode" />
|
||||
|
||||
|
@ -231,7 +231,7 @@
|
|||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="DxeReportStatusCodeLib" />
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="BaseReportStatusCodeLibNull" />
|
||||
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="BasePostCodeLib80" />
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="BasePostCodeLibPort80" />
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="BasePostCodeLibDebug" />
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="BasePostCodeLibReportStatusCode" />
|
||||
|
||||
|
@ -304,7 +304,7 @@
|
|||
<ModuleSA Arch="EBC" FvBinding="NULL" ModuleName="DxeReportStatusCodeLib" />
|
||||
<ModuleSA Arch="EBC" FvBinding="NULL" ModuleName="BaseReportStatusCodeLibNull" />
|
||||
|
||||
<ModuleSA Arch="EBC" FvBinding="NULL" ModuleName="BasePostCodeLib80" />
|
||||
<ModuleSA Arch="EBC" FvBinding="NULL" ModuleName="BasePostCodeLibPort80" />
|
||||
<ModuleSA Arch="EBC" FvBinding="NULL" ModuleName="BasePostCodeLibDebug" />
|
||||
<ModuleSA Arch="EBC" FvBinding="NULL" ModuleName="BasePostCodeLibReportStatusCode" />
|
||||
|
||||
|
@ -752,7 +752,7 @@
|
|||
</PcdData>
|
||||
</PcdBuildDefinition>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLib80" >
|
||||
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLibPort80" >
|
||||
<PcdBuildDefinition>
|
||||
<PcdData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdPostCodePropertyMask</C_Name>
|
||||
|
@ -1112,7 +1112,7 @@
|
|||
</PcdData>
|
||||
</PcdBuildDefinition>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="BasePostCodeLib80" >
|
||||
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="BasePostCodeLibPort80" >
|
||||
<PcdBuildDefinition>
|
||||
<PcdData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdPostCodePropertyMask</C_Name>
|
||||
|
@ -1472,7 +1472,7 @@
|
|||
</PcdData>
|
||||
</PcdBuildDefinition>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="BasePostCodeLib80" >
|
||||
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="BasePostCodeLibPort80" >
|
||||
<PcdBuildDefinition>
|
||||
<PcdData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdPostCodePropertyMask</C_Name>
|
||||
|
@ -1832,7 +1832,7 @@
|
|||
</PcdData>
|
||||
</PcdBuildDefinition>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="EBC" FvBinding="NULL" ModuleName="BasePostCodeLib80" >
|
||||
<ModuleSA Arch="EBC" FvBinding="NULL" ModuleName="BasePostCodeLibPort80" >
|
||||
<PcdBuildDefinition>
|
||||
<PcdData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdPostCodePropertyMask</C_Name>
|
||||
|
|
|
@ -82,7 +82,7 @@
|
|||
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="PeiIoLibCpuIo" />
|
||||
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="DxeReportStatusCodeLib" />
|
||||
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BaseReportStatusCodeLibNull" />
|
||||
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLib80" />
|
||||
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLibPort80" />
|
||||
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLibDebug" />
|
||||
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLibReportStatusCode" />
|
||||
|
||||
|
@ -530,7 +530,7 @@
|
|||
</PcdData>
|
||||
</PcdBuildDefinition>
|
||||
</ModuleSA>
|
||||
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLib80" >
|
||||
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLibPort80" >
|
||||
<PcdBuildDefinition>
|
||||
<PcdData ItemType="FIXED_AT_BUILD">
|
||||
<C_Name>PcdPostCodePropertyMask</C_Name>
|
||||
|
|
|
@ -226,7 +226,7 @@
|
|||
<Filename>Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.msa</Filename>
|
||||
</MsaFile>
|
||||
<MsaFile>
|
||||
<Filename>Library/BasePostCodeLib80/BasePostCodeLib80.msa</Filename>
|
||||
<Filename>Library/BasePostCodeLibPort80/BasePostCodeLibPort80.msa</Filename>
|
||||
</MsaFile>
|
||||
<MsaFile>
|
||||
<Filename>Library/BasePostCodeLibDebug/BasePostCodeLibDebug.msa</Filename>
|
||||
|
|
Loading…
Reference in New Issue