Commit Graph

61 Commits

Author SHA1 Message Date
Liming Gao 9812707186 MdeModulePkg: Update PeiCore consumes PCD to get the init value in temp stack
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Star Zeng <star.zeng@intel.com>
2017-11-03 17:45:47 +08:00
Star Zeng 483e2cddfa MdeModulePkg PeiCore: Install SEC HOB data
If the EFI_SEC_HOB_DATA_PPI is in the list of PPIs passed to the PEI
entry point, the PEI Foundation will call the GetHobs() member
function and install all HOBs returned into the HOB list. It does
this after installing all PPIs passed from SEC into the PPI database
and before dispatching any PEIMs.

Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2017-08-04 08:56:05 +08:00
Liming Gao 3d44658ca8 MdeModulePkg PeiCore: Add PCD to specify PEIM Shadow
v2 changelog:
Check CurrentPeimHandle to check the matched PeimHandle.
Add check point to ShadowPeiCore based on PCD.

v1 changelog:
PeiCore LoadImage always shadow itself and PEIM on normal boot after
the physical memory is installed. On the emulator platform, the shadow
may be not necessary. To support such usage, new PCD PcdShadowPeimOnBoot
is introduced to specify whether loads PEIM in memory by default.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18125 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-03 03:18:37 +00:00
Star Zeng 672473eaea MdeModulePkg: Add Reset2 ppi support in PEI CORE.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17389 6f19259b-4bc3-4df7-8a09-765794883524
2015-05-11 02:06:51 +00:00
Zeng, Star 6036e94dc9 MdeModulePkg: INF/DEC file updates to EDK II packages
1. Usage information in INF file comment blocks are either incomplete or incorrect.  
This includes usage information for Protocols/PPIs/GUIDs/PCDs/HOBs/Events/BootModes.  
The syntax for usage information in comment blocks is defined in the EDK II Module Information (INF) Specification

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Zeng, Star <star.zeng@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15962 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-28 06:34:06 +00:00
Zeng, Star fe7819402c MdeModulePkg/IntelFrameworkModulePkg: Update PeiCore, SmbiosDxe and IsaSerialDxe to use PcdGetxx() instead of FixedPcdGetxx().
It changes some of the PCD declarations to add more supported PCD storage types and
the change in the PCD access methods is associated with that.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Zeng, Star <star.zeng@intel.com>
Reviewed-by: Kinney, Michael D <michael.d.kinney@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15798 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-14 05:55:08 +00:00
Liming Gao 0f9ebb3216 Add support for PI1.2.1 TempRam Done PPI.
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14847 6f19259b-4bc3-4df7-8a09-765794883524
2013-11-15 02:05:11 +00:00
Star Zeng c79351059e 1. Enable use-cases in PEI using SecurityPPI co-equal to the use-cases in DXE using the Security Arch Protocol
2. Add support to find section by instance rather than only 0 at PEI phase.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14763 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-11 03:54:13 +00:00
Liming Gao 5d7f312635 Update PeiCore to support load PEIM into memory on S3 boot path.
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14757 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-09 05:39:51 +00:00
erictian a326830d70 MdeModulePkg: eliminate all implicit library dependencies for all modules in MdeModulePkg on PcdLib
Signed-off-by: Tian Feng <feng.tian@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13909 6f19259b-4bc3-4df7-8a09-765794883524
2012-11-01 06:59:25 +00:00
lzeng14 890e54170e Add core FFS3 support, PeiCore and DxeIpl.
Signed-off-by: lzeng14
Reviewed-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12583 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-27 09:04:50 +00:00
lgao4 2b2f353371 Remove the unused TimerLib from PeiCore.
Signed-off-by: lgao4
Reviewed-by: rsun3


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11832 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-16 06:44:21 +00:00
hhtian cd5ebaa06d Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10420 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-24 09:49:11 +00:00
lgao4 6bfbb5f0e0 1. Correct File header to ## @file
2. Remove unnecessary .common] postfix on section.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10052 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-24 00:21:16 +00:00
jchen20 852081fc68 revise the debug message to add 0x in front of the HEX number for consistency
replace FixedPcdGetXX with PcdGetXX to access PcdLoadModuleAtFixAddressEnable

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9964 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-10 06:10:53 +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
xli24 f9876ecf8a Remove reference to PCDs of status code value. Use macros introduced in PI1.2 instead.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9833 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-27 04:00:58 +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
mdkinney 1427885873 Cleanup INF file for PEI Core
1) Remove references to CPU I/O PPI and PCI CFG2 PPI.  The PEI Core does have the PEI Services Table that caches a copy of these, but the PEI Core never produces a real version of these PPIs.  Instead, the PEI Core only has a null implementation of the APIs so we can catch PIEMs that call these services before they are properly installed.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9731 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-14 01:40:51 +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 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 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 de5b0df93f Correct minor comments in meta data file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7697 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-25 15:35:58 +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
gikidy 055f28d0fb Meta-data reviewed.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7523 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-13 08:38:34 +00:00
gikidy cfc8865f17 Remove some useless EDK_RELEASE_VERSION, EFI_SPECIFICATION_VERSION ,and review VALID_ARCHITECTURES in inf files with DSC file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6818 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-03 09:08:05 +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 e34ecc8a1e Remove unnessary UEFI_SPECIFICATION_VERSION and PI_SPECIFICATION_VERSION in INF file
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6281 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-29 03:17:21 +00:00
xli24 405b567555 Refine file header for INF files of DXE and PEI core modules.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6276 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-28 13:16:21 +00:00
vanjeff 078bee4ebf clean up EBC in inf files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6267 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-28 07:17:17 +00:00
qwang12 284c8400e8 Base on PI spec, GetPeiServicesTablePointer is updated to return CONST EFI_PEI_SERVICES**. This is a incompatible changes. All file that reference this must be updated.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6127 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-17 08:42:33 +00:00
klu2 e97835ba3f Change PeiMain/DxeMain's base name to PeiCore/DxeCore.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6073 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-05 13:32:39 +00:00
klu2 add1f24766 Remove DXE CIS word
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6069 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-29 07:56:05 +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
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 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 ba57315e64 Change first char in filename to uppercase
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5509 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-17 01:29:38 +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 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
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 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 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