Commit Graph

57 Commits

Author SHA1 Message Date
pgao2 9a43bc39a9 Avoid DxeCore to reclaim PEI stack as IDT may be on it (like 32-bit OVMF).
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10825 6f19259b-4bc3-4df7-8a09-765794883524
2010-08-26 08:26:14 +00:00
andrewfish 635021c594 Fix 64-bit bug in DxeIpl. You can't cast an & UINT64 to a UINT32 *, as the upper 32-bits do not get updated. In my case there was data on the stack for the upper 32-bits and it caused the size to be greater than 4GB.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10659 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-18 17:56:06 +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
jchen20 77215d10c0 update DxeIpl to use EFI_S3_RESUME2_PPI instead of EFI_S3_RESUME_PPI
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10138 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-01 07:11:28 +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
rsun3 c11fa40c4e Fix the issue in MdeModulePkg that mismatch between PCD type and the PCD Lib API to get the PCD.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9751 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-14 09:46:12 +00:00
qhuang8 28efc722c4 1. Update DxeIpl PEIM to not use PeCoffLoaderLib to load DXE core. Instead, we choose to use EFI_PEI_LOAD_FILE_PPI to load DxeCore. This implementation can help to save ~3KB size for PEI phase.
2. Update DxeIpl PEIM to not use S3Lib and RecoveryLib since the dependent PPIs have been moved from IntelFrameworkPkg to MdePkg. This will help to reduce the library instance selection in platform DSC files. 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9046 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-11 15:49:15 +00:00
lgao4 12b3e61ee8 Add ASSERT when EFI decompress need to be parsed but it is not supported.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8191 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-28 01:37:19 +00:00
jljusten 873b7997ef Add PcdDxeIplSupportUefiDecompress usage into DxeIpl to save space
if UEFI decompression is not needed to find the DXE Core.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8190 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-27 18:26:15 +00:00
jljusten 6d3ea23f11 Fix various 'EFIAPI' inconsistencies found while building MdeModulePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8062 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-10 20:58:18 +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
mdkinney 4e2dd553a6 Simplify call to FUNCTION_ENTRY_POINT() based on updates to that macro
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6884 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-05 23:26:01 +00:00
xli24 84828cd260 Fix the build break caused by update of FUNCTION_ENTRY_POINT macro.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6869 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-05 08:35:38 +00:00
lgao4 a55caa5335 Update PEIM entry point to follow PEIM entry point.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6755 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-27 05:24:29 +00:00
xli24 310bc7635c Add necessary CONST modifier.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6751 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-27 05:01:58 +00:00
mdkinney 4bf952d181 Images loaded by the DXE IPL should allocate memory of type EfiBootServicesCode, not EfiBootServicesData
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6283 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-29 03:28:03 +00:00
xli24 1f3a753ee6 Update prototype of DxeLoadCore().
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5819 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-04 09:17:17 +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
qhuang8 b39ece655b Fix the ICC waring for unreachable code.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5526 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-19 02:07:48 +00:00
qhuang8 b6b98e9133 Simplify the code to use the EFI_FV_FILE_INFO structure of DxeCore to save the extra GUID copy.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5525 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-19 01:38:40 +00:00
qhuang8 9b937a73b0 Code scrub DxeIpl to add back the CONST modifier and solve a typecast warning.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5516 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-18 02:47:57 +00:00
qhuang8 9c8eefab05 Temporarily remove the immature "CONST" modifier.
Use FUNCTION_ENTRY_POINT macro to print the entry point of DXE core.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5505 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-16 13:43:26 +00:00
qhuang8 b98da1b1f9 Code Scrub DxeIpl module.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5502 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-16 13:17:50 +00:00
mdkinney 1ad76c3466 Remove ASSERT() if ReadOnlyVariable2 PPI is not present. Instead, skip variable read if the PPI is not present.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5312 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-29 23:09:04 +00:00
qhuang8 f45af90b01 Update to fix minor coding style issues.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5257 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-21 04:03:40 +00:00
qhuang8 708919bef7 Minor coding style adjustment for DxeIpl.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5197 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-13 09:09:41 +00:00
qhuang8 91d92e2564 Add doxygen style comments for functions in DxeIpl.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5174 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-07 06:58:06 +00:00
qhuang8 96226baa28 Update all files in DxeIpl Peim to follow doxygen style header.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4998 6f19259b-4bc3-4df7-8a09-765794883524
2008-04-08 03:01:25 +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
mdkinney b74350e956 1) Improve the EFI Memory Map stability to improve ACPI S4 support
2) Update DXE IPL to always publish the MemoryTypeInformation HOB



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4327 6f19259b-4bc3-4df7-8a09-765794883524
2007-11-27 02:47:37 +00:00
qhuang8 30c8f8616d PI spec will be updated to make it clear that this HOB should describe the stack range before going to DXE.
Therefore, we should update stack Hob in DxeLoad to reflect real stack

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4290 6f19259b-4bc3-4df7-8a09-765794883524
2007-11-08 03:57:04 +00:00
lgao4 6b978d166b To find DxeCore by PE32 section is enough, DxeCore can't be wrapped TE section.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4274 6f19259b-4bc3-4df7-8a09-765794883524
2007-11-06 10:08:57 +00:00
lgao4 a85e7bfcd8 Print entry point address by using 0x%10p for the above 4G address.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4256 6f19259b-4bc3-4df7-8a09-765794883524
2007-11-01 02:29:44 +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 fb8749d0af ASSERT_EFI_ERROR (FALSE) should be ASSERT (FALSE)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4207 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-24 11:22:34 +00:00
lgao4 4e844595f2 Fix alignment requirement when Load IPF TeImage into memory.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4197 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-22 10:41:03 +00:00
klu2 0a7d0741b6 The BaseAddress and Length should be align PAGE according to PI specification for EFI_MEMORY_ALLOCATION_HOB
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4162 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-18 06:09:03 +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
lgao4 18fd8d651d 1. Add ExtractGuidedSectionLib library to replace customdecompress library.
2. Add PeiDxeExtractGuidedSectionLib library instance and one PCD PcdMaximumGuidedExtractHandler in MdePkg.
3. Update DxeIpl and DxeMain to consume new library.
4. Update BaseUefiTianoCustomDecompressLib to register TianoDecomress extractguidedsection handler.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3980 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-29 08:04:29 +00:00
lgao4 3d7b0992fc 1. Replace PeCoffLoader library by PeCoff lib for PeiCore, DxeIpl and DxeMain.
2. Add three PeCoff library instances for NT32 PeImage load.
3. Update PeCoffGetEntryPointLib to support TeImage.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3965 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-28 08:14:30 +00:00
klu2 64253026df Use PeiPiLib's PeiPiLibBuildPiFvInfoPpi interface instead of installing EFI_PEI_FIRMWARE_VOLUME_INFO_PPI by self.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3964 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-28 08:08:32 +00:00
klu2 5516d05a59 Fix wrong judgement for gInMemory
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3946 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-27 07:23:42 +00:00
klu2 e8da1266b9 Change the function name.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3933 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-27 03:20:28 +00:00
klu2 4fb31c2c58 1) Add library classes of S3Lib and RecoveryLib in MdeModulePkg
2) Add NULL instance for above library classes in MdeModulePkg
3) Add Framework implement library instance for above two library classes in IntelFrameworkModulePkg.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3930 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-26 09:35:36 +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
klu2 1c9d209fc4 Add missing definition EFI_PEIM_ENTRY_POINT to IntelFrameworkPkg and rename original to EFI_PEIM_ENTRY_POINT2 to follow PI definition.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3629 6f19259b-4bc3-4df7-8a09-765794883524
2007-08-13 17:47:57 +00:00
qwang12 d156c2a8a2 Change the behavior of DxeIplLoadFile to load EFI_SECTION_TE first. If failed, LOAD EFI_SECTION_PE32. For our implementation, some PEIM who require to shadow itself is in TE format.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3618 6f19259b-4bc3-4df7-8a09-765794883524
2007-08-13 03:10:28 +00:00