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 |