Commit Graph

41 Commits

Author SHA1 Message Date
jgong5 25973fc3ea Enhance memory copy logic for PEI core image read. The change uses CopyMem() library function for unshadowed version and uses inline implementation for a shadowed version. This reduces PE image reading time to 1/5 - 1/10 when code cache is disabled. The change also fixed a memory leak when allocating shadow space for image read function.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10038 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-22 05:48:06 +00:00
jchen20 852081fc68 revise the debug message to add 0x in front of the HEX number for consistency
replace FixedPcdGetXX with PcdGetXX to access PcdLoadModuleAtFixAddressEnable

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9964 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-10 06:10:53 +00:00
jchen20 54ea99a798 Enable the Load Module At fixed Address feature
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9937 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-05 07:54:16 +00:00
lgao4 414bdfb663 Print the warning information for the image without relocation only when load it into memory.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9822 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-26 06:37:15 +00:00
lgao4 341a658fca Correct PeiCore not dispatch the register for shadow image without relocation.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9796 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-24 12:55:59 +00:00
lgao4 bfd4a3f1b4 Update PeiLoadFilePpi produced by PeiCore to load only images with relocation into memory.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9775 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-15 09:48:37 +00:00
klu2 1b620adba6 Remove a typo
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9429 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-16 04:53:48 +00:00
klu2 ca577976b4 Initialize the FileHandle to NULL, before search FV image file in discoveried FV
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9428 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-16 04:52:29 +00:00
jchen20 c2a19e9235 For now PEI Core LoadImage() service to always call LoadAndRelocatePeCoffImage() even for XIP PEIMs.However the AllocatePage invoked in S3 path will make system assert. The patch is to fix it.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9368 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-26 06:54:55 +00:00
jljusten 6e6971f0e2 PEI Core: Remove unused variable in PeiLoadImageLoadImage function.
The ICC compiler generated a warning due to this unused variable.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9334 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-08 21:35:03 +00:00
mdkinney 43ada17c28 Update PEI Core LoadImage() service to always call LoadAndRelocatePeCoffImage() even for XIP PEIMs. This will guarantee that the PE/COFF Extra Action Lib will be called for all PE/COFF images, even XIP PEIMs.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9327 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-01 23:49:36 +00:00
lgao4 db0b7ad5f4 Make ASSERT statement more meaningful.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9276 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-17 01:57:24 +00:00
lgao4 919df8e6d2 Enhance PeiCore and DxeCore check whether the image machine type is supported when start image.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9266 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-16 02:37:23 +00:00
qhuang8 8c519a565d 1. Update IA32 PeiCore implementation to support load x64 image for EFI_PEI_LOAD_FILE_PPI.
2. Simplify the implementation of PeiLoadImage() in PeiCore to skip the function call of PeiLoadImageLoadImage() because PeiCore itself produce one instance of EFI_PEI_LOAD_FILE_PPI.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9045 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-11 15:45:16 +00:00
mdkinney 7cf027141f Use UEFI macros for PE/COFF image types
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7441 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-05 19:34:49 +00:00
jji4 aa79b0b379 Global variables have been moved backward ahead of functions.
Only a few cases were left due to its module structure.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6816 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-03 08:52:39 +00:00
qhuang8 0d5163977b Use #include "XXX.h" for module internal header files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6333 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-31 04:35:02 +00:00
jji4 fe1e36e550 Patch to remove STATIC modifier. This is on longer recommended by EFI Framework coding style. All duplicated symbols has been renamed accordingly.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6296 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-30 06:05:06 +00:00
qwang12 6c7a807a54 1) Update SetPeiServicesTablePointer's prototype add CONST modifier.
2) Move STRING_REF from MdePkg/Include/Uefi/UefiBaseType.h to IntelFramework/Include/Protocol/FrameworkHii.h.
3) Move RELOFST from MdePkg/Include/Uefi/UefiInternalFormRepresentation.h to IntelFramework/Include/Protocol/FrameworkHii.h.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6166 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-21 05:55:27 +00:00
klu2 d976bf31d4 Fix ECC issue.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6142 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-20 13:33:43 +00:00
qwang12 284c8400e8 Base on PI spec, GetPeiServicesTablePointer is updated to return CONST EFI_PEI_SERVICES**. This is a incompatible changes. All file that reference this must be updated.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6127 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-17 08:42:33 +00:00
vanjeff ed66e1bc0d clean up the un-suitable ';' location when declaring the functions.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5820 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-04 09:37:28 +00:00
lgao4 a9bfd8029d Roll back PeiImageRead to original implementation, this function will be shadowed, so it can't be replaced by CopyMem Api.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5622 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-08 06:11:33 +00:00
lgao4 ed299e3c41 Correct some comments to add the detailed information.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5620 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-08 03:33:16 +00:00
klu2 d73d93c31e Synchronize the comments for PeiService.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5619 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-08 03:22:23 +00:00
klu2 1527399381 Correct comments.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5617 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-08 02:17:45 +00:00
mdkinney 911361242b Increase size of function addresses printed in DEBUG messages from 10 to 11 characters
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5602 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-01 22:41:20 +00:00
klu2 b1f6a7c636 Fix function comment to follows doxygen format.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5499 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-16 09:40:06 +00:00
klu2 615c6dd0d4 Modify all file header to follow doxygen format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4917 6f19259b-4bc3-4df7-8a09-765794883524
2008-03-19 09:01:03 +00:00
lgao4 288f9b3824 Enable PeiCore to dispatch the encapsulated fv images with depex expression. This feature can process the different fv images in the different boot path, which is useful for boot performance and image size.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4366 6f19259b-4bc3-4df7-8a09-765794883524
2007-12-06 09:52:27 +00:00
qwang12 3076397e4b Add a feature flag to allow platform developer to decide if TE or PE32 section should be searched in PEI dispatcher.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4298 6f19259b-4bc3-4df7-8a09-765794883524
2007-11-15 09:00:14 +00:00
lgao4 a85e7bfcd8 Print entry point address by using 0x%10p for the above 4G address.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4256 6f19259b-4bc3-4df7-8a09-765794883524
2007-11-01 02:29:44 +00:00
lgao4 e98cd821eb Print real entry point for IPF image.
Print DxeCore Entry point and image address.
Set FileHandle = NULL when not found FFS file in PeiService PeiFfsFindNextFile. 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4254 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-31 11:46:42 +00:00
lgao4 9626a87e43 Add one judge whether TeImage or PeImage has reloc section when relocate TeImage or PeImage into memory.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4224 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-26 09:28:29 +00:00
lgao4 4e844595f2 Fix alignment requirement when Load IPF TeImage into memory.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4197 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-22 10:41:03 +00:00
klu2 19ea58a1fd Fix the cast issue
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3972 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-28 10:11:36 +00:00
lgao4 c58cf83da2 Remove PeCoffLoader library class and its instances.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3967 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-28 08:48:41 +00:00
lgao4 3d7b0992fc 1. Replace PeCoffLoader library by PeCoff lib for PeiCore, DxeIpl and DxeMain.
2. Add three PeCoff library instances for NT32 PeImage load.
3. Update PeCoffGetEntryPointLib to support TeImage.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3965 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-28 08:14:30 +00:00
klu2 b0d803fe3e Merge branch of PI tree to main trunk
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3918 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-24 11:38:43 +00:00
AJFISH 859b72fa7e Removed CommonHeader.h from MdePkg & MdeModulePkg
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3180 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-10 16:13:56 +00:00
klu2 192f6d4c29 Add PeiCore module for enabling NT32Pkg, please attention this PeiCore does follows PI specification except some FV definitions.
Also the old definition of MdeModulePkg/Include/Ppi/LoadFile.h and EFI_PEI_STARTUP_DESCRIPTOR in MdePkg/Include/PiPei.h will be removed when enabling PI.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3029 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-04 07:51:48 +00:00