Commit Graph

204 Commits

Author SHA1 Message Date
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
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 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
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
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
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
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
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
jljusten e3d7cceb99 Fix warnings generated by GCC.
These warnings seem to have been triggered by the recent change of
EFI_STATUS from INTN to UINTN.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9329 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-02 06:40:58 +00:00
qhuang8 81bf52d6d8 Remove the error checking for multi-instance device path since Dxecore has been enhanced to handle that.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9295 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-21 14:35:01 +00:00
qhuang8 dc07b3d549 Enhance DxeCore LocateDevicePath() boot service to handle muli-instance device path.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9294 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-21 14:26:05 +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
qhuang8 bfef82a1f2 Adjust the parameter order of debug print. Judging from the context, the first parameter should be memory type while the second and third parameters should be memory start and end.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9184 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-24 15:44:35 +00:00
qhuang8 31f228cfc0 Make end of line consistent caused by previous check in.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9183 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-24 15:35:55 +00:00
qhuang8 248515801a Integrate the patch contributed by Andrew Fish to port MdeModulePkg to support ARM.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9174 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-24 15:22:14 +00:00
darylm503 e6d4b9d5a3 Clean up PERF macro usage. The macros were being used with 0 as the first parameter. This parameter is actually a void*. All of these instances were corrected to use NULL as the first parameter.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8955 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-15 22:34:41 +00:00
eric_tian 8bc18cc642 fix the typo in DxeCore
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8292 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-11 07:28:44 +00:00
qhuang8 7547649f22 Update DxeCore to support to install gEfiHiiPackageListProtocolGuid in LoadImage() if it detects the existence of HII resource on the PE image.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8142 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-22 02:06:58 +00:00
eric_tian 023c0fec45 retain gEfiLoadPeImageProtocolGuid, and only published by DxeCore to keep backward compatibility.
Native EDKII module should not use such protocol to load image

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8110 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-17 04:47:55 +00:00
eric_tian af3888e0b7 remove the gEfiLoadPeImageProtocolGuid and replace all references for it with BasePeCoffLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8096 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-16 02:44:03 +00:00
vanjeff 0428a6cb12 fixed DMA not be stopped issue when gBS->ExitBootServices called.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8058 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-10 08:31:45 +00:00
gikidy 0a9fe76339 Add loaded Image device paths for EFI Drivers loaded from PCI Option ROM.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8022 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-03 08:13:16 +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
lgao4 1e34ba7e0c Fix build error caused by the unused local variable
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7860 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-11 01:52:09 +00:00
lgao4 df098cd518 Fix build error caused by the unused local variable
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7859 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-11 01:13:50 +00:00
qhuang8 8fd7909bb5 Cleanup to Remove default PCD value and extra build option.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7857 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-10 14:38:28 +00:00
klu2 84266565f5 Update DxeCore to deal PIWG FV device path case if FV contains extension header.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7850 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-10 09:26:52 +00:00
lgao4 4941d8817d Retire TCG platform protocol, which will be replaced by PI Security Architecture protocol.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7848 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-10 07:57:15 +00:00
eric_tian 8a9e0b7274 1. retire the FvbServiceLib. Directly locating FVB protocol to access interfaces.
2. modify the method of getting right FVB protocol interface. move the notification event of FVB installation into variable driver. and also move ExitBootService event into variable driver.
3. use EFI_FVB2_WRITE_STATUS flag to distinct whether the FVB protocol supports writing operation or not.Currently, DxeCore installs FVB which has ~EFI_FVB2_WRITE_STATUS(that is, disable write) attrbiute. FvbRuntimeDxe driver should provide a full FVB protocol, which returns EFI_FVB2_WRITE_STATUS attribute to signify itself provide writable FVB protocol. So other modules which need write data by FVB protocol can locate it correctly.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7835 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-09 06:39:13 +00:00
eric_tian 04985a579c retire gEfiFirmwareVolumeDispatcherProtocolGuid
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7595 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-23 05:50:53 +00:00
eric_tian f999350bcf retire gEfiFirmwareVolumeDispatcherProtocolGuid as its original design is used to signify such FV need to be dispatched or not.
Currently our code has not such usage model, so Mike recommended us to retire this guid

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7593 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-23 05:35:08 +00:00
qhuang8 bc6b5892b0 Update DxeCore for the performance infrastructure updates: Use Raw sting to replace XXX_TOKEN
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7567 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-23 03:01:59 +00:00
qhuang8 20bcdbcb69 Add assertion to ensure pointer dereference has been checked against NULL pointer.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7528 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-16 02:07:32 +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
eric_tian 525aded947 add assert logic to avoid Klocwork fake report
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7512 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-12 06:39:01 +00:00
eric_tian fbbb42115c clean K8.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7492 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-10 09:56:23 +00:00
eric_tian 311a71b299 Cleanup K8 warning.
We need judge return status of CoreGetMemorySpaceMap() to avoid the generation of NULL pointer of MemorySpaceMap.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7448 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-06 03:58:04 +00:00
lgao4 657abcff30 Enhance DxeCore to handle the all block sized allowed by the PI Specification and remove the assumption that the FV block size is always larger than the size of an FV Header.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7426 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-04 03:37:14 +00:00
eric_tian 57dfc48f93 enhance the condition branch to handle Unix style file path. and avoid array overflow
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7394 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-02 08:01:35 +00:00