]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Uefi/UefiBaseType.h
MdePkg/Uefi ARM: only support native ARM/Thumb images
[mirror_edk2.git] / MdePkg / Include / Uefi / UefiBaseType.h
index 3c14ea5a6440eb07ebefdd8feb4e1df4d2d4ee7c..d9556cd2ec4e44e02a5819c9562341e4624f0c77 100644 (file)
@@ -1,7 +1,9 @@
 /** @file\r
   Defines data types and constants introduced in UEFI.\r
 \r
-Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>\r
+Portions copyright (c) 2011 - 2016, ARM Ltd. All rights reserved.<BR>\r
+\r
 This program and the accompanying materials are licensed and made available under \r
 the terms and conditions of the BSD License that accompanies this distribution.  \r
 The full text of the license may be found at\r
@@ -85,16 +87,12 @@ typedef struct {
 ///\r
 /// 4-byte buffer. An IPv4 internet protocol address.\r
 ///\r
-typedef struct {\r
-  UINT8 Addr[4];\r
-} EFI_IPv4_ADDRESS;\r
+typedef IPv4_ADDRESS EFI_IPv4_ADDRESS;\r
 \r
 ///\r
 /// 16-byte buffer. An IPv6 internet protocol address.\r
 ///\r
-typedef struct {\r
-  UINT8 Addr[16];\r
-} EFI_IPv6_ADDRESS;\r
+typedef IPv6_ADDRESS EFI_IPv6_ADDRESS;\r
 \r
 ///\r
 /// 32-byte buffer containing a network Media Access Control address.\r
@@ -149,12 +147,14 @@ typedef union {
 #define EFI_END_OF_FILE           RETURN_END_OF_FILE\r
 #define EFI_INVALID_LANGUAGE      RETURN_INVALID_LANGUAGE\r
 #define EFI_COMPROMISED_DATA      RETURN_COMPROMISED_DATA\r
+#define EFI_HTTP_ERROR            RETURN_HTTP_ERROR\r
 \r
 #define EFI_WARN_UNKNOWN_GLYPH    RETURN_WARN_UNKNOWN_GLYPH   \r
 #define EFI_WARN_DELETE_FAILURE   RETURN_WARN_DELETE_FAILURE  \r
 #define EFI_WARN_WRITE_FAILURE    RETURN_WARN_WRITE_FAILURE   \r
 #define EFI_WARN_BUFFER_TOO_SMALL RETURN_WARN_BUFFER_TOO_SMALL\r
 #define EFI_WARN_STALE_DATA       RETURN_WARN_STALE_DATA\r
+#define EFI_WARN_FILE_SYSTEM      RETURN_WARN_FILE_SYSTEM\r
 ///@}\r
 \r
 ///\r
@@ -241,6 +241,11 @@ typedef union {
 ///\r
 #define EFI_IMAGE_MACHINE_ARMTHUMB_MIXED  0x01C2\r
 \r
+///\r
+/// PE32+ Machine type for AARCH64 A64 images.\r
+///\r
+#define EFI_IMAGE_MACHINE_AARCH64  0xAA64\r
+\r
 \r
 #if   defined (MDE_CPU_IA32)\r
 \r
@@ -265,10 +270,16 @@ typedef union {
 \r
 #elif defined (MDE_CPU_ARM)\r
 \r
+#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_ARMTHUMB_MIXED)\r
+\r
+#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE)\r
+\r
+#elif defined (MDE_CPU_AARCH64)\r
+\r
 #define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \\r
-  (((Machine) == EFI_IMAGE_MACHINE_ARMTHUMB_MIXED) || ((Machine) == EFI_IMAGE_MACHINE_EBC))\r
+  (((Machine) == EFI_IMAGE_MACHINE_AARCH64) || ((Machine) == EFI_IMAGE_MACHINE_EBC))\r
 \r
-#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_ARMTHUMB_MIXED) \r
+#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE)\r
 \r
 #elif defined (MDE_CPU_EBC)\r
 \r