andrewfish
bab427db7d
MdePkg: Fix X64 clang compile issues.
...
Fixed issues with X64 clang, and also make StackSwitch push a zero on the new stack to prevent a stack unwind into memory that is no longer valid.
signed-off-by: andrewfish
reviewed-by: lgao4
reviewed-by: mdkinney
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12007 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-12 03:01:34 +00:00
lgao4
6beb225a9a
Per PI1.2B spec, for the case that TE Image Relocation Data Directory Entry Virtual Address is non-zero, but the Relocation Data Directory Size is zero, BasePeCoffLib should only handle such case as PIC TE image.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11315 6f19259b-4bc3-4df7-8a09-765794883524
2011-02-16 01:18:28 +00:00
myronporter
58380e9c61
Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING)
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10615 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-30 00:13:25 +00:00
myronporter
2fc59a003e
Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING)
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10604 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-25 21:56:02 +00:00
hhtian
acf57deca9
Update the copyright notice format
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10412 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 16:24:38 +00:00
mdkinney
2816e216c2
Do not update the ImageBase in the PE/COFF header if Adjust is 0.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9341 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-15 17:21:22 +00:00
mdkinney
01e1171ebd
Do not apply relocation fixups if the Adjust value is zero, which means the image is XIP.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9333 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-08 16:45:40 +00:00
mdkinney
5cfafa075a
Check to see if the section size of non-zero before failing a load operation due to a NULL base or end address
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9326 6f19259b-4bc3-4df7-8a09-765794883524
2009-10-01 23:48:00 +00:00
mdkinney
acbcf0425f
Fix file headers
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9189 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-24 23:39:38 +00:00
qhuang8
01a54966be
Remove tabs in source code in MdePkg.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9142 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-19 14:09:31 +00:00
qhuang8
ebd04fc2e5
Update to make end-of-line consistent for all source files in MdePkg. There are no other updates besides that change.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9141 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-19 14:02:07 +00:00
mdkinney
9101c2e894
Add ARM support
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9111 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 21:01:18 +00:00
eric_tian
8d579453d3
add the extra comments into BasePeCoffRelocateImage, BasePeCoffLoadImage and BasePeCoffRelocateImageForRuntime to help user to know the usage model of these APIs.
...
The comments mainly used to clarify it's caller's responsibility to to perform cache maintenance operations
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8283 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-11 01:32:17 +00:00
lgao4
1a82ed3d0a
Update BasePeCoff to Initialize the debug field to zero.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8243 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-06 03:17:45 +00:00
qhuang8
50cd68dfb5
Add check for the validity of resource directory address.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8164 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-23 12:14:55 +00:00
qhuang8
b4500f6efe
Add HiiResourceData field to PeCoffLib library class. PeCoffLoaderLoadImage () will set this field to HII resource data if it detects the existence in PE image. otherwise, it set that field to 0.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8141 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-22 02:04:16 +00:00
qhuang8
27b2d249d5
Remove PeRemove PeiPeCoffLoader.h and gPeiPeCoffLoaderGuid, and Add PeCoffExtraActionLib class and instances.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7811 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-05 09:18:28 +00:00
mdkinney
4ab0dff338
1) Remove UEFI specific defines from IndustryStandard/PeImage.h
...
2) Add UEFI specific defines to Uefi/UefiBaseType.h
3) Update Base PE/COFF related libs to only use defines from IndustryStandard/PeImage.h
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7438 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-05 19:30:05 +00:00
lgao4
9833a9bb6c
Add check for Zero Relocation section.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7197 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-07 02:02:39 +00:00
qhuang8
884c8bc047
Temporarily remove the assertions and we may find some error handling way to address potential dereference to NULL pointer.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7173 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-04 03:38:23 +00:00
gikidy
03bd58dc4b
Add some ASSERT()s to avoid NULL reference.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7162 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-31 07:24:49 +00:00
gikidy
efb2311707
Synchronize MdePkg h files to Library/Base* c files.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6984 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-11 04:45:23 +00:00
qhuang8
030cd1a2e9
Update the text to use "x64" instead of "X64" in MdePkg.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6854 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-05 03:23:13 +00:00
gikidy
0465a73e02
Follow the Mde_Lib_Spec to fix the function PeCoffLoaderUnloadImage() IN/OUT issue about definition and implementation.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6825 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-04 02:03:14 +00:00
qhuang8
657073df4f
Add several missing assertions.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6766 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-27 13:31:05 +00:00
jji4
122e219151
Function headers in .h and .c files synchronized with spec
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6731 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-26 06:38:05 +00:00
klu2
1fa524e97d
Fix ECC issue
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6214 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-24 06:51:40 +00:00
lgao4
3ecdcd1146
Update HobLib and PeCoffLib according to MDE Lib Spec 0.61c
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6100 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-10 06:20:50 +00:00
lgao4
2bfb60098f
1. Change 0 == Length style to Length == 0
...
2. Clean BasePeCoff library instance, only keep one copy PeCoffLoaderEx.c file for IA32, X64 and IPF arch
3. Clean the confused comments
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5927 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-18 14:27:39 +00:00
vanjeff
1efcc4ae46
remove unnecessary comments introduced by tools from MdePkg. The regular express is "//^p//[ ]Include[ ]common[ ]header[ ]file[ ]for[ ]this[ ]module[.]^p//"
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5911 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-17 07:46:17 +00:00
lgao4
19bee90c32
Correct ECC Error for MdePkg/Include/Protocol and Correct PeCofferLib bug to set ImageContext->EntryPoint after relocate when the destination address is specified.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5514 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-17 08:45:10 +00:00
qhuang8
8a7d75b062
Clean up: update "EFI" to "UEFI" if applicable.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4317 6f19259b-4bc3-4df7-8a09-765794883524
2007-11-22 06:00:39 +00:00
lgao4
9626a87e43
Add one judge whether TeImage or PeImage has reloc section when relocate TeImage or PeImage into memory.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4224 6f19259b-4bc3-4df7-8a09-765794883524
2007-10-26 09:28:29 +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
AJFISH
d5b86e43cf
Removed MdePkg usage of ModuleName: in file headers
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3217 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-12 22:59:43 +00:00
AJFISH
f734a10ab1
Removed CommonHeader.h generated file from the MdePkg.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2922 6f19259b-4bc3-4df7-8a09-765794883524
2007-06-29 23:22:13 +00:00
qwang12
d071fb194d
Add in BasePeCoff library instance.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2847 6f19259b-4bc3-4df7-8a09-765794883524
2007-06-28 13:30:16 +00:00
lhauch
586cd1f1f4
Moved the MdePkg to OldMdePkg so that new code in MdePkg does not break existing builds. Also updated the SPD and FPD files UiNames
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2616 6f19259b-4bc3-4df7-8a09-765794883524
2007-06-01 14:49:55 +00:00
xli24
582510249f
Make MDE package pass intel IPF compiler with /W4 /WX switched on.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2312 6f19259b-4bc3-4df7-8a09-765794883524
2007-01-25 06:05:36 +00:00
lgao4
497ef745f0
Fix PeLoad function can't handle invalid PeImage to skip correct debug entry.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2253 6f19259b-4bc3-4df7-8a09-765794883524
2007-01-16 06:30:16 +00:00
lgao4
582c7220f8
Correct TeImage Header based on PeiCis spec.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2250 6f19259b-4bc3-4df7-8a09-765794883524
2007-01-15 11:24:23 +00:00
lgao4
5b66424456
Correct TeImage file format and Clean up PeiRebase tool to remove unused code and only relocate image.
...
Move two EFI_DEP_REPLACE_TRUE and DEPEX_STACK_SIZE_INCREMENT macros from MdePkg to EdkModule/DxeMain module, because these two macros are specific implementation, not defined in spec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2249 6f19259b-4bc3-4df7-8a09-765794883524
2007-01-15 11:13:40 +00:00
lgao4
f92b6f195c
Correctly skip debug entry.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2232 6f19259b-4bc3-4df7-8a09-765794883524
2007-01-12 04:54:20 +00:00
mdkinney
513b53b139
Update BaseDebugLibNull to not touch any global variables or PCD settings
...
Update BasePeCoffLib to include work around for Itanium ELILO images that do not follow the PE/COFF spec
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2083 6f19259b-4bc3-4df7-8a09-765794883524
2006-12-12 05:26:13 +00:00
vanjeff
9c7790d2cb
1. Adjust might be 64bit, so we need to typecast it to UINT32 firstly.
...
2. Synchronization modification described in Tracker EDKT182 to all dependent files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1270 6f19259b-4bc3-4df7-8a09-765794883524
2006-08-15 06:35:47 +00:00
ajfish
317f832ef8
Fixed bugs found when this code was ported into R8.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1240 6f19259b-4bc3-4df7-8a09-765794883524
2006-08-11 18:04:56 +00:00
lgao4
c941b270ea
TeImage Signature should be got from Te pointer, not Pe pointer
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1136 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-28 06:08:00 +00:00
ajfish
236877a6a7
Added back safety check for PE/COFF image walking. I think the safety check is broken in some places (Linux) but we need to investigate more.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1108 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-26 23:34:08 +00:00
ajfish
2ce311322c
Removed cross references from PciCf8Lib and PciExpressLib class to PciLib class.
...
Added PeCoffLoaderGetMachineType to the PeCoffGetEntryPointLibrary Class. Document to be updated.
Added the PeCoffLoaderImageReadFromMemory() and PeCoffLoaderRelocateImageForRuntime () to the PcCoffLib.
Updated EfiImage.h and removed EFI_IMAGE_OPTIONAL_HEADER and EFI_IMAGE_NT_HEADERS as they were replaced with checking the MachineType.
PeCoffLib – Added checks for MachineType so the PeCoff lib can load any PE32 or PE32+ image. The relocations are still limited to IA32, X64, IPF, and EBC. I also added a re-relocator function to remove PeLoader Code from Runtime Lib. Even though there is only one instance of the re-relocator I wanted to get all the PeCoff loader code together.
Replaced DEBUG_CODE() macro with DEBUG_CODE_START() and DEBUG_CODE_END() so you can debug through the DEBUG_CODE() macros. Also removed PE/COFF code and replaced with library usage.
I also updated the IO Instrinsic lib to use _ReadWriteBarrior() to help with sync problems
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1103 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-26 15:23:35 +00:00
qhuang8
24e25d11c0
• BaseMemoryLib:
...
Modify some Aassert()s conditions to sync with MWG 0.56d
Modify some defects in function header.
• PostCodeLib:
Implement PeiDxePostCodeLibReportStatusCode.
• Misc
Rename BaseDebugLibReportStatusCode to PeiDxeDebugLibReportStatusCode
Remove tabs in all .c and .h files in MdePkg.
Rename PeiServicesReinstallPpi() to PeiServicesReInstallPpi()
Adjust some minor coding style in PeCoffLoaderGetEntryPointerLib()
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@626 6f19259b-4bc3-4df7-8a09-765794883524
2006-06-26 10:18:28 +00:00