Commit Graph

86 Commits

Author SHA1 Message Date
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
lgao4 6d9a0f280d Update comments on setting >= 8 bytes Fv Alignment.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9372 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-26 09:14:47 +00:00
lgao4 ed5ac057bf Set correctly FV format guid when install FV INFO PPI.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9254 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-10 07:20:10 +00:00
lgao4 18fcd6a70c Add check to the allocated pool.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7861 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-11 02:53:15 +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 f806dd277e Use single one PcdFrameworkCompatibilitySupport PCD to support framework HII and FvHob.
Remove patchable type Flash related PCD.
Simplify single one PcdPeiFullPcdDatabaseEnable to produce full or minimal Pei PCD services.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7678 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-25 09:04:47 +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 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
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
jji4 fe1e36e550 Patch to remove STATIC modifier. This is on longer recommended by EFI Framework coding style. All duplicated symbols has been renamed accordingly.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6296 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-30 06:05:06 +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 223c22d8ea 1. Add three sample PCD in HelloWorld application for user reference of PCD usage.
2. PeiCore will always build FvHob for the extracted FvImage once it decompresses the new FvImage. 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5930 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-19 05:05:40 +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 6a1ae84a26 When new FV is installed, VerifyFv() should be invoked to do security checking for this FV.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5785 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-03 06:25:35 +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
lgao4 ed299e3c41 Correct some comments to add the detailed information.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5620 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-08 03:33:16 +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 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
mdkinney 911361242b Increase size of function addresses printed in DEBUG messages from 10 to 11 characters
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5602 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-01 22:41:20 +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
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 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 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 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
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
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
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 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
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
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