summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleksandr Tymoshenko <ovt@google.com>2026-05-18 21:29:10 +0000
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2026-07-06 07:39:54 +0000
commit734d7c6dc775f4aa54ab59b701926edec559756b (patch)
tree8fe5523118a213bfefd89a9f1e98f496a0c48053
parente6b64e84e5d4f8dcbb5e0ff52f322eb5892bff34 (diff)
downloadedk2-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.h34
-rw-r--r--MdePkg/Include/IndustryStandard/Acpi65.h34
-rw-r--r--MdePkg/Include/IndustryStandard/Acpi66.h34
-rw-r--r--MdePkg/MdePkg.ci.yaml3
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)