#define EFI_RESOURCE_ATTRIBUTE_INITIALIZED 0x00000002\r
#define EFI_RESOURCE_ATTRIBUTE_TESTED 0x00000004\r
#define EFI_RESOURCE_ATTRIBUTE_READ_PROTECTED 0x00000080\r
+//\r
+// This is typically used as memory cacheability attribute today.\r
+// NOTE: Since PI spec 1.4, please use EFI_RESOURCE_ATTRIBUTE_READ_ONLY_PROTECTED\r
+// as Physical write protected attribute, and EFI_RESOURCE_ATTRIBUTE_WRITE_PROTECTED\r
+// means Memory cacheability attribute: The memory supports being programmed with\r
+// a writeprotected cacheable attribute.\r
+//\r
#define EFI_RESOURCE_ATTRIBUTE_WRITE_PROTECTED 0x00000100\r
#define EFI_RESOURCE_ATTRIBUTE_EXECUTION_PROTECTED 0x00000200\r
#define EFI_RESOURCE_ATTRIBUTE_PERSISTENT 0x00800000\r
#define EFI_RESOURCE_ATTRIBUTE_64_BIT_IO 0x00010000\r
#define EFI_RESOURCE_ATTRIBUTE_UNCACHED_EXPORTED 0x00020000\r
#define EFI_RESOURCE_ATTRIBUTE_READ_PROTECTABLE 0x00100000\r
+//\r
+// This is typically used as memory cacheability attribute today.\r
+// NOTE: Since PI spec 1.4, please use EFI_RESOURCE_ATTRIBUTE_READ_ONLY_PROTECTABLE\r
+// as Memory capability attribute: The memory supports being protected from processor\r
+// writes, and EFI_RESOURCE_ATTRIBUTE_WRITE_PROTEC TABLE means Memory cacheability attribute:\r
+// The memory supports being programmed with a writeprotected cacheable attribute.\r
+//\r
#define EFI_RESOURCE_ATTRIBUTE_WRITE_PROTECTABLE 0x00200000\r
#define EFI_RESOURCE_ATTRIBUTE_EXECUTION_PROTECTABLE 0x00400000\r
#define EFI_RESOURCE_ATTRIBUTE_PERSISTABLE 0x01000000\r
\r
+#define EFI_RESOURCE_ATTRIBUTE_READ_ONLY_PROTECTED 0x00040000\r
+#define EFI_RESOURCE_ATTRIBUTE_READ_ONLY_PROTECTABLE 0x00800000\r
+\r
///\r
/// Describes the resource properties of all fixed,\r
/// nonrelocatable resource ranges found on the processor\r
//\r
// Physical memory protection attributes\r
//\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