From: lgao4 Date: Fri, 10 Oct 2008 06:20:50 +0000 (+0000) Subject: Update HobLib and PeCoffLib according to MDE Lib Spec 0.61c X-Git-Tag: edk2-stable201903~20126 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=3ecdcd1146b8268eea8a550e883121c566a9aef8;p=mirror_edk2.git Update HobLib and PeCoffLib according to MDE Lib Spec 0.61c git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6100 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/MdePkg/Include/Library/HobLib.h b/MdePkg/Include/Library/HobLib.h index 02f364ccc6..ae1fb16f88 100644 --- a/MdePkg/Include/Library/HobLib.h +++ b/MdePkg/Include/Library/HobLib.h @@ -17,9 +17,10 @@ /** Returns the pointer to the HOB list. + ASSERT() if the HOB list returned by GetHobList() is NULL. This function returns the pointer to first HOB in the list. - + @return The pointer to the HOB list. **/ diff --git a/MdePkg/Include/Library/PeCoffLib.h b/MdePkg/Include/Library/PeCoffLib.h index 47b70fff92..2a30d845ce 100644 --- a/MdePkg/Include/Library/PeCoffLib.h +++ b/MdePkg/Include/Library/PeCoffLib.h @@ -85,6 +85,7 @@ typedef struct { VOID *FixupData; /// /// Is set by PeCoffLoaderGetImageInfo() to the Section Alignment in the PE/COFF header + /// If the image is a TE image, then this field is set to 0. /// UINT32 SectionAlignment; /// @@ -159,13 +160,15 @@ typedef struct { /** Retrieves information about a PE/COFF image. - 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. + Computes the PeCoffHeaderOffset, IsTeImage, ImageType, ImageAddress, ImageSize, + DestinationAddress, 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. + If the image is a TE image, then SectionAlignment is set to 0. @param ImageContext Pointer to the image context structure that describes the PE/COFF image that needs to be examined by this function. diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf b/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf index ad762a1591..ffd2a4ec79 100644 --- a/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf +++ b/MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf @@ -1,8 +1,8 @@ #/** @file # Component description file for Base Memory Optimization Dxe Library. # -# Base Memory Library that uses MMX registers for high performance. -# Optimized for use in DXE. +# Base Memory Library that is optimized for use in DXE phase. +# Uses REP, MMX, XMM registers as required for best performance. # Copyright (c) 2007 - 2008, Intel Corporation # # All rights reserved. This program and the accompanying materials diff --git a/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf b/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf index 5d6f9372b4..0144caddb8 100644 --- a/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf +++ b/MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf @@ -1,8 +1,8 @@ #/** @file # Component description file for Base Memory Optimization Pei Library # -# Base Memory Library that uses REP string instructions for -# high performance and small size. Optimized for use in PEI. +# Base Memory Library that is optimized for use in PEI phase. +# Uses REP, MMX, XMM registers as required for best performance. # Copyright (c) 2007 - 2008, Intel Corporation # # All rights reserved. This program and the accompanying materials diff --git a/MdePkg/Library/BasePeCoffLib/BasePeCoff.c b/MdePkg/Library/BasePeCoffLib/BasePeCoff.c index f975754516..7df939d758 100644 --- a/MdePkg/Library/BasePeCoffLib/BasePeCoff.c +++ b/MdePkg/Library/BasePeCoffLib/BasePeCoff.c @@ -172,13 +172,15 @@ PeCoffLoaderGetPeHeader ( /** Retrieves information about a PE/COFF image. - Computes the PeCoffHeaderOffset, ImageAddress, ImageSize, DestinationAddress, 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. + Computes the PeCoffHeaderOffset, IsTeImage, ImageType, ImageAddress, ImageSize, + DestinationAddress, 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. + If the image is a TE image, then SectionAlignment is set to 0. @param ImageContext Pointer to the image context structure that describes the PE/COFF image that needs to be examined by this function. diff --git a/MdePkg/Library/CpuLib/CpuLib.inf b/MdePkg/Library/CpuLib/CpuLib.inf index 70981a780a..952983e7dc 100644 --- a/MdePkg/Library/CpuLib/CpuLib.inf +++ b/MdePkg/Library/CpuLib/CpuLib.inf @@ -1,5 +1,5 @@ #/** @file -# Component description file for Base Library +# Component description file for Base Cpu Library # # Base Library implementation. # Copyright (c) 2007, Intel Corporation. diff --git a/MdePkg/Library/DxeCoreHobLib/HobLib.c b/MdePkg/Library/DxeCoreHobLib/HobLib.c index b941bde19c..ac4955149f 100644 --- a/MdePkg/Library/DxeCoreHobLib/HobLib.c +++ b/MdePkg/Library/DxeCoreHobLib/HobLib.c @@ -23,6 +23,7 @@ /** Returns the pointer to the HOB list. + ASSERT() if the HOB list returned by GetHobList() is NULL. This function returns the pointer to first HOB in the list. @@ -35,6 +36,7 @@ GetHobList ( VOID ) { + ASSERT (gHobList != NULL); return gHobList; } @@ -185,7 +187,6 @@ GetBootModeHob ( EFI_HOB_HANDOFF_INFO_TABLE *HandOffHob; HandOffHob = (EFI_HOB_HANDOFF_INFO_TABLE *) GetHobList (); - ASSERT (HandOffHob != NULL); return HandOffHob->BootMode; } diff --git a/MdePkg/Library/DxeHobLib/HobLib.c b/MdePkg/Library/DxeHobLib/HobLib.c index 810bfa5fbf..d6e9e5fed6 100644 --- a/MdePkg/Library/DxeHobLib/HobLib.c +++ b/MdePkg/Library/DxeHobLib/HobLib.c @@ -56,6 +56,7 @@ HobLibConstructor ( /** Returns the pointer to the HOB list. + ASSERT() if the HOB list returned by GetHobList() is NULL. This function returns the pointer to first HOB in the list. @@ -68,6 +69,7 @@ GetHobList ( VOID ) { + ASSERT (mHobList != NULL); return mHobList; } @@ -218,7 +220,6 @@ GetBootModeHob ( EFI_HOB_HANDOFF_INFO_TABLE *HandOffHob; HandOffHob = (EFI_HOB_HANDOFF_INFO_TABLE *) GetHobList (); - ASSERT (HandOffHob != NULL); return HandOffHob->BootMode; } diff --git a/MdePkg/Library/PeiHobLib/HobLib.c b/MdePkg/Library/PeiHobLib/HobLib.c index cbaf028963..c92c6c805f 100644 --- a/MdePkg/Library/PeiHobLib/HobLib.c +++ b/MdePkg/Library/PeiHobLib/HobLib.c @@ -24,6 +24,7 @@ /** Returns the pointer to the HOB list. + ASSERT() if the HOB list returned by GetHobList() is NULL. This function returns the pointer to first HOB in the list.