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
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
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
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
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
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
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
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
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
eric_tian
3d4d0c34f9
updated to use the term “temporary memory” but not CAR
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8035 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-08 08:14:09 +00:00
lgao4
97b2c9b514
Update PeiCore to handle FvImage with PI FV extension header
...
Update Capsule PCDs PcdMaxSizePopulateCapsule and PcdMaxSizeNonPopulateCapsule to the flexible PCD type.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7805 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-05 05:05:57 +00:00
lgao4
276a49b699
Clean up FaultTolerantWriteDxe to remove the duplicated definition.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7471 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-06 09:03:12 +00:00
eric_tian
f34aec3bc8
coding style
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7311 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-20 03:01:41 +00:00
qhuang8
f3f2e05db8
Clean up to update the reference of the these macros:
...
EFI_SIGNATURE_16 -> SIGNATURE_16
EFI_SIGNATURE_32 -> SIGNATURE_32
EFI_SIGNATURE_64 -> SIGNATURE_64
EFI_FIELD_OFFSET -> OFFSET_OF
EFI_MAX_BIT -> MAX_BIT
EFI_MAX_ADDRESS -> MAX_ADDRESS
These macros are not defined in UEFI spec. It makes more sense to use the equivalent macros in Base.h to avoid alias.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7056 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-16 15:34:21 +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
lgao4
111e48f32a
Update comments for PeiCore
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6552 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-17 02:41:18 +00:00
qhuang8
187f1a5b3a
Rename PiLibInstallFvInfoPpi() to PeiServicesInstallFvInfoPpi() and remove the reference of PeiPiLib, it has been merged to PeiServicesLib
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6522 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-13 09:17:38 +00:00
eric_tian
0308e20dc6
1. build.py's changes : include XXXEntryPointLib.h into the corresponding autogen.c files of various modules to avoid the inconsistence between the interface definition of library class and the implementation of autogen.c
...
2. code base changes : modify some interface definitions to follow the lastest Mde Library Spec.
3. PeiCore changes : remove the return value of PeiCore() which is meaningless as PeiCore will never reach the end of procedure.replace it with VOID.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6271 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-28 09:07:50 +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
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
klu2
63b623312d
Clean up BottomOfCarHeap, TopOfCarHeap, SizeOfTemporaryMemory, SizeOfCacheAsRam, MaxTopOfCarHeap from PeiCore's private data structure. Because after PI enabling, these data value can be got from SecCore's handoff data structure.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5786 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-03 06:51:30 +00:00
qhuang8
82b8c8df07
Re-integrate patch in r5626~r5628:Enhance PeiCore dispatcher and fix a bug in the patch.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5669 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-18 08:38:00 +00:00
qhuang8
14941e689f
Temporarily rollback the change from 5625 though 5628 for more investigation.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5629 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-12 05:04:35 +00:00
klu2
1bd90a4c47
Add PeimDispatcherReenter to fix bug of PeiDispatch can not be quit correctly.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5628 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-12 03:27:57 +00:00
klu2
1762b989dc
Enhance PeiCore's dispatcher, move PeimDispatchOnThisPass and PeimNeedingDispatch to private data to hold status for PeiCore's second reenter.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5626 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-11 08:13:21 +00:00
klu2
731bd38eac
Add more comments for PeiCore.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5618 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-08 03:05:03 +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
klu2
1cc76977d8
Correct comments.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5614 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-08 01:35:46 +00:00
klu2
40f26b8f44
Code scrub for PeiCore module.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5558 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-23 09:15:14 +00:00
qhuang8
5c5a0601e8
Fix a bug that PeiCore might fail to fix up Ppi pointer in CAR.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5527 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-19 15:56:49 +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
lgao4
eaf539d00f
Change MAX_PPI_DESCRIPTORS to FixedPcd PcdPeiCoreMaxPpiSupported, the default value is 64. Maybe other platform requires more than 64 Ppi and set this Pcd value.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5061 6f19259b-4bc3-4df7-8a09-765794883524
2008-04-14 05:39:13 +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
klu2
94578ce61a
For Itanium platform, the switch CAR action has been moved to SecCore according to PI specification, so I clean up the PeiCore to remove stack related code.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4803 6f19259b-4bc3-4df7-8a09-765794883524
2008-03-07 05:42:04 +00:00
klu2
58dcdada56
Merge Temporary Ram support patch.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4782 6f19259b-4bc3-4df7-8a09-765794883524
2008-02-29 18:24:43 +00:00
vanjeff
50cb16d9ee
Fixed the bug that the PPI descriptor number defined in PeiCore.h is not enough to hold all the PPI and PPI notifies.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4435 6f19259b-4bc3-4df7-8a09-765794883524
2007-12-26 02:43:28 +00:00
klu2
797a9d6791
MdeModule cleanup for PI:
...
1) PeiMain:
- Use PCD for bundle of status code which definitions are put into MdePkg.dec file.
2) DxeMain:
- Use PCD for bundle of status code which definitions are put into MdePkg.dec file.
- Do not produce SectionExtraction protocol which is belong to IntelFramework specification.
- Update many macro for PI specifications.
3) DxeIpl
- Use PCD for bundle of status code which definitions are put into MdePkg.dec file.
4) Add SectionExtractionDxe module (IntelFrameworkModulePkg)
- This module will produce EFI_SECTION_EXTRACTION_PROTOCOL defined in framework specification. If a old platform want to use this protocol, then this platform need dispatch this DXE driver.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4376 6f19259b-4bc3-4df7-8a09-765794883524
2007-12-10 03:47:56 +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
9a6b83a4ad
remove building of EFI_SEC_PLATFORM_INFORMATION_PPI GUIDed HOB from PEI core. Platform module is a better place for size and performance consideration.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4344 6f19259b-4bc3-4df7-8a09-765794883524
2007-11-29 11:01:47 +00:00
qwang12
7e181f2f37
1) Make PEI PI File system service to skip PAD file
...
2) Remove some unused code
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4302 6f19259b-4bc3-4df7-8a09-765794883524
2007-11-19 08:02:39 +00:00
qwang12
02422d17f7
Fix a bug:
...
PI spec Vol 1, 7.3.1 specifies that this same information reported by EFI_SEC_PLATFORM_INFORMATION_PPI
will be placed in a GUIDed HOB with the PPI GUID as the HOB GUID for HOB consumer phase.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4166 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-18 10:01:06 +00:00
klu2
1d9cf613bc
Remove comments for removed parameter.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4123 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-16 06:03:42 +00:00
qwang12
177aabe660
1) add gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxFvSupported and gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeimPerFv to replace the MACRO definitions.
...
2) Fix a bug in Pei dispatcher to suppoprt PEI Apriori file
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4116 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-15 11:15:39 +00:00
mdkinney
f36d8a69a5
Increase max FVs from 4 to 6.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4083 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-10 23:41:37 +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
klu2
b98c2ab738
Add InvokePeiCore function to invoke the PeiCore in new stack.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3844 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-14 07:01:26 +00:00
klu2
5aae0aa7d8
PI Enable:
...
1) The entry point of PeiCore has been changed to EFI_PEI_CORE_ENTRY_POINT defined in PI.
2) Nt32, Tiger and lakeport platform's SecCore has been updated.
3) Autogen tools also has been updated.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3804 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-12 09:52:37 +00:00