491 Commits

Author SHA1 Message Date
xli24
64ca68027b Add parameter checking for PEI service AllocatePages(), according to PI1.2 errata A.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10112 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-26 09:26:52 +00:00
rsun3
d2fbaaab17 Add more code robustness check for modules under MdeModulePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10108 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-26 08:53:27 +00:00
jchen20
4fb720763c Fix a bug in "Load module At fixed address" to enable it on IPF platform
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10106 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-26 07:43:00 +00:00
hhuan13
5b422a7bbd Clean up PiSmmCore to pass K8 scan
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10098 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-26 04:35:23 +00:00
jgong5
34f60e4d77 Add EfiCpuArchProtocol dependency for PiSmmIpl module. The reason to add this is PiSmmIpl will call gDS->SetMemorySpaceAttributes() which will locate CPU Arch Protocol to set MTRRs. Without this dependency, the locate might fail and MTRRs are never set in this case.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10097 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-26 03:35:47 +00:00
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