Files
u-boot-bpi-r3/lib
Ivan Gorinov 9f0b0113c9 x86: use EFI calling convention for efi_main on x86_64
UEFI specifies the calling convention used in Microsoft compilers;
first arguments of a function are passed in (%rcx, %rdx, %r8, %r9).

All other compilers use System V ABI by default, passing first integer
arguments of a function in (%rdi, %rsi, %rdx, %rcx, %r8, %r9).

These ABI also specify different sets of registers that must be preserved
across function calls (callee-saved).

GCC allows using the Microsoft calling convention by adding the ms_abi
attribute to a function declaration.

Current EFI implementation in U-Boot specifies EFIAPI for efi_main()
in the test apps but uses default calling convention in lib/efi.

Save efi_main() arguments in the startup code on x86_64;
use EFI calling convention for _relocate() on x86_64;
consistently use EFI calling convention for efi_main() everywhere.

Signed-off-by: Ivan Gorinov <ivan.gorinov@intel.com>
Reviewed-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
2018-06-17 21:16:04 +08:00
..
2011-01-18 23:38:08 +01:00
2017-04-13 09:41:10 -04:00
2010-09-19 19:29:47 +02:00
2018-06-13 07:49:12 -04:00
2018-06-13 07:49:12 -04:00
2018-06-13 07:49:12 -04:00
2012-04-29 14:14:08 +02:00
2017-05-12 08:37:18 -04:00
2017-06-01 07:03:12 -06:00
2018-06-13 07:49:12 -04:00