mdkinney
e42e94041f
Add PI SMM IPL and PI SMM Core
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10094 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-25 23:41:19 +00:00
klu2
8976547970
Clean up EFI_SPECIFICATION_VERSION and PI_SPECIFICATION_VERSION.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10072 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-25 16:31:22 +00:00
vanjeff
b6d539c869
roll back changing on save and restore interrupt status, it needn't doing.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10060 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-24 08:30:53 +00:00
rsun3
12fbc893e4
Minor comment fix.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10058 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-24 08:09:39 +00:00
jgong5
f505090909
Avoid shadowing PE image read function on IPF
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10057 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-24 07:00:37 +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
mdkinney
cd539d485d
Fix comment
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10048 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-23 17:59:48 +00:00
jgong5
25973fc3ea
Enhance memory copy logic for PEI core image read. The change uses CopyMem() library function for unshadowed version and uses inline implementation for a shadowed version. This reduces PE image reading time to 1/5 - 1/10 when code cache is disabled. The change also fixed a memory leak when allocating shadow space for image read function.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10038 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-22 05:48:06 +00:00
andrewfish
3351d21fe1
Cleanup HOB DEBUG prints
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10020 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-17 01:12:55 +00:00
mdkinney
74e44290e2
1) Fix build issues
...
2) Change ARCHITECTURAL_PROTOCOL_ENTRY name to EFI_CORE_PROTOCOL_NOTIFY_ENTRY so it can be used for both Architectural Protocols and optional protocols that the DXE Core may use. Also remove BOOLEAN ArchitecturalProtocol field, so it is back to its original form.
3) Put mArchProtocols[] back to its original form, but add a NULL entry at the end so the end of the table can be easily detected in loops
4) Add mOptionalProtocols[] that at this time only has the SMM Base 2 Protocol in it.
5) Add NULL entry to mMissingProtocols[] so the end of the table can be easily detected.
6) Update all loops on mArchProtocols[], mOptionalProtocols, and mMissingProtocols[] to remove Index(s) and simply looks for a NULL ProtocolGuid to find the end of the table.
7) Update protocol notify events to pass the associated EFI_CORE_PROTOCOL_NOTIFY_ENTRY * as the Context parameter. This simplifies GenericProtocolNotify() by completely eliminating the search loop.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10016 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-16 20:59:57 +00:00
andrewfish
8e90dd6b54
Clean up HOB debug prints
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10012 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-16 03:05:59 +00:00
andrewfish
b33339fa64
Fix crash in UnixPkg and BeagleBoard caused by gSmmBase2 getting added to the now incorectly named mARchProtocols list. CoreDispatchMissingArchProtocols() did to check to see if the element was an AP (not all are now). Also Missing entry was not bounds checked, it was assumed to be <= Index witch is no longer true. So in both UnixPkg and BeagleBoard the loop was blowing past the end and garbage data caused page faults. Also add m prefix to global.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10011 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-16 02:52:15 +00:00
mdkinney
0803854bc1
Update DXE Core to be compatible with PI 1.2 SMM Drivers.
...
PI 1.2 SMM Drivers are allowed to call UEFI/DXE services and Protocols from the entry point of the PI 1.2 SMM Driver. These UEFI/DXE services and Protocols may directly or indirectly calls the UEFI Boot Services RaiseTPL() and RestoreTPL(). These UEFI Boot Services use the CPU Architectural Protocol to enable interrupts if the TPL level is below TPL_HIGH_LEVEL and enable interrupts of the TPL is at TPL_HIGH_LEVEL. Interrupts should be masked while executing SMM drivers, so if a direct or indirect call to the UEFI Boot Service RestoreTPL() would enable interrupts, then an interrupt could be incorrectly delivered in SMM context.
The solution is for the DXE Core to register for the PI 1.2 SMM Base2 Protocol. If that protocol is present in the platform, then the DXE Core can use the SMM Base 2 Protocol's InSmm() function to determine if the platform is currently executing in SMM content. If the current context is in SMM, then do not allow any requests to be forwarded to the CPU Architecture Protocol to enable interrupts.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9997 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-13 01:57:22 +00:00
klu2
20ead7252b
Fix the issue that unknown format FV in Fvhob is installed for FvInfoPpi more than one time. The fixing is search dispatched Fv database and cached unknown Fv information for all Fv in FvHob, if Fv has been identified by PeiCore, then no need install FvInfoPpi for it again.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9984 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 05:49:48 +00:00
rsun3
4140a6635b
Coding style fix and minor improvements.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9977 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 02:33:16 +00:00
vanjeff
0cf27ce078
a)Save and disable CPU interrupt before calling AsmWriteIdtr().
...
b)Restore CPU interrupt status after callng AsmWriteIdtr().
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9965 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-10 06:48:34 +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
99ff63cf03
change the GetPcd64 to FixedGetPcd64 to pass ECC
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9957 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-09 09:52:46 +00:00
erictian
853adefc0c
format uniform: move tab to blank.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9949 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-08 05:54:54 +00:00
qhuang8
58125fb3f9
Remove DEBUG_LOAD for InstallProtocolInterface() to align with PPI installation debug message in PeiCore.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9945 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-08 03:14:15 +00:00
jchen20
ebfb7bb55b
modified to pass the VS2003 build
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9944 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-08 03:13:09 +00:00
jchen20
e18fa16721
modified to pass the ICC build
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9939 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-05 08:34:15 +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
jgong5
087e13cbe2
Enable PEI core to differentiate PEIMs in performance log by passing PEIM file handles
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9927 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-04 04:31:12 +00:00
mdkinney
188e4e8444
Remove unnecessary use of FixedPcdxxx() functions and [FixedPcd] INF sections. These should only be used for PCDs that are used to pre-init global variables, pre-init global structures, or size arrays.
...
Do some minor clean ups to INF files
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9868 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-29 23:39:48 +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
lgao4
414bdfb663
Print the warning information for the image without relocation only when load it into memory.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9822 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-26 06:37:15 +00:00
klu2
2e76dc7e79
Remove ASSERT() to make AllocatePool() service match PI spec.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9815 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-26 04:28:30 +00:00
klu2
b4d856a6b5
Fix the issue that accessing for unaligned address break IPF
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9809 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-25 09:56:20 +00:00
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
rsun3
1ccdbf2a3e
Improve coding style in MdeModulePkg.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9793 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-19 06:42:21 +00:00
lgao4
bfd4a3f1b4
Update PeiLoadFilePpi produced by PeiCore to load only images with relocation into memory.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9775 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-15 09:48:37 +00:00
rsun3
aa75dfeccd
Fix some coding style issues in MdeModulePkg.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9774 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-15 08:03:23 +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
klu2
1c738c8f97
When found the file according to given file name guid, PeiFfs2FvPpiFindFileByName() should break the searching loop and return success.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9742 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-14 05:31:07 +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
8fdcc4123b
check whether FvHandle is NULL for FfsGetVolumeInfo() interface.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9664 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-04 05:20:18 +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
xli24
dc05231352
Fix ICC compiler warning.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9612 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-25 08:05:53 +00:00
klu2
f335832963
Add fixing for supporting third-party FV in unknown format.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9601 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-25 02:28:47 +00:00
davidhuang
202c32790f
PI 1.1 SMM Feature Check-in
...
1. Update DxeMain to support COMBINED_DXE_SMM driver dispatch.
2. Add ReportStatusCodeRouter SMM part.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9591 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-23 06:51:36 +00:00
lgao4
6320fa42c9
Produce LoadPeImage protocol only in framework compatibility mode.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9586 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-22 08:02:33 +00:00
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
lgao4
a13df02ed5
Correct error status to EFI_NOT_FOUND when the image can't be got.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9502 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-01 10:15:43 +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
lgao4
7748df3da9
Apply GetFileBufferByFilePath API of DxeServicesLib to replace local CoreOpenImageFile function.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9487 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-26 01:08:36 +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