summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Antipov <dmanti@microsoft.com>2024-07-18 16:32:08 -0700
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2024-07-26 03:08:20 +0000
commit41426040daab53efc31265560050be6fdd96e879 (patch)
tree853d33c3841c0a9f49e78a190d408e828d5b5ff4
parentb1bce5e5649840159d54eb8bffa4fa3d4fae8ee6 (diff)
downloadedk2-41426040daab53efc31265560050be6fdd96e879.tar.gz
edk2-41426040daab53efc31265560050be6fdd96e879.tar.bz2
edk2-41426040daab53efc31265560050be6fdd96e879.zip
BaseTools: Move MEMORY_TYPE_* Defines to EFI_MEMORY_TYPE Enum
Per TCBZ2372, clang on Linux emits a warning if an enum-typed variable is compared with a constant outside of the range of the enum. Such comparisons are performed in multiple locations in DXE core on variables of type EFI_MEMORY_TYPE. This patch moves the OEM and OS reserved types into the EFI_MEMORY_TYPE enum itself to resolve this issue and improve readability. This commit does this for the BaseTools copy of this enum. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
-rw-r--r--BaseTools/Source/C/Include/Common/UefiMultiPhase.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/BaseTools/Source/C/Include/Common/UefiMultiPhase.h b/BaseTools/Source/C/Include/Common/UefiMultiPhase.h
index b889508b85..5b5af8b43c 100644
--- a/BaseTools/Source/C/Include/Common/UefiMultiPhase.h
+++ b/BaseTools/Source/C/Include/Common/UefiMultiPhase.h
@@ -14,6 +14,15 @@
//
// Enumeration of memory types introduced in UEFI.
+// +---------------------------------------------------+
+// | 0..(EfiMaxMemoryType - 1) - Normal memory type |
+// +---------------------------------------------------+
+// | EfiMaxMemoryType..0x6FFFFFFF - Invalid |
+// +---------------------------------------------------+
+// | 0x70000000..0x7FFFFFFF - OEM reserved |
+// +---------------------------------------------------+
+// | 0x80000000..0xFFFFFFFF - OS reserved |
+// +---------------------------------------------------+
//
typedef enum {
EfiReservedMemoryType,
@@ -31,7 +40,11 @@ typedef enum {
EfiMemoryMappedIOPortSpace,
EfiPalCode,
EfiPersistentMemory,
- EfiMaxMemoryType
+ EfiMaxMemoryType,
+ MEMORY_TYPE_OEM_RESERVED_MIN = 0x70000000,
+ MEMORY_TYPE_OEM_RESERVED_MAX = 0x7FFFFFFF,
+ MEMORY_TYPE_OS_RESERVED_MIN = 0x80000000,
+ MEMORY_TYPE_OS_RESERVED_MAX = 0xFFFFFFFF
} EFI_MEMORY_TYPE;