//\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
//\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