Commit Graph

47 Commits

Author SHA1 Message Date
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 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
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
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
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
jji4 7df7393feb check the usage of %d,%x,%ld,%lx and so on in debug print statement.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7080 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-18 08:48:36 +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 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
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
qwang12 0e549d5be5 Make use of correct format String:
1) UINT64 should use %lx
2) POINTER type should use %p
3) EFI_STATUS should use %r


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6253 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-27 10:13:00 +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
lgao4 1046284db9 Don't align image address for TeImage, because TeImage section alignment is undefined.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5948 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-23 07:16:46 +00:00
qwang12 4792a1a65b Rollback change done in 5919: "Remove the status code EFI_ALREADY_STARTED to avoid confusion since it is not a possible return status from LoadFile() interface." It is accidentally overwritten in last check-in.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5925 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-18 09:03:36 +00:00
qwang12 61ad8a41e7 Remove the GrowBuffer function. Just use the simple way to get the buffer size and then read the buffer. This change improve the readability and save 0x60 byte of data for release build according to MAP file generated for X64 arch.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5924 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-18 08:42:11 +00:00
qhuang8 2ce854f515 Remove the status code EFI_ALREADY_STARTED to avoid confusion since it is not a possible return status from LoadFile() interface.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5919 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-17 13:34:18 +00:00
qwang12 46fee0d7b6 Remove the unnecessary spin_lock protection around CoreUnloadImage. There is almost zero possibility for this reentrancy issue here. With this change, we also keep EDK 2 and EDK core's CoreUnloadImage consistent with each other.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5906 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-17 02:20:24 +00:00
qhuang8 c0a23f8c37 Remove the prototype of internal functions to avoid the sync efforts.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5861 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-09 05:36:40 +00:00
qwang12 4008328a99 Remove NULL_HANDLE. NULL_HANDLE should be replaced with NULL as consistency. For now, only DXE core is using this macro.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5836 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-08 05:02:38 +00:00
qhuang8 9c4ac31cca Clean up DxeCore to remove duplicate memory allocation & device path utility services in Library.c.DxeCore should use MemoryAllocationLib & DevicePathLib for these API.
Minor cleanup the coding style: #include <DxeMain.h> should be changed to #include "DxeMain.h" since "DxeMain.h" is not pubic header fie.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5742 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-27 14:29:23 +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
vanjeff 75b046c3d4 Using Spin lock instead of using RaiseTpl() to prevent UnloadImage() re-entrance.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5600 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-01 08:10:49 +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
qhuang8 e94a9ff727 Code scrub for DxeCore
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5520 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-18 09:50:09 +00:00
vanjeff 57d6f36db6 add debug information.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5266 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-21 08:32:06 +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 71f68914fa Fix the prediction warnings in DxeMain.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5190 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-09 07:52:58 +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
eric_tian 152af594cc [Description]
modify the value pointed by NumberOfPages to accordance with IN&OUT modifier's syntax.
[Impaction]
add comments for NumberOfPages parameter and assign a correct value to it.
[Reference Info]
NumberOfPages is only updated inside the if statement on line 725. If buffer is big enough the actual number of pages occupied by the image is not returned

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5112 6f19259b-4bc3-4df7-8a09-765794883524
2008-04-22 08:38: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
jljusten 1be0dda62d Fix warnings generated by gcc for ia32 builds:
'cast from pointer to integer of different size'
when casting from a pointer directly to a
64 bit number.  Added an intermediate cast to
UINTN.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5009 6f19259b-4bc3-4df7-8a09-765794883524
2008-04-08 20:59:38 +00:00
qhuang8 5fed8e341a Update DxeCore to load image wit supported machine types:
DXE Core          Supported Machine Types
=======          ===================
IA32                IA32, EBC, X64
X64                 X64, EBC, IA32
IPF                 IPF, EBC
EBC                 EBC



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4977 6f19259b-4bc3-4df7-8a09-765794883524
2008-04-02 06:56:35 +00:00
eric_tian 1564e9ac2c [Description]
Duplicate the device path prior to the access to it 
[Impaction]
directly access the device path may cause an exception when the device path includes some unaligned device path nodes
[Reference Info]
In the case of ISCSI, there is a situation that the device path may consists of some unaligned device path node. it causes the unaligned exception when we access the node.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4905 6f19259b-4bc3-4df7-8a09-765794883524
2008-03-19 02:05:57 +00:00
lgao4 6cd7b51e48 Correct the PeImage Source file to be measured by TCG.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4787 6f19259b-4bc3-4df7-8a09-765794883524
2008-03-04 09:32:41 +00:00
vanjeff ba39e316c9 1. Add EFI LOADED IMAGE DEVICE PATH Protocol in LoadImage() service, per UEFI 2.1b.
2. Update comments for DHCP.transmitreceive().
2. Update UefiPxeBcDxe.inf and PxeBcDxe.inf to assign correct protocol usages.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4758 6f19259b-4bc3-4df7-8a09-765794883524
2008-02-26 08:38:29 +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
vanjeff cfe9de5244 1. CoreOpenImageFile(): FilePath should be IN OUT.
2. Use offset address to build device path instead of absolute address.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4294 6f19259b-4bc3-4df7-8a09-765794883524
2007-11-09 07:26:24 +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
lgao4 a0ae8996bc Update DxeCore to set efi memory type for the different image to be loaded.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3977 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-29 03:16:49 +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
mdkinney 8565806618 1) Remove buffer overflow when the number of Driver Binding Protocols increases in the middle of ConnectController()
2) Remove possibility of getting a CR() macro ASSERT() when DisconnectController() is called during a recursive ConnectController()
3) Make sure the DeviceHandle field of the Loaded Image Protocol is always correct
4) Update Loaded Image Protocol logic to guarantee that the DeviceHandle and FilePath fields are correct the image is loaded from a buffer


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3853 6f19259b-4bc3-4df7-8a09-765794883524
2007-09-14 21:35:03 +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
yshang1 28a0029718 Check in DxeCore for Nt32 platform. Currently, it does not follow PI/UEFI2.1.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3045 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-04 10:51:54 +00:00