x64x86arm64 / ntdllntoskrnl

_MI_HARDWARE_STATE

← 10.0.18362.1016 8 builds latest →
struct _MI_HARDWARE_STATE {
unsigned long NodeMask;/* 0x0 4 */
unsigned long NumaHintIndex;/* 0x4 4 */
unsigned long NumaLastRangeIndexInclusive;/* 0x8 4 */
unsigned char NodeShift;/* 0xc 1 */
unsigned char ChannelShift;/* 0xd 1 */
/* 2 bytes padding */
unsigned long ChannelHintIndex;/* 0x10 4 */
unsigned long ChannelLastRangeIndexInclusive;/* 0x14 4 */
unsigned long SecondLevelCacheSize;/* 0x38 4 */
unsigned long FirstLevelCacheSize;/* 0x3c 4 */
/* ── cacheline 1 boundary (64 bytes) ── */
unsigned long PhysicalAddressBits;/* 0x40 4 */
unsigned long LogicalProcessorsPerCore;/* 0x44 4 */
unsigned char ProcessorCachesFlushedOnPowerLoss;/* 0x48 1 */
/* 3 bytes padding */
unsigned long TotalPagesAllowed;/* 0x4c 4 */
unsigned long SecondaryColorMask;/* 0x50 4 */
unsigned long SecondaryColors;/* 0x54 4 */
unsigned long FlushTbForAttributeChange;/* 0x58 4 */
unsigned long FlushCacheForAttributeChange;/* 0x5c 4 */
unsigned long FlushCacheForPageAttributeChange;/* 0x60 4 */
unsigned long CacheFlushPromoteThreshold;/* 0x64 4 */
/* 16 bytes padding */
/* ── cacheline 2 boundary (128 bytes) ── */
unsigned __int64 InvalidPteMask;/* 0x80 8 */
/* 56 bytes padding */
/* ── cacheline 3 boundary (192 bytes) ── */
unsigned long LargePageColors[2];/* 0xc0 8 */
unsigned long FlushTbThreshold;/* 0xc8 4 */
/* ── cacheline 4 boundary (256 bytes) ── */
unsigned char AttributeChangeRequiresReZero;/* 0x10c 1 */
/* 3 bytes padding */
unsigned long HighestPossiblePhysicalPage;/* 0x130 4 */
unsigned long VsmKernelPageCount;/* 0x134 4 */
};
size 320 (0x140)33 members5 holes (80 bytes)padding 85 cachelines
Used in (1)