다음을 통해 공유


HMAT_ENTRY 구조체(acpitabl.h)

HMAT_ENTRY 구조에는 테이블에 대한 다른 유형의 HMAT(메모리 특성 테이블) 정보가 포함됩니다. 구조체에는 세 가지 HMAT 유형 중 하나인 MSAR(메모리 하위 시스템 주소 범위), 시스템 지역성 대기 시간 및 SLLBI(대역폭 정보) 또는 MSCI(메모리 쪽 캐시 정보) 중 하나가 포함될 수 있습니다.

구문

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;

멤버

Type

HMAT 테이블 형식을 포함하는 USHORT 값입니다.

Reserved

다음에 사용하도록 예약됩니다.

Length

테이블의 크기를 포함하는 ULONG 값입니다.

DUMMYUNIONNAME

DUMMYUNIONNAME 공용 구조체를 정의합니다.

DUMMYUNIONNAME.Msar

Msar 구조를 정의합니다.

DUMMYUNIONNAME.Msar.Flags

Flags 공용 구조체를 정의합니다.

DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME

DUMMYSTRUCTNAME 구조를 정의합니다.

DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME.ProcessorProximityDomainValid

USHORT 멤버 ProcessorProximityDomainValid를 정의합니다.

DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME.Reserved0

나중에 사용하기 위해 예약되어 있습니다.

DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME.Reserved1

나중에 사용하기 위해 예약되어 있습니다.

DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME.Reserved

나중에 사용하기 위해 예약되어 있습니다.

DUMMYUNIONNAME.Msar.Flags.AsUSHort

USHORT 멤버 AsUSHort을 정의합니다.

DUMMYUNIONNAME.Msar.Reserved1

다음에 사용하도록 예약됩니다.

DUMMYUNIONNAME.Msar.ProcessorProximityDomain

ULONG 멤버 ProcessorProximityDomain을 정의합니다.

DUMMYUNIONNAME.Msar.MemoryProximityDomain

ULONG 멤버 MemoryProximityDomain을 정의합니다.

DUMMYUNIONNAME.Msar.Reserved2

나중에 사용하기 위해 예약되어 있습니다.

DUMMYUNIONNAME.Msar.Reserved3

나중에 사용하기 위해 예약되어 있습니다.

DUMMYUNIONNAME.Msar.Reserved4

나중에 사용하기 위해 예약되어 있습니다.

DUMMYUNIONNAME.Sllbi

Sllbi 공용 구조체를 정의합니다.

DUMMYUNIONNAME.Sllbi.Flags

Flags 공용 구조체를 정의합니다.

DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME

DUMMYSTRUCTNAME 구조를 정의합니다.

DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME.MemoryHierarchy

UCHAR 멤버 MemoryHierarchy를 정의합니다.

DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME.MinTransferSizeToAchieveValues

UCHAR 멤버 MinTransferSizeToAchieveValues를 정의합니다.

DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME.NonSequentialTransfers

UCHAR 멤버 NonSequentialTransfers를 정의합니다.

DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME.Reserved

다음에 사용하도록 예약됩니다.

DUMMYUNIONNAME.Sllbi.Flags.AsUChar

UCHAR 멤버 AsUChar를 정의합니다.

DUMMYUNIONNAME.Sllbi.DataType

UCHAR 멤버 DataType을 정의합니다.

DUMMYUNIONNAME.Sllbi.MinTransferSize

UCHAR 멤버 MinTransferSize를 정의합니다.

DUMMYUNIONNAME.Sllbi.Reserved1

다음에 사용하도록 예약됩니다.

DUMMYUNIONNAME.Sllbi.NumberOfInitiatorProximityDomains

ULONG 멤버 NumberOfInitiatorProximityDomains를 정의합니다.

DUMMYUNIONNAME.Sllbi.NumberOfTargetProximityDomains

ULONG 멤버 NumberOfTargetProximityDomains를 정의합니다.

DUMMYUNIONNAME.Sllbi.Reserved2

다음에 사용하도록 예약됩니다.

DUMMYUNIONNAME.Sllbi.EntryBaseUnit

ULONGLONG 멤버 EntryBaseUnit을 정의합니다.

DUMMYUNIONNAME.Msci

Msci 공용 구조체를 정의합니다.

DUMMYUNIONNAME.Msci.MemoryProximityDomain

ULONG 멤버 MemoryProximityDomain을 정의합니다.

DUMMYUNIONNAME.Msci.Reserved1

다음에 사용하도록 예약됩니다.

DUMMYUNIONNAME.Msci.MemorySideCacheSize

ULONGLONG 멤버 MemorySideCacheSize를 정의합니다.

DUMMYUNIONNAME.Msci.CacheAttributes

CacheAttributes 공용 구조체를 정의합니다.

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME

DUMMYSTRUCTNAME 구조를 정의합니다.

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.TotalCacheLevels

ULONG 멤버 TotalCacheLevels를 정의합니다.

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.CacheLevel

ULONG 멤버 CacheLevel을 정의합니다.

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.CacheAssociativity

ULONG 멤버 CacheAssociativity를 정의합니다.

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.WritePolicy

ULONG 멤버 WritePolicy를 정의합니다.

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.CacheLineSize

ULONG 멤버 CacheLineSize를 정의합니다.

DUMMYUNIONNAME.Msci.CacheAttributes.AsULong

ULONG 멤버 AsULong을 정의합니다.

DUMMYUNIONNAME.Msci.Reserved2

다음에 사용하도록 예약됩니다.

DUMMYUNIONNAME.Msci.NumberOfSmBiosHandles

USHORT 멤버 NumberOfSmBiosHandles를 정의합니다.

요구 사항

요구 사항
헤더 acpitabl.h