Commit Graph

157 Commits

Author SHA1 Message Date
klu2 dc6f9b3542 Move the Fv updating of PeiCore's internal structure PrivateData out of the implementation of build-in Ffs2's EFI_PEI_FIRMWARE_VOLUME_PPI. Because this PPI maybe provided by other PEIM/Sec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9510 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-03 05:41:05 +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 3e4c5b49e4 Add checking for VolumeHandle, if VolumeHandle is NULL, return EFI_INVALID_PARAMETER
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9482 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-25 06:26:03 +00:00
xli24 5a9403b8f3 Following 3 updates are for spec update published in PI 1.2.
1. Rename EFI_PEI_NEXT_VARIABLE_NAME2 to EFI_PEI_GET_NEXT_VARIABLE_NAME2, as PI 1.2 specifies.
2. Add return status description for PEI Service FfsGetVolumeInfo.
3. Update parameter description for EFI_PEI_READ_ONLY_VARIABLE2_PPI.NextVariableName().

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9438 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-17 15:00:28 +00:00
klu2 1b620adba6 Remove a typo
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9429 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-16 04:53:48 +00:00
klu2 ca577976b4 Initialize the FileHandle to NULL, before search FV image file in discoveried FV
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9428 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-16 04:52:29 +00:00
klu2 2f016ba866 To make backward compatiblity, if can not find corresponding the handle of FV then treat FV as build-in FFS2 format and memory mapped FV that FV handle is pointed to the address of first byte of FV.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9409 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-11 05:51:45 +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 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
jchen20 c2a19e9235 For now PEI Core LoadImage() service to always call LoadAndRelocatePeCoffImage() even for XIP PEIMs.However the AllocatePage invoked in S3 path will make system assert. The patch is to fix it.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9368 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-26 06:54:55 +00:00
jljusten 6e6971f0e2 PEI Core: Remove unused variable in PeiLoadImageLoadImage function.
The ICC compiler generated a warning due to this unused variable.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9334 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-08 21:35:03 +00:00
mdkinney 43ada17c28 Update PEI Core LoadImage() service to always call LoadAndRelocatePeCoffImage() even for XIP PEIMs. This will guarantee that the PE/COFF Extra Action Lib will be called for all PE/COFF images, even XIP PEIMs.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9327 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-01 23:49:36 +00:00
lgao4 db0b7ad5f4 Make ASSERT statement more meaningful.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9276 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-17 01:57:24 +00:00
lgao4 919df8e6d2 Enhance PeiCore and DxeCore check whether the image machine type is supported when start image.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9266 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-16 02:37:23 +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
qhuang8 8c519a565d 1. Update IA32 PeiCore implementation to support load x64 image for EFI_PEI_LOAD_FILE_PPI.
2. Simplify the implementation of PeiLoadImage() in PeiCore to skip the function call of PeiLoadImageLoadImage() because PeiCore itself produce one instance of EFI_PEI_LOAD_FILE_PPI.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9045 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-11 15:45:16 +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
klu2 3152f167db PeiInstallPeiMemory should only be called one time.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7867 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-12 07:43:02 +00:00
qhuang8 98a601b177 Add comments and refine code to avoid addition overflow.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7863 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-11 13:59:22 +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
qhuang8 6203199177 Fix a bug that Pages*EFI_PAGES_SIZE might be a negative number.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7854 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-10 14:34:42 +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
jji4 2fead09fae Source level security checked
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7518 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-13 05:16:31 +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
jljusten 4ad9d87d7a * MdeModulePkg/Core/Pei/Dependency/Dependency.h
Decrease MAX_GRAMMAR_SIZE from 256 to 64.

In Dependency.c => PeimDispatchReadiness, a local variable 'EvalStack'
makes an array of EVAL_STACK_ENTRY structures to store a stack for
processing the dependency expression.

Due to alignment considerations, sizeof (EVAL_STACK_ENTRY) is 16 bytes 
on 64 bit architectures.  This means the size of the EvalStack local
variable in PeimDispatchReadiness grows to 4kb.

In the PEI phase, the stack area may be very small, and therefore 4kb is 
much to large.  Reducing MAX_GRAMMAR_SIZE to 64 will lower the size
of EvalStack to 1kb.

While reducing this to 1kb solves an issue seen with GCC on X64, it is
still a large usage of stack for the PEI phase, and future improvements
may still need to be made.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7514 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-12 17:15:08 +00:00
lgao4 276a49b699 Clean up FaultTolerantWriteDxe to remove the duplicated definition.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7471 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-06 09:03:12 +00:00
mdkinney 7cf027141f Use UEFI macros for PE/COFF image types
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7441 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-05 19:34:49 +00:00
eric_tian f34aec3bc8 coding style
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7311 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-20 03:01:41 +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 f3f2e05db8 Clean up to update the reference of the these macros:
EFI_SIGNATURE_16 -> SIGNATURE_16
  EFI_SIGNATURE_32 -> SIGNATURE_32
  EFI_SIGNATURE_64 -> SIGNATURE_64
  EFI_FIELD_OFFSET -> OFFSET_OF
  EFI_MAX_BIT      -> MAX_BIT
  EFI_MAX_ADDRESS  -> MAX_ADDRESS
These macros are not defined in UEFI spec. It makes more sense to use the equivalent macros in Base.h to avoid alias.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7056 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-16 15:34:21 +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
jji4 aa79b0b379 Global variables have been moved backward ahead of functions.
Only a few cases were left due to its module structure.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6816 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-03 08:52:39 +00:00
qwang12 b10a05d6c3 ECC clanup: Update the doxygen comment.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6641 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-20 02:02:16 +00:00
lgao4 111e48f32a Update comments for PeiCore
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6552 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-17 02:41:18 +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
mdkinney 008d4018f6 Measure time spent in SEC
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6291 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-30 04:02:44 +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
eric_tian 0308e20dc6 1. build.py's changes : include XXXEntryPointLib.h into the corresponding autogen.c files of various modules to avoid the inconsistence between the interface definition of library class and the implementation of autogen.c
2. code base changes : modify some interface definitions to follow the lastest Mde Library Spec.
3. PeiCore changes : remove the return value of PeiCore() which is meaningless as PeiCore will never reach the end of procedure.replace it with VOID.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6271 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-28 09:07:50 +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 0e549d5be5 Make use of correct format String:
1) UINT64 should use %lx
2) POINTER type should use %p
3) EFI_STATUS should use %r


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6253 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-27 10:13:00 +00:00