Commit Graph

60 Commits

Author SHA1 Message Date
lgao4 2fc46f86f9 Enhance DXE dispatcher logic to check the duplicated FV image bases on FvHob2 and FvNameGuid per PI spec.
Signed-off-by: lgao4
Reviewed-by: rsun3

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12874 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-15 06:50:54 +00:00
rsun3 fc8ff20ff2 MdeModulePkg DXE Core: Update implementation of SetMemorySpaceAttributes() DXE Service to return EFI_NOT_AVAILABLE_YET if CPU Arch Protocol is not available per PI 1.2 Errata C spec.
Signed-off-by: rsun3
Reviewed-by: lgao4


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12766 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-23 08:15:14 +00:00
lgao4 d359254990 Update DxeCore handle FV Image file with Depex section per PI spec.
Signed-off-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12763 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-23 03:12:04 +00:00
lzeng14 6c85d16217 Add core FFS3 support, DxeCore.
Signed-off-by: lzeng14
Reviewed-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12584 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-27 09:23:19 +00:00
niruiyu 284ee2e829 Fix the comments to follow UEFI Spec regarding how to check an EFI_HANDLE is valid/invalid.
Signed-off-by: niruiyu
Reviewed-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11987 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-06 03:55:36 +00:00
jljusten 54cd17e984 MdeModulePkg DXE Core: Add Idle event during BootServices WaitForEvent
Signal an Idle event during BootServices WaitForEvent.

Signed-off-by: jljusten
Reviewed-by: mdkinney
Reviewed-by: rsun3

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11841 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-16 23:28:02 +00:00
niruiyu 396e9039ae Add the DriverFamilyOverride support in DxeCore.
Signed-off-by: niruiyu
Reviewed-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11698 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-24 03:32:42 +00:00
lgao4 b695e7ff4a Updates function description per UEFI2.3d. No impact is for functionality. The main changes include:
1. For LoadImage() service, EFI_ACCESS_DENIED return status is added, and EFI_SECURITY_VIOLATION return status description is updated. Meanwhile, EFI_PE32_IMAGE_PROTOCOL. LoadPeImage() in MdeModulePkg is also updated to match LoadImage() service.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11306 6f19259b-4bc3-4df7-8a09-765794883524
2011-02-12 01:29:17 +00:00
mdkinney b43619d0cd Update DXE Core so its own PE/COFF image is passed to the PeCoffExtraActionLib
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10769 6f19259b-4bc3-4df7-8a09-765794883524
2010-08-03 05:20:15 +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
vanjeff e7af83aece 1. Refine debug agent library.
2. DxeCore and DxeIpl consume debug agent library. 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10119 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-27 17:04:12 +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
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 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
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
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
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 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 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
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 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
mdkinney 7b3381a232 Clean up
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6676 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-22 00:51:51 +00:00
mdkinney 7cff25d649 Measure time spent in Driver Binding Supported() calls
Update time measurement of StartImage() calls to properly record the handle of the started Image


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6292 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-30 04:03:59 +00:00
eric_tian ec90508b3d move header files in MdeModulePkg\Core\Dxe except DxeMain.h into their corresponding sub-module directories. It is used to provide good modularity.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5949 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-23 07:35:34 +00:00
eric_tian 1947c70c3e Merge the global data in ExecData.c to Event.c
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5901 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-16 07:53:15 +00:00
eric_tian c18f12d375 Comments for CoreInitializeMemoryServices should be updated
Comments for CoreInitializeGcdServices should be updated.
Comments for CoreInitializeEventServices should be updated.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5899 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-16 07:35:17 +00:00
eric_tian 5f3232d7e8 The file name Exec.h contains UEFI Event support functions and structure. But its file name is not very meaningful and we can consider renaming it.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5898 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-16 07:22:44 +00:00
qhuang8 3b6ffb6a13 Add EFIAPI modifier for all GCD services APIs
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5865 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-10 03:25:49 +00:00
qwang12 130f16022c Rename Hand.h to Handle.h.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5860 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-09 05:29:23 +00:00
qwang12 7f932291b5 Add more comment for EFI_DEP_REPLACE_TRUE
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5833 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-08 02:00:38 +00:00
qwang12 7ffbd6182d Remove a dead macro EFI_DXESERVICE
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5832 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-08 01:55:51 +00:00
qhuang8 ceb9059cda clean up DxeCore to remove some dead code.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5764 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-01 11:32:49 +00:00
qhuang8 2680a30801 Clean up DxeCore to use report status code macros in ReportStatusCode to retire CoreReportProgressCode() & CoreReportProgressCodeSpecific() in Library.c in DxeCore.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5761 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-01 08:27:31 +00:00
qhuang8 070f0cf7f2 Add dependency of DevicePathLib to DxeCore so that the internal device path related APIs can be retired to avoid code duplication.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5738 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-27 13:48:11 +00:00
qhuang8 0e9b156ddc Remove the global variable of gDxeCoreBS and uses the gBS in UefiBootServicesTableLib for DXE Core.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5697 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-20 09:41:53 +00:00
qhuang8 443109389d Minor clean up.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5572 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-26 07:46:04 +00:00
qhuang8 022c6d45ef Code Scrub for Dxe Core.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5560 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-24 02:54:45 +00:00
lgao4 5f597758e2 Code scrube for MdeModule Definitions.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5428 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-08 13:29:42 +00:00
qhuang8 6960e9ae7a Remove minor defects in Doxygen header
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5270 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-22 09:00:12 +00:00
qhuang8 23c98c9417 Update to fix minor coding style issues.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5256 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-21 01:40:12 +00:00
qhuang8 3b1d9fd579 Change the file name case to follow coding style: The first character should be capital.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5255 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-21 01:10:16 +00:00
qhuang8 db405d1b89 Minor coding style adjustment for DxeCore.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5196 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-13 09:09:11 +00:00
qhuang8 162ed59443 Add doxygen style comments for functions in DxeMain.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5189 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-09 07:08:30 +00:00
lgao4 504214c487 Add comments and DoxyGen format for these files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5028 6f19259b-4bc3-4df7-8a09-765794883524
2008-04-09 07:07:50 +00:00
lgao4 822360ee34 Measure PEimage and ActionString data according to TPM requirement.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4494 6f19259b-4bc3-4df7-8a09-765794883524
2008-01-04 02:11:51 +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 c4869732ec Cache FvImage at buffer with its required alignment.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4372 6f19259b-4bc3-4df7-8a09-765794883524
2007-12-07 10:25:56 +00:00