struttura HMAT_ENTRY (acpitabl.h)

La struttura HMAT_ENTRY contiene le informazioni HMAT (Heterogeneous Memory Attribute Table) per la tabella. La struttura può contenere uno dei tre tipi HMAT: MSAR (Memory Subsystem Address Range), System Locality Latency and Bandwidth Information (SLLBI) o 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    AddressMode;
      USHORT    NumberOfSmBiosHandles;
    } Msci;
  } DUMMYUNIONNAME;
} HMAT_ENTRY, *PHMAT_ENTRY;

Membri

Type

Valore USHORT contenente il tipo di tabella HMAT.

Reserved

Riservato a un uso futuro.

Length

Valore ULONG contenente le dimensioni della tabella.

DUMMYUNIONNAME

Definisce l'unione DUMMYUNIONNAME .

DUMMYUNIONNAME.Msar

Definisce la struttura Msar .

DUMMYUNIONNAME.Msar.Flags

Definisce l'unione flag.

DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME

Definisce la struttura DUMMYSTRUCTNAME .

DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME.ProcessorProximityDomainValid

Definisce il membro USHORTProcessorProximityDomainValid.

DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME.Reserved0

Riservato a un uso futuro.

DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME.Reserved1

Riservato a un uso futuro.

DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME.Reserved

Riservato a un uso futuro.

DUMMYUNIONNAME.Msar.Flags.AsUSHort

Definisce il membro USHORTAsUSHort.

DUMMYUNIONNAME.Msar.Reserved1

Riservato a un uso futuro.

DUMMYUNIONNAME.Msar.ProcessorProximityDomain

Definisce il membro ULONGProcessorProximityDomain.

DUMMYUNIONNAME.Msar.MemoryProximityDomain

Definisce il membro ULONGMemoryProximityDomain.

DUMMYUNIONNAME.Msar.Reserved2

Riservato a un uso futuro.

DUMMYUNIONNAME.Msar.Reserved3

Riservato a un uso futuro.

DUMMYUNIONNAME.Msar.Reserved4

Riservato a un uso futuro.

DUMMYUNIONNAME.Sllbi

Definisce l'unione Sllbi .

DUMMYUNIONNAME.Sllbi.Flags

Definisce l'unione flag.

DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME

Definisce la struttura DUMMYSTRUCTNAME .

DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME.MemoryHierarchy

Definisce il membro UCHARMemoryHierarchy.

DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME.MinTransferSizeToAchieveValues

Definisce il membro UCHARMinTransferSizeToAchieveValues.

DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME.NonSequentialTransfers

Definisce il membro UCHARNonSequentialTransfers.

DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME.Reserved

Riservato a un uso futuro.

DUMMYUNIONNAME.Sllbi.Flags.AsUChar

Definisce il membro UCHARAsUChar.

DUMMYUNIONNAME.Sllbi.DataType

Definisce il tipo di dati del membro UCHAR.

DUMMYUNIONNAME.Sllbi.MinTransferSize

Definisce il membro UCHARMinTransferSize.

DUMMYUNIONNAME.Sllbi.Reserved1

Riservato a un uso futuro.

DUMMYUNIONNAME.Sllbi.NumberOfInitiatorProximityDomains

Definisce il membro ULONGNumberOfInitiatorProximityDomains.

DUMMYUNIONNAME.Sllbi.NumberOfTargetProximityDomains

Definisce il membro ULONGNumberOfTargetProximityDomains.

DUMMYUNIONNAME.Sllbi.Reserved2

Riservato a un uso futuro.

DUMMYUNIONNAME.Sllbi.EntryBaseUnit

Definisce il membro ULONGEntryBaseUnit.

DUMMYUNIONNAME.Msci

Definisce l'unione Msci .

DUMMYUNIONNAME.Msci.MemoryProximityDomain

Definisce il membro ULONGMemoryProximityDomain.

DUMMYUNIONNAME.Msci.Reserved1

Riservato a un uso futuro.

DUMMYUNIONNAME.Msci.MemorySideCacheSize

Definisce il membro ULONGMemorySideCacheSize.

DUMMYUNIONNAME.Msci.CacheAttributes

Definisce l'unione CacheAttributes .

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME

Definisce la struttura DUMMYSTRUCTNAME .

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.TotalCacheLevels

Definisce il membro ULONGTotalCacheLevels.

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.CacheLevel

Definisce il membro ULONGCacheLevel.

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.CacheAssociativity

Definisce il membro ULONG CacheAssociativity.

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.WritePolicy

Definisce il membro ULONGWritePolicy.

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.CacheLineSize

Definisce il membro ULONGCacheLineSize.

DUMMYUNIONNAME.Msci.CacheAttributes.AsULong

Definisce il membro ULONGAsULong.

DUMMYUNIONNAME.Msci.AddressMode

DUMMYUNIONNAME.Msci.NumberOfSmBiosHandles

Definisce il membro USHORTNumberOfSmBiosHandles.

Requirements

Requisito Value
Header acpitabl.h