HMAT_ENTRY structure (acpitabl.h)
The HMAT_ENTRY structure contains the Heterogeneous Memory Attribute Table (HMAT) information for the table. The structure can contain one of three HMAT types: Memory Subsystem Address Range (MSAR), System Locality Latency and Bandwidth Information (SLLBI), or Memory Side Cache Information (MSCI).
Syntax
typedef struct _HMAT_ENTRY {
USHORT Type;
USHORT Reserved;
ULONG Length;
union {
struct {
union {
struct {
USHORT ProcessorProximityDomainValid : 1;
USHORT Reserved0 : 1;
USHORT Reserved1 : 1;
USHORT Reserved : 13;
} DUMMYSTRUCTNAME;
USHORT AsUSHort;
} Flags;
USHORT Reserved1;
ULONG ProcessorProximityDomain;
ULONG MemoryProximityDomain;
ULONG Reserved2;
ULONGLONG Reserved3;
ULONGLONG Reserved4;
} Msar;
struct {
union {
struct {
UCHAR MemoryHierarchy : 4;
UCHAR MinTransferSizeToAchieveValues : 1;
UCHAR NonSequentialTransfers : 1;
UCHAR Reserved : 2;
} DUMMYSTRUCTNAME;
UCHAR AsUChar;
} Flags;
UCHAR DataType;
UCHAR MinTransferSize;
UCHAR Reserved1;
ULONG NumberOfInitiatorProximityDomains;
ULONG NumberOfTargetProximityDomains;
ULONG Reserved2;
ULONGLONG EntryBaseUnit;
} Sllbi;
struct {
ULONG MemoryProximityDomain;
ULONG Reserved1;
ULONGLONG MemorySideCacheSize;
union {
struct {
ULONG TotalCacheLevels : 4;
ULONG CacheLevel : 4;
ULONG CacheAssociativity : 4;
ULONG WritePolicy : 4;
ULONG CacheLineSize : 16;
} DUMMYSTRUCTNAME;
ULONG AsULong;
} CacheAttributes;
USHORT Reserved2;
USHORT NumberOfSmBiosHandles;
} Msci;
} DUMMYUNIONNAME;
} HMAT_ENTRY, *PHMAT_ENTRY;
Members
Type
A USHORT value containing the HMAT table type.
Reserved
Reserved for future use.
Length
A ULONG value containing the size of the table.
DUMMYUNIONNAME
Defines the DUMMYUNIONNAME union.
DUMMYUNIONNAME.Msar
Defines the Msar structure.
DUMMYUNIONNAME.Msar.Flags
Defines the Flags union.
DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME
Defines the DUMMYSTRUCTNAME structure.
DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME.ProcessorProximityDomainValid
Defines the USHORT member ProcessorProximityDomainValid.
DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME.Reserved0
Reserved for future use.
DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME.Reserved1
Reserved for future use.
DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME.Reserved
Reserved for future use.
DUMMYUNIONNAME.Msar.Flags.AsUSHort
Defines the USHORT member AsUSHort.
DUMMYUNIONNAME.Msar.Reserved1
Reserved for future use.
DUMMYUNIONNAME.Msar.ProcessorProximityDomain
Defines the ULONG member ProcessorProximityDomain.
DUMMYUNIONNAME.Msar.MemoryProximityDomain
Defines the ULONG member MemoryProximityDomain.
DUMMYUNIONNAME.Msar.Reserved2
Reserved for future use.
DUMMYUNIONNAME.Msar.Reserved3
Reserved for future use.
DUMMYUNIONNAME.Msar.Reserved4
Reserved for future use.
DUMMYUNIONNAME.Sllbi
Defines the Sllbi union.
DUMMYUNIONNAME.Sllbi.Flags
Defines the Flags union.
DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME
Defines the DUMMYSTRUCTNAME structure.
DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME.MemoryHierarchy
Defines the UCHAR member MemoryHierarchy.
DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME.MinTransferSizeToAchieveValues
Defines the UCHAR member MinTransferSizeToAchieveValues.
DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME.NonSequentialTransfers
Defines the UCHAR member NonSequentialTransfers.
DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME.Reserved
Reserved for future use.
DUMMYUNIONNAME.Sllbi.Flags.AsUChar
Defines the UCHAR member AsUChar.
DUMMYUNIONNAME.Sllbi.DataType
Defines the UCHAR member DataType.
DUMMYUNIONNAME.Sllbi.MinTransferSize
Defines the UCHAR member MinTransferSize.
DUMMYUNIONNAME.Sllbi.Reserved1
Reserved for future use.
DUMMYUNIONNAME.Sllbi.NumberOfInitiatorProximityDomains
Defines the ULONG member NumberOfInitiatorProximityDomains.
DUMMYUNIONNAME.Sllbi.NumberOfTargetProximityDomains
Defines the ULONG member NumberOfTargetProximityDomains.
DUMMYUNIONNAME.Sllbi.Reserved2
Reserved for future use.
DUMMYUNIONNAME.Sllbi.EntryBaseUnit
Defines the ULONGLONG member EntryBaseUnit.
DUMMYUNIONNAME.Msci
Defines the Msci union.
DUMMYUNIONNAME.Msci.MemoryProximityDomain
Defines the ULONG member MemoryProximityDomain.
DUMMYUNIONNAME.Msci.Reserved1
Reserved for future use.
DUMMYUNIONNAME.Msci.MemorySideCacheSize
Defines the ULONGLONG member MemorySideCacheSize.
DUMMYUNIONNAME.Msci.CacheAttributes
Defines the CacheAttributes union.
DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME
Defines the DUMMYSTRUCTNAME structure.
DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.TotalCacheLevels
Defines the ULONG member TotalCacheLevels.
DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.CacheLevel
Defines the ULONG member CacheLevel.
DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.CacheAssociativity
Defines the ULONG member CacheAssociativity.
DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.WritePolicy
Defines the ULONG member WritePolicy.
DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.CacheLineSize
Defines the ULONG member CacheLineSize.
DUMMYUNIONNAME.Msci.CacheAttributes.AsULong
Defines the ULONG member AsULong.
DUMMYUNIONNAME.Msci.Reserved2
Reserved for future use.
DUMMYUNIONNAME.Msci.NumberOfSmBiosHandles
Defines the USHORT member NumberOfSmBiosHandles.
Requirements
Requirement | Value |
---|---|
Header | acpitabl.h |