efi: Add EFI_MEMORY_{NV, MORE_RELIABLE, RO} attributes
[platform/kernel/u-boot.git] / include / efi.h
index 0fe15e6..7e7c1ca 100644 (file)
  */
 #ifdef __x86_64__
 #define EFIAPI __attribute__((ms_abi))
+#define efi_va_list __builtin_ms_va_list
+#define efi_va_start __builtin_ms_va_start
+#define efi_va_arg __builtin_va_arg
+#define efi_va_end __builtin_ms_va_end
 #else
 #define EFIAPI asmlinkage
+#define efi_va_list va_list
+#define efi_va_start va_start
+#define efi_va_arg va_arg
+#define efi_va_end va_end
 #endif /* __x86_64__ */
 
 struct efi_device_path;
@@ -162,20 +170,20 @@ enum efi_mem_type {
 };
 
 /* Attribute values */
-enum {
-       EFI_MEMORY_UC_SHIFT     = 0,    /* uncached */
-       EFI_MEMORY_WC_SHIFT     = 1,    /* write-coalescing */
-       EFI_MEMORY_WT_SHIFT     = 2,    /* write-through */
-       EFI_MEMORY_WB_SHIFT     = 3,    /* write-back */
-       EFI_MEMORY_UCE_SHIFT    = 4,    /* uncached, exported */
-       EFI_MEMORY_WP_SHIFT     = 12,   /* write-protect */
-       EFI_MEMORY_RP_SHIFT     = 13,   /* read-protect */
-       EFI_MEMORY_XP_SHIFT     = 14,   /* execute-protect */
-       EFI_MEMORY_RUNTIME_SHIFT = 63,  /* range requires runtime mapping */
-
-       EFI_MEMORY_RUNTIME = 1ULL << EFI_MEMORY_RUNTIME_SHIFT,
-       EFI_MEM_DESC_VERSION    = 1,
-};
+#define EFI_MEMORY_UC          ((u64)0x0000000000000001ULL)    /* uncached */
+#define EFI_MEMORY_WC          ((u64)0x0000000000000002ULL)    /* write-coalescing */
+#define EFI_MEMORY_WT          ((u64)0x0000000000000004ULL)    /* write-through */
+#define EFI_MEMORY_WB          ((u64)0x0000000000000008ULL)    /* write-back */
+#define EFI_MEMORY_UCE         ((u64)0x0000000000000010ULL)    /* uncached, exported */
+#define EFI_MEMORY_WP          ((u64)0x0000000000001000ULL)    /* write-protect */
+#define EFI_MEMORY_RP          ((u64)0x0000000000002000ULL)    /* read-protect */
+#define EFI_MEMORY_XP          ((u64)0x0000000000004000ULL)    /* execute-protect */
+#define EFI_MEMORY_NV          ((u64)0x0000000000008000ULL)    /* non-volatile */
+#define EFI_MEMORY_MORE_RELIABLE \
+                               ((u64)0x0000000000010000ULL)    /* higher reliability */
+#define EFI_MEMORY_RO          ((u64)0x0000000000020000ULL)    /* read-only */
+#define EFI_MEMORY_RUNTIME     ((u64)0x8000000000000000ULL)    /* range requires runtime mapping */
+#define EFI_MEM_DESC_VERSION   1
 
 #define EFI_PAGE_SHIFT         12
 #define EFI_PAGE_SIZE          (1UL << EFI_PAGE_SHIFT)