57 Commits

Author SHA1 Message Date
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
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
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
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
jji4
e67ca95c86 Source level security checked
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7517 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-13 03:57:46 +00:00
qwang12
90e128e28a Fix a bug which print new stack size and old stack size wrongly.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7285 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-15 08:50:24 +00:00
qhuang8
48557c6550 Code scrub DxeIpl, Runtime, DevicePath, FvbServicesLib, DiskIo, Partition, English, EBC.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7105 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-23 16:20:43 +00:00
jji4
7df7393feb check the usage of %d,%x,%ld,%lx and so on in debug print statement.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7080 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-18 08:48:36 +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
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
lgao4
28127cc762 Add assert check to make sure new stack size larger than old stack size.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5952 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-23 09:11:12 +00:00
klu2
4c6486b90e move ProcessFv() from dispatcher.c to FwVol.c
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5787 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-03 07:26:40 +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
lgao4
d571173e31 Fix ICC build error for the inconsistent PeiService pointer date type.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5708 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-21 14:23:20 +00:00
lgao4
2a00326e8e Add compatibility logic to handle framework fvhob and install FvInfo ppi. And remove the unused Pcd from MdeModulePkg.dec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5704 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-21 07:51:03 +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
6d2e8727b7 Re-integrate patch in r5625: "Only build FvHob for the extracted FvImage those parent Fv image has FvHob"
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5631 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-12 05:38:58 +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
d949491623 Correct more comments for PeiCore.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5627 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-11 09:28:27 +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
lgao4
b2821d6b64 Only build FvHob for the extracted FvImage those parent Fv image has FvHob.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5625 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-11 07:36:24 +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
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
klu2
b414ea4b21 TempRamSupportPpi is architectural required for IA32/x64/IPF.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5462 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-14 07:25:08 +00:00
klu2
d74eeda8a7 Remove window EOL
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5425 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-08 09:06:41 +00:00
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
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