diff options
| author | Oleksandr Tymoshenko <ovt@google.com> | 2026-05-18 21:29:10 +0000 |
|---|---|---|
| committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2026-07-06 07:39:54 +0000 |
| commit | 734d7c6dc775f4aa54ab59b701926edec559756b (patch) | |
| tree | 8fe5523118a213bfefd89a9f1e98f496a0c48053 | |
| parent | e6b64e84e5d4f8dcbb5e0ff52f322eb5892bff34 (diff) | |
| download | edk2-734d7c6dc775f4aa54ab59b701926edec559756b.tar.gz edk2-734d7c6dc775f4aa54ab59b701926edec559756b.zip | |
MdePkg: Add constants for HMAT structures' fields
Add constants for HMAT table's SSLBI and ProximityDoman structures to
industry standards headers for Acpi 6.4, 6.5, and 6.6.
Co-authored-by: Sophia Wang <yodagump@google.com>
Signed-off-by: Oleksandr Tymoshenko <ovt@google.com>
| -rw-r--r-- | MdePkg/Include/IndustryStandard/Acpi64.h | 34 | ||||
| -rw-r--r-- | MdePkg/Include/IndustryStandard/Acpi65.h | 34 | ||||
| -rw-r--r-- | MdePkg/Include/IndustryStandard/Acpi66.h | 34 | ||||
| -rw-r--r-- | MdePkg/MdePkg.ci.yaml | 3 |
4 files changed, 104 insertions, 1 deletions
diff --git a/MdePkg/Include/IndustryStandard/Acpi64.h b/MdePkg/Include/IndustryStandard/Acpi64.h index 5ea20ba9a2..0b9c3febf9 100644 --- a/MdePkg/Include/IndustryStandard/Acpi64.h +++ b/MdePkg/Include/IndustryStandard/Acpi64.h @@ -2150,6 +2150,40 @@ typedef struct { #define EFI_ACPI_6_4_HMAT_TYPE_MEMORY_SIDE_CACHE_INFO 0x02
///
+/// HMAT Memory Proximity Domain Attributes Flags
+///
+#define EFI_ACPI_6_4_HMAT_PROXIMITY_DOMAIN_INITIATOR_VALID 1
+
+///
+/// HMAT System Locality Latency and Bandwidth Info Flags
+///
+#define EFI_ACPI_6_4_HMAT_MEMORY_HIERARCHY_MEMORY 0
+#define EFI_ACPI_6_4_HMAT_MEMORY_HIERARCHY_L1_CACHE 1
+#define EFI_ACPI_6_4_HMAT_MEMORY_HIERARCHY_L2_CACHE 2
+#define EFI_ACPI_6_4_HMAT_MEMORY_HIERARCHY_L3_CACHE 3
+
+#define EFI_ACPI_6_4_HMAT_ACCESS_ATTRIBUTES_MIN_TRANSFER_SIZE 0x10
+#define EFI_ACPI_6_4_HMAT_ACCESS_ATTRIBUTES_NON_SEQUENTIAL 0x20
+
+///
+/// HMAT System Locality Latency and Bandwidth Info Data Type
+///
+/// For Memory Hierarchy == 0
+#define EFI_ACPI_6_4_HMAT_SSLBI_DATA_TYPE_ACCESS_LATENCY 0
+#define EFI_ACPI_6_4_HMAT_SSLBI_DATA_TYPE_READ_LATENCY 1
+#define EFI_ACPI_6_4_HMAT_SSLBI_DATA_TYPE_WRITE_LATENCY 2
+#define EFI_ACPI_6_4_HMAT_SSLBI_DATA_TYPE_ACCESS_BANDWIDTH 3
+#define EFI_ACPI_6_4_HMAT_SSLBI_DATA_TYPE_READ_BANDWIDTH 4
+#define EFI_ACPI_6_4_HMAT_SSLBI_DATA_TYPE_WRITE_BANDWIDTH 5
+/// For Memory Hierarchy == 1, 2, or 3
+#define EFI_ACPI_6_4_HMAT_SSLBI_DATA_TYPE_HIT_ACCESS_LATENCY 0
+#define EFI_ACPI_6_4_HMAT_SSLBI_DATA_TYPE_HIT_READ_LATENCY 1
+#define EFI_ACPI_6_4_HMAT_SSLBI_DATA_TYPE_HIT_WRITE_LATENCY 2
+#define EFI_ACPI_6_4_HMAT_SSLBI_DATA_TYPE_HIT_ACCESS_BANDWIDTH 3
+#define EFI_ACPI_6_4_HMAT_SSLBI_DATA_TYPE_HIT_READ_BANDWIDTH 4
+#define EFI_ACPI_6_4_HMAT_SSLBI_DATA_TYPE_HIT_WRITE_BANDWIDTH 5
+
+///
/// HMAT Structure Header
///
typedef struct {
diff --git a/MdePkg/Include/IndustryStandard/Acpi65.h b/MdePkg/Include/IndustryStandard/Acpi65.h index fc43bdda81..1df92f9858 100644 --- a/MdePkg/Include/IndustryStandard/Acpi65.h +++ b/MdePkg/Include/IndustryStandard/Acpi65.h @@ -2289,6 +2289,40 @@ typedef struct { #define EFI_ACPI_6_5_HMAT_TYPE_MEMORY_SIDE_CACHE_INFO 0x02
///
+/// HMAT Memory Proximity Domain Attributes Flags
+///
+#define EFI_ACPI_6_5_HMAT_PROXIMITY_DOMAIN_INITIATOR_VALID 1
+
+///
+/// HMAT System Locality Latency and Bandwidth Info Flags
+///
+#define EFI_ACPI_6_5_HMAT_MEMORY_HIERARCHY_MEMORY 0
+#define EFI_ACPI_6_5_HMAT_MEMORY_HIERARCHY_L1_CACHE 1
+#define EFI_ACPI_6_5_HMAT_MEMORY_HIERARCHY_L2_CACHE 2
+#define EFI_ACPI_6_5_HMAT_MEMORY_HIERARCHY_L3_CACHE 3
+
+#define EFI_ACPI_6_5_HMAT_ACCESS_ATTRIBUTES_MIN_TRANSFER_SIZE 0x10
+#define EFI_ACPI_6_5_HMAT_ACCESS_ATTRIBUTES_NON_SEQUENTIAL 0x20
+
+///
+/// HMAT System Locality Latency and Bandwidth Info Data Type
+///
+/// For Memory Hierarchy == 0
+#define EFI_ACPI_6_5_HMAT_SSLBI_DATA_TYPE_ACCESS_LATENCY 0
+#define EFI_ACPI_6_5_HMAT_SSLBI_DATA_TYPE_READ_LATENCY 1
+#define EFI_ACPI_6_5_HMAT_SSLBI_DATA_TYPE_WRITE_LATENCY 2
+#define EFI_ACPI_6_5_HMAT_SSLBI_DATA_TYPE_ACCESS_BANDWIDTH 3
+#define EFI_ACPI_6_5_HMAT_SSLBI_DATA_TYPE_READ_BANDWIDTH 4
+#define EFI_ACPI_6_5_HMAT_SSLBI_DATA_TYPE_WRITE_BANDWIDTH 5
+/// For Memory Hierarchy == 1, 2, or 3
+#define EFI_ACPI_6_5_HMAT_SSLBI_DATA_TYPE_HIT_ACCESS_LATENCY 0
+#define EFI_ACPI_6_5_HMAT_SSLBI_DATA_TYPE_HIT_READ_LATENCY 1
+#define EFI_ACPI_6_5_HMAT_SSLBI_DATA_TYPE_HIT_WRITE_LATENCY 2
+#define EFI_ACPI_6_5_HMAT_SSLBI_DATA_TYPE_HIT_ACCESS_BANDWIDTH 3
+#define EFI_ACPI_6_5_HMAT_SSLBI_DATA_TYPE_HIT_READ_BANDWIDTH 4
+#define EFI_ACPI_6_5_HMAT_SSLBI_DATA_TYPE_HIT_WRITE_BANDWIDTH 5
+
+///
/// HMAT Structure Header
///
typedef struct {
diff --git a/MdePkg/Include/IndustryStandard/Acpi66.h b/MdePkg/Include/IndustryStandard/Acpi66.h index db63ba5fb6..4b734b9687 100644 --- a/MdePkg/Include/IndustryStandard/Acpi66.h +++ b/MdePkg/Include/IndustryStandard/Acpi66.h @@ -2391,6 +2391,40 @@ typedef struct { #define EFI_ACPI_6_6_HMAT_TYPE_MEMORY_SIDE_CACHE_INFO 0x02
///
+/// HMAT Memory Proximity Domain Attributes Flags
+///
+#define EFI_ACPI_6_6_HMAT_PROXIMITY_DOMAIN_INITIATOR_VALID 1
+
+///
+/// HMAT System Locality Latency and Bandwidth Info Flags
+///
+#define EFI_ACPI_6_6_HMAT_MEMORY_HIERARCHY_MEMORY 0
+#define EFI_ACPI_6_6_HMAT_MEMORY_HIERARCHY_L1_CACHE 1
+#define EFI_ACPI_6_6_HMAT_MEMORY_HIERARCHY_L2_CACHE 2
+#define EFI_ACPI_6_6_HMAT_MEMORY_HIERARCHY_L3_CACHE 3
+
+#define EFI_ACPI_6_6_HMAT_ACCESS_ATTRIBUTES_MIN_TRANSFER_SIZE 0x10
+#define EFI_ACPI_6_6_HMAT_ACCESS_ATTRIBUTES_NON_SEQUENTIAL 0x20
+
+///
+/// HMAT System Locality Latency and Bandwidth Info Data Type
+///
+/// For Memory Hierarchy == 0
+#define EFI_ACPI_6_6_HMAT_SSLBI_DATA_TYPE_ACCESS_LATENCY 0
+#define EFI_ACPI_6_6_HMAT_SSLBI_DATA_TYPE_READ_LATENCY 1
+#define EFI_ACPI_6_6_HMAT_SSLBI_DATA_TYPE_WRITE_LATENCY 2
+#define EFI_ACPI_6_6_HMAT_SSLBI_DATA_TYPE_ACCESS_BANDWIDTH 3
+#define EFI_ACPI_6_6_HMAT_SSLBI_DATA_TYPE_READ_BANDWIDTH 4
+#define EFI_ACPI_6_6_HMAT_SSLBI_DATA_TYPE_WRITE_BANDWIDTH 5
+/// For Memory Hierarchy == 1, 2, or 3
+#define EFI_ACPI_6_6_HMAT_SSLBI_DATA_TYPE_HIT_ACCESS_LATENCY 0
+#define EFI_ACPI_6_6_HMAT_SSLBI_DATA_TYPE_HIT_READ_LATENCY 1
+#define EFI_ACPI_6_6_HMAT_SSLBI_DATA_TYPE_HIT_WRITE_LATENCY 2
+#define EFI_ACPI_6_6_HMAT_SSLBI_DATA_TYPE_HIT_ACCESS_BANDWIDTH 3
+#define EFI_ACPI_6_6_HMAT_SSLBI_DATA_TYPE_HIT_READ_BANDWIDTH 4
+#define EFI_ACPI_6_6_HMAT_SSLBI_DATA_TYPE_HIT_WRITE_BANDWIDTH 5
+
+///
/// HMAT Structure Header
///
typedef struct {
diff --git a/MdePkg/MdePkg.ci.yaml b/MdePkg/MdePkg.ci.yaml index cd85c5d037..c686dcbdd9 100644 --- a/MdePkg/MdePkg.ci.yaml +++ b/MdePkg/MdePkg.ci.yaml @@ -219,7 +219,8 @@ "sigle", # SmBios.h
"toleremce", # IpmiNetFnStorage.h
"unownered", # TcgPhysicalPresence.h
- "voilation" # PciExpress*.h
+ "voilation", # PciExpress*.h
+ "sslbi" # Acpi*.h
],
"IgnoreStandardPaths": [], # Standard Plugin defined paths that should be ignore
"AdditionalIncludePaths": [] # Additional paths to spell check (wildcards supported)
|
