다음을 통해 공유


HMAT_ENTRY 구조체(acpitabl.h)

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

통사론

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

플래그 공용 구조체를 정의합니다.

DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME

DUMMYSTRUCTNAME 구조체를 정의합니다.

DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME.ProcessorProximityDomainValid

ProcessorProximityDomainValid USHORT 멤버를 정의합니다.

DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME.Reserved0

나중에 사용할 수 있습니다.

DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME.Reserved1

나중에 사용할 수 있습니다.

DUMMYUNIONNAME.Msar.Flags.DUMMYSTRUCTNAME.Reserved

나중에 사용할 수 있습니다.

DUMMYUNIONNAME.Msar.Flags.AsUSHort

asUSHort USHORT 멤버를 정의합니다.

DUMMYUNIONNAME.Msar.Reserved1

나중에 사용할 수 있습니다.

DUMMYUNIONNAME.Msar.ProcessorProximityDomain

ProcessorProximityDomain ULONG 멤버를 정의합니다.

DUMMYUNIONNAME.Msar.MemoryProximityDomain

MemoryProximityDomain ULONG 멤버를 정의합니다.

DUMMYUNIONNAME.Msar.Reserved2

나중에 사용할 수 있습니다.

DUMMYUNIONNAME.Msar.Reserved3

나중에 사용할 수 있습니다.

DUMMYUNIONNAME.Msar.Reserved4

나중에 사용할 수 있습니다.

DUMMYUNIONNAME.Sllbi

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

DUMMYUNIONNAME.Sllbi.Flags

플래그 공용 구조체를 정의합니다.

DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME

DUMMYSTRUCTNAME 구조체를 정의합니다.

DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME.MemoryHierarchy

MemoryHierarchy UCHAR 멤버를 정의합니다.

DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME.MinTransferSizeToAchieveValues

MinTransferSizeToAchieveValues UCHAR 멤버를 정의합니다.

DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME.NonSequentialTransfers

NonSequentialTransfers UCHAR 멤버를 정의합니다.

DUMMYUNIONNAME.Sllbi.Flags.DUMMYSTRUCTNAME.Reserved

나중에 사용할 수 있습니다.

DUMMYUNIONNAME.Sllbi.Flags.AsUChar

AsUChar UCHAR 멤버를 정의합니다.

DUMMYUNIONNAME.Sllbi.DataType

UCHAR 멤버 DataType정의합니다.

DUMMYUNIONNAME.Sllbi.MinTransferSize

MinTransferSize UCHAR 멤버를 정의합니다.

DUMMYUNIONNAME.Sllbi.Reserved1

나중에 사용할 수 있습니다.

DUMMYUNIONNAME.Sllbi.NumberOfInitiatorProximityDomains

NumberOfInitiatorProximityDomains ULONG 멤버를 정의합니다.

DUMMYUNIONNAME.Sllbi.NumberOfTargetProximityDomains

NumberOfTargetProximityDomains ULONG 멤버를 정의합니다.

DUMMYUNIONNAME.Sllbi.Reserved2

나중에 사용할 수 있습니다.

DUMMYUNIONNAME.Sllbi.EntryBaseUnit

ULONGLONG 멤버 EntryBaseUnit정의합니다.

DUMMYUNIONNAME.Msci

msci 공용 정의합니다.

DUMMYUNIONNAME.Msci.MemoryProximityDomain

MemoryProximityDomain ULONG 멤버를 정의합니다.

DUMMYUNIONNAME.Msci.Reserved1

나중에 사용할 수 있습니다.

DUMMYUNIONNAME.Msci.MemorySideCacheSize

ULONGLONG 멤버 MemorySideCacheSize정의합니다.

DUMMYUNIONNAME.Msci.CacheAttributes

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

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME

DUMMYSTRUCTNAME 구조체를 정의합니다.

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.TotalCacheLevels

TotalCacheLevels ULONG 멤버를 정의합니다.

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.CacheLevel

ULONG 멤버 CacheLevel정의합니다.

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.CacheAssociativity

ULONG 멤버 CacheAssociativity를 정의합니다.

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.WritePolicy

WritePolicy ULONG 멤버를 정의합니다.

DUMMYUNIONNAME.Msci.CacheAttributes.DUMMYSTRUCTNAME.CacheLineSize

ULONG 멤버 CacheLineSize정의합니다.

DUMMYUNIONNAME.Msci.CacheAttributes.AsULong

ULONG 멤버 AsULong정의합니다.

DUMMYUNIONNAME.Msci.Reserved2

나중에 사용할 수 있습니다.

DUMMYUNIONNAME.Msci.NumberOfSmBiosHandles

NumberOfSmBiosHandles USHORT 멤버를 정의합니다.

요구 사항

요구
헤더 acpitabl.h