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 MemoryProximityDomainValid : 1;
          USHORT ReservationHint : 1;
          USHORT Reserved : 13;
        } DUMMYSTRUCTNAME;
        USHORT AsUSHort;
      } Flags;
      USHORT           Reserved1;
      ULONG            ProcessorProximityDomain;
      ULONG            MemoryProximityDomain;
      ULONG            Reserved2;
      PHYSICAL_ADDRESS SystemPhysicalAddressRangeBase;
      ULONGLONG        SystemPhysicalAddressRangeLength;
    } Msar;
    struct {
      union {
        struct {
          UCHAR Memory : 1;
          UCHAR LastLevelMemory : 1;
          UCHAR FirstLevelMemorySideCache : 1;
          UCHAR SecondLevelMemorySideCache : 1;
          UCHAR ThirdLevelMemorySideCache : 1;
          UCHAR Reserved : 3;
        } DUMMYSTRUCTNAME;
        UCHAR AsUChar;
      } Flags;
      UCHAR     DataType;
      USHORT    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

DUMMYUNIONNAME.Msar

DUMMYUNIONNAME.Msar.Flags

DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME

DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME.ProcessorProximityDomainValid

DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME.MemoryProximityDomainValid

DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME.ReservationHint

DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME.Reserved

DUMMYUNIONNAME.Msar.Flags.AsUSHort

DUMMYUNIONNAME.Msar.Reserved1

DUMMYUNIONNAME.Msar.ProcessorProximityDomain

DUMMYUNIONNAME.Msar.MemoryProximityDomain

DUMMYUNIONNAME.Msar.Reserved2

DUMMYUNIONNAME.Msar.SystemPhysicalAddressRangeBase

DUMMYUNIONNAME.Msar.SystemPhysicalAddressRangeLength

DUMMYUNIONNAME.Sllbi

DUMMYUNIONNAME.Sllbi.Flags

DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME

DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME.Memory

DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME.LastLevelMemory

DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME.FirstLevelMemorySideCache

DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME.SecondLevelMemorySideCache

DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME.ThirdLevelMemorySideCache

DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME.Reserved

DUMMYUNIONNAME.Sllbi.Flags.AsUChar

DUMMYUNIONNAME.Sllbi.DataType

DUMMYUNIONNAME.Sllbi.Reserved1

DUMMYUNIONNAME.Sllbi.NumberOfInitiatorProximityDomains

DUMMYUNIONNAME.Sllbi.NumberOfTargetProximityDomains

DUMMYUNIONNAME.Sllbi.Reserved2

DUMMYUNIONNAME.Sllbi.EntryBaseUnit

DUMMYUNIONNAME.Msci

DUMMYUNIONNAME.Msci.MemoryProximityDomain

DUMMYUNIONNAME.Msci.Reserved1

DUMMYUNIONNAME.Msci.MemorySideCacheSize

DUMMYUNIONNAME.Msci.CacheAttributes

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.TotalCacheLevels

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.CacheLevel

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.CacheAssociativity

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.WritePolicy

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.CacheLineSize

DUMMYUNIONNAME.Msci.CacheAttributes.AsULong

DUMMYUNIONNAME.Msci.Reserved2

DUMMYUNIONNAME.Msci.NumberOfSmBiosHandles

Requirements

Requirement Value
Header acpitabl.h