Commit Graph

6 Commits

Author SHA1 Message Date
Samer El-Haj-Mahmoud elhaj b15aae9f2e Fix X64 native function call prolog. Prepare space for at least 4 arguments,
even if the native function's arguments are less than 4.
 
From MSDN x64 Software Conventions, Overview of x64 Calling Conventions:
“The caller is responsible for allocating space for parameters to the
callee, and must always allocate sufficient space for the 4 register
parameters, even if the callee doesn’t have that many parameters.
This aids in the simplicity of supporting C unprototyped functions,
and vararg C/C++ functions.”
 
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Samer El-Haj-Mahmoud elhaj@hp.com 
Reviewed by: Jiewen Yao <Jiewen.Yao@intel.com>
Reviewed by: Feng Tian <Feng.Tian@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16152 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-22 05:54:41 +00:00
jyao1 7102b19961 Remove assumption on EAX and R10 usage for IA32 compiler and X64 compiler.
Signed-off-by: jyao1
Reviewed-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12760 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-22 08:07:30 +00:00
jyao1 fa97cbf4ef 1) Fix GCC version EBC interpreter bug.
Add missing EFIPAI for EbcInterpret and ExecuteEbcImageEntryPoint().
	Get return value in EbcLLCALLEXNative(), remove EbcLLGetReturnValue().

2) Fix IA32 EBC interpreter bug on MOVsnw and MOVsnd.

3) Some cleanup
	Add missing ReturnEBCStack() for IA32 build.
	Remove unnecessary EbcLLGetStackPointer() for X64 and IPF build.
	Remove deadcode EbcLLGetStackPointer() and EbcLLGetReturnValue() in IA32/X64/IPF ASM code.
	Dump more info in CommonEbcExceptionHandler().

Signed-off-by: jyao1
Reviewed-by: Elvinli

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12745 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-21 08:35:14 +00:00
hhtian e5eed7d364 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10418 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-24 09:33:45 +00:00
mdkinney 045e90accd Fix bug in EBC thunk for X64 that appears when higher levels of compiler optimization is used.
This is a temporary fix that should for for most tool chains.  A more complete fix will be required to guarantee compatibility with all tool chains.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8970 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-17 22:56:34 +00:00
qhuang8 955723bd63 Use "X64" for directory name to follow directory name convention.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5258 6f19259b-4bc3-4df7-8a09-765794883524
2008-05-21 04:07:30 +00:00