Ok, figured it out through careful examination of uefi_call_wrapper and the assembly that backed it.
It wasn't reversed, it was just that the 3rd and 4th arguments happened to be zero and thus matched RDI and RSI, and gave the appearance of reversed if you assume too easily. So in GCC world, we seem to expect the caller to have done rdi, rsi, rdx, rcx, r8, r9. However, in UEFI world the MS convention is king and so rdi and rsi are meaningless, rdx and rcx are swapped, and r8 and r9 are in order, just off by two. Thankfully, I don't need more than 4 arguments to figure out the other magic. Perusing through, I didn't see any documentation or facility for the converse of uefi_call_wrapper to rearrange the stack in the way a gcc would work. Any thoughts? From: Jarrod B Johnson/Raleigh/IBM@IBMUS To: [email protected] Date: 08/16/2011 01:51 PM Subject: [elilo-discuss] EFI callback workings... So I'm working on implementing support in netfs for IPXE download protocol, if available. The thing I'm hitting is that when iPXE goes to invoke the callback, the argument list seems reversed. I know how to kind of brute force this scenario, but was wondering if there was some more sane looking way to cope. For example, assume: iPXE calls data callback with: *context, *buffer, length, offset 0xaddf, 0xcdde, 1024, 0 And if I have elilo print out the arguments in order, I get: 0, 1024, 0xcdde, 0xaddf I see quite a bit of dancing in gnu-efi to have code call into uefi provided functions, but wasn't clear on the converse... ------------------------------------------------------------------------------ uberSVN's rich system and user administration capabilities and model configuration take the hassle out of deploying and managing Subversion and the tools developers use with it. Learn more about uberSVN and get a free download at: http://p.sf.net/sfu/wandisco-dev2dev _______________________________________________ elilo-discuss mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/elilo-discuss
<<inline: graycol.gif>>
------------------------------------------------------------------------------ Get a FREE DOWNLOAD! and learn more about uberSVN rich system, user administration capabilities and model configuration. Take the hassle out of deploying and managing Subversion and the tools developers use with it. http://p.sf.net/sfu/wandisco-d2d-2
_______________________________________________ elilo-discuss mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/elilo-discuss
