Commit Graph

266 Commits

Author SHA1 Message Date
mdkinney 7bc3788c5b If the last PEIM dispatched in Pre-Memory PEI is the last PEIM in the BFV, then no PEIMs will be dispatched in Post Memory PEI.
Reset CurrentPeimCount on the transition from Pre-Memory PEI to Post-Memory PEI


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5313 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-29 23:10:44 +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
lgao4 15762b535c Remove unused gEfiPeiSecurityPpiGuid for PeiMain and DxeIpl
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4990 6f19259b-4bc3-4df7-8a09-765794883524
2008-04-03 09:40:36 +00:00
jwang36 b761638929 Added necessary dependent packages
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4989 6f19259b-4bc3-4df7-8a09-765794883524
2008-04-03 09:20:11 +00:00
klu2 eca7dbcb9e PrivateInMem->CurrentPeimCount should not be incremented when memory is discovered, line 376 judgment has guarantee that the PEIM who discovery the memory would not be dispatched twice.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4988 6f19259b-4bc3-4df7-8a09-765794883524
2008-04-03 06:25:37 +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 173b35e469 Fix GCC building issue.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4808 6f19259b-4bc3-4df7-8a09-765794883524
2008-03-10 03:32:08 +00:00
klu2 b67be02118 Add comment for initialization value of CAR
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4806 6f19259b-4bc3-4df7-8a09-765794883524
2008-03-07 05:57:02 +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 9631746839 Correct the visit point's type, it should be UINT32 but not UINTN
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4801 6f19259b-4bc3-4df7-8a09-765794883524
2008-03-07 05:29:26 +00:00
klu2 ca784f9737 Remove commented out code.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4796 6f19259b-4bc3-4df7-8a09-765794883524
2008-03-06 08:53:18 +00:00
klu2 a7715e7327 The calculating action for CAR usage should be put before calling temporary ram support PPI, because the CAR is unvaiable after switch stack from temporary memory to permenent memory.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4795 6f19259b-4bc3-4df7-8a09-765794883524
2008-03-06 08:41:22 +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
klu2 39d262c4ce Fix bug in latest check-in of "Make sure the base address of stack base and base address of hob start is in page alignment in InstallPeiMemory() interface."
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4666 6f19259b-4bc3-4df7-8a09-765794883524
2008-02-03 07:41:10 +00:00
zliu3 3e3c809fc1 Roll back the updating of 4646 as it will cause the Richford SoftSDV boot failure
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4648 6f19259b-4bc3-4df7-8a09-765794883524
2008-01-31 11:38:47 +00:00
klu2 1eabd8e747 Make sure the base address of stack base and base address of hob start is in page alignment in InstallPeiMemory() interface.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4646 6f19259b-4bc3-4df7-8a09-765794883524
2008-01-31 08:41:14 +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
klu2 1547078bec Roll back wrong check in, peimain and dxe main still dependent on intelframeworkpkg yet.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4354 6f19259b-4bc3-4df7-8a09-765794883524
2007-12-04 03:52:59 +00:00
klu2 2678061975 Remove useful dependency package's relationship
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4353 6f19259b-4bc3-4df7-8a09-765794883524
2007-12-04 02:57:38 +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 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
qwang12 a3a15d2108 1) If PeiLoadImage fails, the section extraction PPI or Decompress PPI may not be ready, we flag that more Peims need to be dispatched.
2) Set the stack to be cacheable before the stack switch occurs so that IPF recovery path will be run from cacheble memory for code, data and stack.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4288 6f19259b-4bc3-4df7-8a09-765794883524
2007-11-08 03:50:37 +00:00
klu2 61f21f400d Should use MaxCarTop but *not* CarTop to computer the usage of stack
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4259 6f19259b-4bc3-4df7-8a09-765794883524
2007-11-01 06:19:38 +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
klu2 6797657e9a Fix the issue that CAR size is shown as negative number.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4249 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-31 09:59:18 +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
qwang12 096cdcaa4e ASSERT_EFI_ERROR (FALSE) should be ASSERT (FALSE)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4208 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-24 11:27:02 +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
qwang12 e83327a80c Fix a bug which does not run PeiCore from memory after shadowing it.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4186 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-19 11:56:20 +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 0a7d0741b6 The BaseAddress and Length should be align PAGE according to PI specification for EFI_MEMORY_ALLOCATION_HOB
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4162 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-18 06:09:03 +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
qwang12 10dde96f95 0) Change the PEI core behavior to not install FV HOB for each FV INFO PPI installed. This allows more freedom to platform developer to choose to expose which FV to PEI core or DXE core.
1) Split MdePkg/Include/Library/PiLib.h to DxePiLib.h and PeiPiLib.h. These two library classes are for DXE phase and PEI phase.
2) Update the API names in DxePiLib and PeiPiLib to be longer ones to be more meaningfull and to avoid name collisions. 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4066 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-10 02:07:47 +00:00
yshang1 67a58d0ffd Clean up Network Components to support GCC build.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4062 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-09 09:30:52 +00:00
klu2 81c7803cf4 PI Enabling: the address of PeiServices Pointer should be
1) Set to preceding of IDT table in PeiCore's entry
2) Migrate to preceding of new memory IDT table when memory is discovery

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4059 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-09 08:16:53 +00:00
vprabhal dd98e32c6b git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4014 6f19259b-4bc3-4df7-8a09-765794883524 2007-10-02 22:31:01 +00:00
vprabhal 5b12328120 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4013 6f19259b-4bc3-4df7-8a09-765794883524 2007-10-02 22:27:46 +00:00
vprabhal 33647e23ad git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4012 6f19259b-4bc3-4df7-8a09-765794883524 2007-10-02 22:25:16 +00:00
vprabhal 974a1fd139 The functions in these deleted files are not being used and also are there in the BaseLib
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4011 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-02 20:14:07 +00:00
qwang12 1053e0c513 Merge in bug fix from EDK1's PiPei Dispatcher.c
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3973 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-28 14:27:53 +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 5088e385e0 Fix a typo.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3922 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-26 03:12:37 +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
yshang1 d074a8e1a2 Update Mde/MdeModulePkg to support ICC build for IA32/X64.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3892 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-19 06:15: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
qwang12 0c2b5da80e Merge the PI enabling works from the branch
First round of PI enabling work:
1) PiPeiCis changes (CONST, EFI_PEI_FILE_HANDLE.. etc)
2) Make use of FirmwareVolume 2 protocol.
3) Verified for Nt32Pkg and real platform for S3.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3773 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-04 06:12:48 +00:00
klu2 14e8823a34 [PI compatible enabling] Add PeiRegisterForShadow interface for PEI_SERVICE
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3743 6f19259b-4bc3-4df7-8a09-765794883524
2007-08-30 08:20:57 +00:00
klu2 3a63377f2b Add some definitions which will be used for future PI enabling.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3742 6f19259b-4bc3-4df7-8a09-765794883524
2007-08-30 07:35:09 +00:00
yshang1 9833aeafa3 Change the PAL address from k7 to k1, since the k7 should save PeiServicesPoint following PI.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3642 6f19259b-4bc3-4df7-8a09-765794883524
2007-08-15 05:44:40 +00:00
klu2 1c9d209fc4 Add missing definition EFI_PEIM_ENTRY_POINT to IntelFrameworkPkg and rename original to EFI_PEIM_ENTRY_POINT2 to follow PI definition.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3629 6f19259b-4bc3-4df7-8a09-765794883524
2007-08-13 17:47:57 +00:00
klu2 28dc3c6787 1) Move the structure definitions related GUID EFI_STATUS_CODE_SPECIFIC_DATA_GUID and EFI_STATUS_CODE_DATA_TYPE_STRING_GUID from IntelFrameworkPkg\Framework/StatusCodeDataTypeId.h to IntelFrameworkPkg\Guid/StatusCodeDataTypeId.h
2) Remove IntelFrameworkPkg/Framework/StatusCodeDataTypeId.h

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3611 6f19259b-4bc3-4df7-8a09-765794883524
2007-08-10 09:49:49 +00:00
yshang1 141a0202ad Clean the unused include section.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3473 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-27 03:49:41 +00:00
yshang1 1df7a0236b Remove Ppi/LoadFile.h and Ppi/FindFv.h from MdeModulePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3394 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-20 14:05:54 +00:00
klu2 4a4f92fc5f Fixing the IPF building issue for PeiCore
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3199 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-11 16:05:47 +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 2e7a663de4 Enable Nt32 platform boot to DXE phase.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3073 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-05 09:41:22 +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