]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Uefi/UefiSpec.h
MdePkg: Add Sys Prep string definition and macro definition.
[mirror_edk2.git] / MdePkg / Include / Uefi / UefiSpec.h
index 1c401e8e85186f87d44d54125538e44a3ce583f4..4aef8719ed30ef7e0ef1da81e14694436f2c0e9f 100644 (file)
@@ -63,26 +63,35 @@ typedef enum {
 //\r
 // Memory cacheability attributes\r
 //\r
-#define EFI_MEMORY_UC   0x0000000000000001ULL\r
-#define EFI_MEMORY_WC   0x0000000000000002ULL\r
-#define EFI_MEMORY_WT   0x0000000000000004ULL\r
-#define EFI_MEMORY_WB   0x0000000000000008ULL\r
-#define EFI_MEMORY_UCE  0x0000000000000010ULL\r
+#define EFI_MEMORY_UC               0x0000000000000001ULL\r
+#define EFI_MEMORY_WC               0x0000000000000002ULL\r
+#define EFI_MEMORY_WT               0x0000000000000004ULL\r
+#define EFI_MEMORY_WB               0x0000000000000008ULL\r
+#define EFI_MEMORY_UCE              0x0000000000000010ULL\r
 //\r
 // Physical memory protection attributes\r
 //\r
-#define EFI_MEMORY_WP   0x0000000000001000ULL\r
-#define EFI_MEMORY_RP   0x0000000000002000ULL\r
-#define EFI_MEMORY_XP   0x0000000000004000ULL\r
+// Note: UEFI spec 2.5 and following: use EFI_MEMORY_RO as write-protected physical memory\r
+// protection attribute. Also, EFI_MEMORY_WP means cacheability attribute.\r
+//\r
+#define EFI_MEMORY_WP               0x0000000000001000ULL\r
+#define EFI_MEMORY_RP               0x0000000000002000ULL\r
+#define EFI_MEMORY_XP               0x0000000000004000ULL\r
+#define EFI_MEMORY_RO               0x0000000000020000ULL\r
 //\r
 // Physical memory persistence attribute. \r
 // The memory region supports byte-addressable non-volatility.\r
 //\r
-#define EFI_MEMORY_NV   0x0000000000008000ULL\r
+#define EFI_MEMORY_NV               0x0000000000008000ULL\r
+//\r
+// The memory region provides higher reliability relative to other memory in the system.\r
+// If all memory has the same reliability, then this bit is not used.\r
+//\r
+#define EFI_MEMORY_MORE_RELIABLE    0x0000000000010000ULL\r
 //\r
 // Runtime memory attribute\r
 //\r
-#define EFI_MEMORY_RUNTIME  0x8000000000000000ULL\r
+#define EFI_MEMORY_RUNTIME          0x8000000000000000ULL\r
 \r
 ///\r
 /// Memory descriptor version number.\r
@@ -2052,17 +2061,18 @@ typedef struct _EFI_LOAD_OPTION {
 //\r
 // EFI Load Options Attributes\r
 //\r
-#define LOAD_OPTION_ACTIVE            0x00000001\r
-#define LOAD_OPTION_FORCE_RECONNECT   0x00000002\r
-#define LOAD_OPTION_HIDDEN            0x00000008\r
-#define LOAD_OPTION_CATEGORY          0x00001F00\r
-\r
-#define LOAD_OPTION_CATEGORY_BOOT     0x00000000\r
-#define LOAD_OPTION_CATEGORY_APP      0x00000100\r
-\r
-#define EFI_BOOT_OPTION_SUPPORT_KEY   0x00000001\r
-#define EFI_BOOT_OPTION_SUPPORT_APP   0x00000002\r
-#define EFI_BOOT_OPTION_SUPPORT_COUNT 0x00000300\r
+#define LOAD_OPTION_ACTIVE              0x00000001\r
+#define LOAD_OPTION_FORCE_RECONNECT     0x00000002\r
+#define LOAD_OPTION_HIDDEN              0x00000008\r
+#define LOAD_OPTION_CATEGORY            0x00001F00\r
+\r
+#define LOAD_OPTION_CATEGORY_BOOT       0x00000000\r
+#define LOAD_OPTION_CATEGORY_APP        0x00000100\r
+\r
+#define EFI_BOOT_OPTION_SUPPORT_KEY     0x00000001\r
+#define EFI_BOOT_OPTION_SUPPORT_APP     0x00000002\r
+#define EFI_BOOT_OPTION_SUPPORT_SYSPREP 0x00000010\r
+#define EFI_BOOT_OPTION_SUPPORT_COUNT   0x00000300\r
 \r
 ///\r
 /// EFI Boot Key Data\r