Hi Samer
I think this ASM patch is OK. Add GCC patch.

Reviewed by: Jiewen Yao <[email protected]>

Thank you
Yao Jiewen


From: El-Haj-Mahmoud, Samer [mailto:[email protected]]
Sent: Tuesday, August 26, 2014 1:33 AM
To: [email protected]
Subject: Re: [edk2] [PATCH] MdeModulePkg: Fix EBC DXE issue with x64 function 
allocation

Jiewen,

We found the bugs during validation of an HP storage adapter that uses an EBC 
driver. When running the EBC driver on an X64 server with certain optimizations 
disabled in the UEFI system firmware (specifically, /GL and /LTCG removed), the 
driver hangs (sometimes with an exception). These two fixes allowed the EBC 
driver to run on system firmware with and without those optimizations.

The corrected patch (non-ASCII characters) is attached.

Note that I have not ported the change to EbcLowLevel.S since I have no way to 
verify if it builds correctly. Can you please help with that?

Thanks,
--Samer


From: Yao, Jiewen [mailto:[email protected]]
Sent: Monday, August 25, 2014 11:47 AM
To: [email protected]<mailto:[email protected]>
Subject: Re: [edk2] [PATCH] MdeModulePkg: Fix EBC DXE issue with x64 function 
allocation

Hi Samer
Thanks for the contribution for 2 EBC bug fixes. Below is my comments:


1)      It looks they are bug, so would you mind to share us the information: 
how you find the bug, and how you validate the fix?


2)      I found below line has NON-ASCII char, please help to correct it.
+      ;   parameters, even if the callee doesn�t have that many parameters.


3)      Please help to generate patch for GCC .S file, too.

Thank you
Yao, Jiewen

From: El-Haj-Mahmoud, Samer [mailto:[email protected]]
Sent: Monday, August 25, 2014 9:30 AM
To: [email protected]<mailto:[email protected]>
Subject: [edk2] [PATCH] MdeModulePkg: Fix EBC DXE issue with x64 function 
allocation

Dear MdeModulePkg maintainers,

Please find the attached patch to fix an issue in the EBC DXE interpreter for 
X64 native function prolog.


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 [email protected]<mailto:[email protected]>



Samer El-Haj-Mahmoud
System Firmware Architect
HP Servers

[email protected]<mailto:[email protected]>
T +1.281.514.5973
C +1.512.659.1523
Hewlett-Packard Company
hp.com/go/proliant/uefi<http://hp.com/go/proliant/uefi>

[Description: Description: C:\Users\elhajmah\HpLogo.png]

Attachment: EbcLowLevel.S.patch
Description: EbcLowLevel.S.patch

------------------------------------------------------------------------------
Slashdot TV.  Video for Nerds.  Stuff that Matters.
http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to