Commit Graph

197 Commits

Author SHA1 Message Date
andrewfish 1c8029e3aa Update the previous fix to only shadow the function for supported processor architectrues. The old way required non supported processor architectures to opt out.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10637 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-07 23:27:08 +00:00
andrewfish 27172c0f36 Fix issue with ARM port. Image.c shadow code is not ANSI C and crashes on ARM. So I did the same thing that is done on Itanium and skipped the shadow for ARM architecture in all cases.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10636 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-07 23:10:14 +00:00
mdkinney 6b22483ffb 1) Call ProcessNotifyList() to process all Dispatch Notifications after the Memory Discovered PPI is installed.
2) Add ProcessLibraryConstructorList() call when OldCoreData != NULL and OldCoreData->ShadowedPeiCore == NULL.
3) Make sure no lib functions are used prior to the ProcessLibraryConstructorList() call.
4) Clean up comments



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10611 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-29 06:08:14 +00:00
mdkinney ef05e06350 1) Fix IPF ICC 11.1 issue when /Ox is used related to the use of local variables and parameter across the transition when TEMP RAM is disabled.
2) Update the logic that computes the offset of the heap and stack from TEMP RAM to Permanent RAM to handle all possible offsets values.
3) Minor cleanups to the PEI_CORE_INSTANCE structure
4) Simplify the logic that manages the TEMP RAM to PERM RAM transition and clean up the related DEBUG() messages.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10481 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-11 22:11:31 +00:00
mdkinney 4da3058929 Fix ICC 11.1 build break
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10467 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-07 23:25:20 +00:00
hhtian cd5ebaa06d Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10420 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-24 09:49:11 +00:00
jchen20 b7250b714a Fixed a bug in LMFA code
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10233 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-12 04:35:00 +00:00
jchen20 9bfb494096 The patch attached is to fix the issue that LMFA feature is failed on OVMF. The root cause is that OVMF platform reserved 128k top memory range for EMU variable range before PEI memory range re-locate to specified memory range, which is quite different from real platform. The original implementation has an assumption that AllocatePage will NOT be invoked until PEI memory range is re-located to preassigned memory range, , which is TRUE in most real platform, but FALSE on OVMF platform. So This patch is to enhanced the memory resource HOB re-organization algorithm to eliminate the assumption.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10225 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-10 02:47:05 +00:00
qhuang8 4237d40b77 Minor update comment to remove unprintable character in source file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10214 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-09 05:58:00 +00:00
jchen20 def75b5dad Fix a bug in load modules at fixed address which may potentially impact OS S3.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10175 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-04 03:16:55 +00:00
jchen20 f73b3df815 Fix a bug in LMFA which may potentially impact OS S3.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10174 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-04 03:10:41 +00:00
rsun3 60cf9cfc14 Minor bug fix and robustness check improvement.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10168 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-03 09:40:16 +00:00
klu2 ccf0f68d73 Add checking whether FvCount is overflow when new unknown FvInfoPpi is dispatched.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10146 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-01 08:59:00 +00:00
geekboy15a 3978f5d92b Fixed GCC build issue caused by converting a pointer to an integer of a larger size.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10115 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-26 19:17:16 +00:00
xli24 64ca68027b Add parameter checking for PEI service AllocatePages(), according to PI1.2 errata A.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10112 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-26 09:26:52 +00:00
jchen20 4fb720763c Fix a bug in "Load module At fixed address" to enable it on IPF platform
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10106 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-26 07:43:00 +00:00
jgong5 f505090909 Avoid shadowing PE image read function on IPF
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10057 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-24 07:00:37 +00:00
lgao4 6bfbb5f0e0 1. Correct File header to ## @file
2. Remove unnecessary .common] postfix on section.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10052 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-24 00:21:16 +00:00
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
klu2 20ead7252b Fix the issue that unknown format FV in Fvhob is installed for FvInfoPpi more than one time. The fixing is search dispatched Fv database and cached unknown Fv information for all Fv in FvHob, if Fv has been identified by PeiCore, then no need install FvInfoPpi for it again.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9984 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 05:49:48 +00:00
rsun3 4140a6635b Coding style fix and minor improvements.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9977 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 02:33:16 +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 e18fa16721 modified to pass the ICC build
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9939 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-05 08:34:15 +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
jgong5 087e13cbe2 Enable PEI core to differentiate PEIMs in performance log by passing PEIM file handles
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9927 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-04 04:31:12 +00:00
mdkinney 188e4e8444 Remove unnecessary use of FixedPcdxxx() functions and [FixedPcd] INF sections. These should only be used for PCDs that are used to pre-init global variables, pre-init global structures, or size arrays.
Do some minor clean ups to INF files
 


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9868 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-29 23:39:48 +00:00
xli24 f9876ecf8a Remove reference to PCDs of status code value. Use macros introduced in PI1.2 instead.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9833 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-27 04:00:58 +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
klu2 2e76dc7e79 Remove ASSERT() to make AllocatePool() service match PI spec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9815 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-26 04:28:30 +00:00
klu2 b4d856a6b5 Fix the issue that accessing for unaligned address break IPF
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9809 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-25 09:56:20 +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
rsun3 aa75dfeccd Fix some coding style issues in MdeModulePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9774 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-15 08:03:23 +00:00
klu2 1c738c8f97 When found the file according to given file name guid, PeiFfs2FvPpiFindFileByName() should break the searching loop and return success.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9742 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-14 05:31:07 +00:00
mdkinney f4391d63e0 Update INF file to properly declare which PCDs must be Fixed, and update PCD usage that does not require the FixedPcdGetxx() access method.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9732 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-14 01:59:30 +00:00
mdkinney 1427885873 Cleanup INF file for PEI Core
1) Remove references to CPU I/O PPI and PCI CFG2 PPI.  The PEI Core does have the PEI Services Table that caches a copy of these, but the PEI Core never produces a real version of these PPIs.  Instead, the PEI Core only has a null implementation of the APIs so we can catch PIEMs that call these services before they are properly installed.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9731 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-14 01:40:51 +00:00
klu2 8fdcc4123b check whether FvHandle is NULL for FfsGetVolumeInfo() interface.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9664 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-04 05:20:18 +00:00
klu2 8d415937c8 Add default implementation of EFI_CPU_IO_PPI and EFI_PCI_CFG2_PPI for EFI_SERVICES_TABLE.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9662 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-04 04:36:37 +00:00
xli24 dc05231352 Fix ICC compiler warning.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9612 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-25 08:05:53 +00:00
klu2 f335832963 Add fixing for supporting third-party FV in unknown format.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9601 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-25 02:28:47 +00:00
klu2 dc6f9b3542 Move the Fv updating of PeiCore's internal structure PrivateData out of the implementation of build-in Ffs2's EFI_PEI_FIRMWARE_VOLUME_PPI. Because this PPI maybe provided by other PEIM/Sec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9510 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-03 05:41:05 +00:00
klu2 7ec939170c Remove the tab characters.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9509 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-03 02:51:50 +00:00
klu2 8e0e40ed3d After PeiCore is shadowed into permanent memory, the pointers to build-in Ffs2 FvPpi should be also fixed up to be pointed to the one in permanent memory.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9508 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-03 02:48:05 +00:00
klu2 595d4b4c24 The FV size in EFI_FV_INFO has been excluded the length of FV header, so no need subtract the length of FV header again when compute the length of Apriori file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9494 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-27 02:38:32 +00:00
klu2 3e4c5b49e4 Add checking for VolumeHandle, if VolumeHandle is NULL, return EFI_INVALID_PARAMETER
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9482 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-25 06:26:03 +00:00
xli24 5a9403b8f3 Following 3 updates are for spec update published in PI 1.2.
1. Rename EFI_PEI_NEXT_VARIABLE_NAME2 to EFI_PEI_GET_NEXT_VARIABLE_NAME2, as PI 1.2 specifies.
2. Add return status description for PEI Service FfsGetVolumeInfo.
3. Update parameter description for EFI_PEI_READ_ONLY_VARIABLE2_PPI.NextVariableName().

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9438 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-17 15:00:28 +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
klu2 2f016ba866 To make backward compatiblity, if can not find corresponding the handle of FV then treat FV as build-in FFS2 format and memory mapped FV that FV handle is pointed to the address of first byte of FV.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9409 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-11 05:51:45 +00:00
klu2 3b428adef9 Enabling EFI_PEI_FIRMWARE_VOLUME_PPI introduced by PI1.2.
1, Implement EFI_PEI_FIRMWARE_VOLUME_PPI for FFS2 format as build-in supporting FV format in PeiCore.
2, Reduce the assumption of memory-mapped FV in PeiCore. PeiCore should access FV via EFI_PEI_FIRMWARE_VOLUME_PPI interface but not cast FvHandle/FileHandle to EFI_FIRMWARE_VOLUME_HEADER/EFI_FV_FILE_HEADER directly.
3, Reduce AllFv[] and AllFvCount in PEI_CORE_INSTANCE structure. Original PEI_CORE_INSTANCE use AllFv[] and Fv[] array to manage discovered FV and dispatched FV. But not need to make thing too complex. Now PEI_CORE_FV_HANDLE array of Fv[] will take responsibility to manage all FV instance and status.
4, Fix the bug use PeiDispatcher use wrong index for PeiFfsFindNextVolume(), 
5, Fix the bug in PeiFfsFindNextVolume(), if instance is not found, *VolumeHandle should be set to NULL but not VolumeHandle was set to NULL.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9407 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-11 03:27:39 +00:00