Commit Graph

75 Commits

Author SHA1 Message Date
klu2 66c69dea0d PeiCore should fixup heap/stack pointer according to heap's/stack's base address separately.
After this check-in, PeiCore will do not make any assumption of heap/stack layout in CAR.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5421 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-08 07:49:10 +00:00
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
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 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 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
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
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 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
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
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 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
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
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