aboutsummaryrefslogtreecommitdiff
path: root/include/efi.h
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2015-08-04 12:33:56 -0600
committerSimon Glass <sjg@chromium.org>2015-08-05 08:44:07 -0600
commit96a8d409a75af99ac7a9a9ba707d544f9cf44fc0 (patch)
tree42d2df0ab57c55ce9f0a191b97fb88a7858b81ff /include/efi.h
parent6f92ed8f1abfe94ee1c96c83c21f4092bb04ff63 (diff)
downloadu-boot-96a8d409a75af99ac7a9a9ba707d544f9cf44fc0.zip
u-boot-96a8d409a75af99ac7a9a9ba707d544f9cf44fc0.tar.gz
u-boot-96a8d409a75af99ac7a9a9ba707d544f9cf44fc0.tar.bz2
efi: Add 64-bit payload support
Most EFI implementations use 64-bit. Add a way to build U-Boot as a 64-bit EFI payload. The payload unpacks a (32-bit) U-Boot and starts it. This can be enabled for x86 boards at present. Signed-off-by: Simon Glass <sjg@chromium.org> Improvements to how the payload is built: Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'include/efi.h')
-rw-r--r--include/efi.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/efi.h b/include/efi.h
index 1470c08..fcafda0 100644
--- a/include/efi.h
+++ b/include/efi.h
@@ -18,6 +18,13 @@
#include <linux/string.h>
#include <linux/types.h>
+#ifdef CONFIG_EFI_STUB_64BIT
+/* EFI uses the Microsoft ABI which is not the default for GCC */
+#define EFIAPI __attribute__((ms_abi))
+#else
+#define EFIAPI
+#endif
+
struct efi_device_path;
#define EFI_SUCCESS 0