]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Uefi/UefiBaseType.h
MdePkg: Add definition for new warning code EFI_WARN_FILE_SYSTEM.
[mirror_edk2.git] / MdePkg / Include / Uefi / UefiBaseType.h
index 122a9825e37cb87ee39765b78763fea8bc7ebfcc..84e4dc65bf7d1e3c051ba9bde3657835ca84f2be 100644 (file)
@@ -1,7 +1,9 @@
 /** @file\r
   Defines data types and constants introduced in UEFI.\r
 \r
-Copyright (c) 2006 - 2010, Intel Corporation.  All rights reserved<BR>\r
+Copyright (c) 2006 - 2016, 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
@@ -148,11 +150,15 @@ typedef union {
 #define EFI_END_OF_MEDIA          RETURN_END_OF_MEDIA\r
 #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
@@ -181,16 +187,38 @@ typedef union {
 \r
 //\r
 // The EFI memory allocation functions work in units of EFI_PAGEs that are\r
-// 4K. This should in no way be confused with the page size of the processor.\r
+// 4KB. This should in no way be confused with the page size of the processor.\r
 // An EFI_PAGE is just the quanta of memory in EFI.\r
 //\r
-#define EFI_PAGE_SIZE             0x1000\r
+#define EFI_PAGE_SIZE             SIZE_4KB\r
 #define EFI_PAGE_MASK             0xFFF\r
 #define EFI_PAGE_SHIFT            12\r
 \r
-#define EFI_SIZE_TO_PAGES(a)  (((a) >> EFI_PAGE_SHIFT) + (((a) & EFI_PAGE_MASK) ? 1 : 0))\r
+/**\r
+  Macro that converts a size, in bytes, to a number of EFI_PAGESs.\r
+\r
+  @param  Size      A size in bytes.  This parameter is assumed to be type UINTN.  \r
+                    Passing in a parameter that is larger than UINTN may produce \r
+                    unexpected results.\r
+\r
+  @return  The number of EFI_PAGESs associated with the number of bytes specified\r
+           by Size.\r
+\r
+**/\r
+#define EFI_SIZE_TO_PAGES(Size)  (((Size) >> EFI_PAGE_SHIFT) + (((Size) & EFI_PAGE_MASK) ? 1 : 0))\r
+\r
+/**\r
+  Macro that converts a number of EFI_PAGEs to a size in bytes.\r
 \r
-#define EFI_PAGES_TO_SIZE(a)   ( (a) << EFI_PAGE_SHIFT)\r
+  @param  Pages     The number of EFI_PAGES.  This parameter is assumed to be \r
+                    type UINTN.  Passing in a parameter that is larger than \r
+                    UINTN may produce unexpected results.\r
+\r
+  @return  The number of bytes associated with the number of EFI_PAGEs specified \r
+           by Pages.\r
+  \r
+**/\r
+#define EFI_PAGES_TO_SIZE(Pages)  ((Pages) << EFI_PAGE_SHIFT)\r
 \r
 ///\r
 /// PE32+ Machine type for IA32 UEFI images.\r
@@ -217,6 +245,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
@@ -246,6 +279,13 @@ typedef union {
 \r
 #define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_ARMTHUMB_MIXED) \r
 \r
+#elif defined (MDE_CPU_AARCH64)\r
+\r
+#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \\r
+  (((Machine) == EFI_IMAGE_MACHINE_AARCH64) || ((Machine) == EFI_IMAGE_MACHINE_EBC))\r
+\r
+#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE)\r
+\r
 #elif defined (MDE_CPU_EBC)\r
 \r
 ///\r