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]
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
