arm64 / ntdllntoskrnl /

_KPRCB

← first 1 build latest →
struct _KPRCB {
unsigned char LegacyNumber;/* 0x0 1 */
unsigned char ReservedMustBeZero;/* 0x1 1 */
unsigned char IdleHalt;/* 0x2 1 */
/* 5 bytes padding */
unsigned char NestingLevel;/* 0x20 1 */
unsigned char ClockOwner;/* 0x21 1 */
union {
unsigned char PendingTickFlags;/* 0x22 1 */
struct {
unsigned char PendingTick : 1;/* 0x22:0 1 */
unsigned char PendingBackupTick : 1;/* 0x22:1 1 */
};/* 0x22 1 */
};/* 0x22 1 */
unsigned char IdleState;/* 0x23 1 */
unsigned long Number;/* 0x24 4 */
unsigned __int64 PrcbLock;/* 0x28 8 */
/* 8 bytes padding */
/* ── cacheline 1 boundary (64 bytes) ── */
/* ── cacheline 28 boundary (1792 bytes) ── */
unsigned __int64 HalReserved[10];/* 0x710 80 */
/* ── cacheline 29 boundary (1856 bytes) ── */
unsigned short MinorVersion;/* 0x760 2 */
unsigned short MajorVersion;/* 0x762 2 */
unsigned char BuildType;/* 0x764 1 */
unsigned char CpuVendor;/* 0x765 1 */
unsigned char LegacyCoresPerPhysicalProcessor;/* 0x766 1 */
unsigned char LegacyLogicalProcessorsPerCore;/* 0x767 1 */
void* AcpiReserved;/* 0x768 8 */
unsigned short ProcessorModel;/* 0x770 2 */
unsigned short ProcessorRevision;/* 0x772 2 */
unsigned long MHz;/* 0x774 4 */
unsigned __int64 CycleCounterFrequency;/* 0x778 8 */
/* ── cacheline 30 boundary (1920 bytes) ── */
unsigned __int64 GroupSetMember;/* 0x780 8 */
unsigned char Group;/* 0x788 1 */
unsigned char GroupIndex;/* 0x789 1 */
unsigned char QpcToTscIncrementShift;/* 0x78a 1 */
unsigned char PrcbPad3[5];/* 0x78b 5 */
unsigned long CoresPerPhysicalProcessor;/* 0x790 4 */
unsigned long LogicalProcessorsPerCore;/* 0x794 4 */
unsigned __int64 QpcToTscIncrement;/* 0x798 8 */
unsigned __int64 PrcbPad4[12];/* 0x7a0 96 */
/* ── cacheline 32 boundary (2048 bytes) ── */
/* ── cacheline 36 boundary (2304 bytes) ── */
unsigned char ProcessorVendorString[2];/* 0x910 2 */
unsigned char PrcbPad5[1];/* 0x912 1 */
/* 1 byte padding */
unsigned long FeatureBits;/* 0x914 4 */
unsigned long MaxBreakpoints;/* 0x918 4 */
unsigned long MaxWatchpoints;/* 0x91c 4 */
unsigned long ContextFlagsInit;/* 0x928 4 */
unsigned char EmulatedAccess;/* 0x92c 1 */
/* 3 bytes padding */
unsigned long EmulatedFaultSyndrome;/* 0x930 4 */
/* 4 bytes padding */
unsigned __int64 EmulatedFaultAddress;/* 0x938 8 */
/* ── cacheline 37 boundary (2368 bytes) ── */
unsigned __int64 EmulatedLoadStoreAcquireRelease;/* 0x940 8 */
unsigned __int64 EmulatedMisalignedAtomics;/* 0x948 8 */
volatile long EmulatedCoalesceCount;/* 0x950 4 */
volatile unsigned long TrapFrameLogIndex;/* 0x954 4 */
/* 32 bytes padding */
/* ── cacheline 38 boundary (2432 bytes) ── */
/* ── cacheline 42 boundary (2688 bytes) ── */
volatile long PacketBarrier;/* 0xa80 4 */
/* 4 bytes padding */
volatile long MmPageFaultCount;/* 0xa90 4 */
volatile long MmCopyOnWriteCount;/* 0xa94 4 */
volatile long MmTransitionCount;/* 0xa98 4 */
volatile long MmDemandZeroCount;/* 0xa9c 4 */
volatile long MmPageReadCount;/* 0xaa0 4 */
volatile long MmPageReadIoCount;/* 0xaa4 4 */
volatile long MmDirtyPagesWriteCount;/* 0xaa8 4 */
volatile long MmDirtyWriteIoCount;/* 0xaac 4 */
volatile long MmMappedPagesWriteCount;/* 0xab0 4 */
volatile long MmMappedWriteIoCount;/* 0xab4 4 */
unsigned long KeSystemCalls;/* 0xab8 4 */
unsigned long KeContextSwitches;/* 0xabc 4 */
/* ── cacheline 43 boundary (2752 bytes) ── */
unsigned long CcFastReadNoWait;/* 0xac0 4 */
unsigned long CcFastReadWait;/* 0xac4 4 */
unsigned long CcFastReadNotPossible;/* 0xac8 4 */
unsigned long CcCopyReadNoWait;/* 0xacc 4 */
unsigned long CcCopyReadWait;/* 0xad0 4 */
unsigned long CcCopyReadNoWaitMiss;/* 0xad4 4 */
long LookasideIrpFloat;/* 0xad8 4 */
volatile long IoReadOperationCount;/* 0xadc 4 */
volatile long IoWriteOperationCount;/* 0xae0 4 */
volatile long IoOtherOperationCount;/* 0xae4 4 */
/* ── cacheline 44 boundary (2816 bytes) ── */
volatile long TargetCount;/* 0xb08 4 */
volatile unsigned long IpiFrozen;/* 0xb0c 4 */
volatile unsigned long RequestSummary;/* 0xb10 4 */
/* 4 bytes padding */
/* ── cacheline 45 boundary (2880 bytes) ── */
void* DpcStack;/* 0xb78 8 */
/* ── cacheline 46 boundary (2944 bytes) ── */
void* SpBase;/* 0xb80 8 */
long MaximumDpcQueueDepth;/* 0xb88 4 */
unsigned long DpcRequestRate;/* 0xb8c 4 */
unsigned long MinimumDpcRate;/* 0xb90 4 */
unsigned long DpcLastCount;/* 0xb94 4 */
unsigned char ThreadDpcEnable;/* 0xb98 1 */
volatile unsigned char QuantumEnd;/* 0xb99 1 */
volatile unsigned char DpcRoutineActive;/* 0xb9a 1 */
volatile unsigned char IdleSchedule;/* 0xb9b 1 */
union {
volatile long DpcRequestSummary;/* 0xb9c 4 */
short DpcRequestSlot[2];/* 0xb9c 4 */
struct {
short NormalDpcState;/* 0xb9c 2 */
short ThreadDpcState;/* 0xb9e 2 */
};/* 0xb9c 4 */
struct {
unsigned long DpcNormalProcessingActive : 1;/* 0xb9c:0 4 */
unsigned long DpcNormalProcessingRequested : 1;/* 0xb9c:1 4 */
unsigned long DpcNormalThreadSignal : 1;/* 0xb9c:2 4 */
unsigned long DpcNormalTimerExpiration : 1;/* 0xb9c:3 4 */
unsigned long DpcNormalDpcPresent : 1;/* 0xb9c:4 4 */
unsigned long DpcNormalLocalInterrupt : 1;/* 0xb9c:5 4 */
unsigned long DpcNormalPriorityAntiStarvation : 1;/* 0xb9c:6 4 */
unsigned long DpcNormalSwapToDpcDelegate : 1;/* 0xb9c:7 4 */
unsigned long DpcNormalSpare : 8;/* 0xb9c:8 4 */
unsigned long DpcThreadActive : 1;/* 0xb9c:16 4 */
unsigned long DpcThreadRequested : 1;/* 0xb9c:17 4 */
unsigned long DpcThreadSpare : 14;/* 0xb9c:18 4 */
};/* 0xb9c 4 */
};/* 0xb9c 4 */
unsigned long LastTick;/* 0xba0 4 */
unsigned long ClockInterrupts;/* 0xba4 4 */
unsigned long ReadyScanTick;/* 0xba8 4 */
unsigned long InterruptLastCount;/* 0xbb0 4 */
unsigned long InterruptRate;/* 0xbb4 4 */
unsigned long SingleDpcSoftTimeLimitTicks;/* 0xbb8 4 */
unsigned long CumulativeDpcSoftTimeLimitTicks;/* 0xbbc 4 */
/* ── cacheline 47 boundary (3008 bytes) ── */
/* 56 bytes padding */
/* ── cacheline 48 boundary (3072 bytes) ── */
unsigned __int64 MPAffinity;/* 0xc18 8 */
/* ── cacheline 49 boundary (3136 bytes) ── */
long ClockKeepAlive;/* 0xc60 4 */
unsigned char PrcbPad11[2];/* 0xc64 2 */
/* 2 bytes padding */
long DpcWatchdogPeriodTicks;/* 0xc68 4 */
long DpcWatchdogCount;/* 0xc6c 4 */
unsigned long DpcWatchdogSequenceNumber;/* 0xc70 4 */
volatile long KeSpinLockOrdering;/* 0xc74 4 */
unsigned __int64 TrappedSecurityDomain;/* 0xc78 8 */
/* ── cacheline 50 boundary (3200 bytes) ── */
unsigned __int64 WaitLock;/* 0xc90 8 */
unsigned long ReadySummary;/* 0xc98 4 */
long AffinitizedSelectionMask;/* 0xc9c 4 */
unsigned long QueueIndex;/* 0xca0 4 */
unsigned long NormalPriorityQueueIndex;/* 0xca4 4 */
unsigned long NormalPriorityReadyScanTick;/* 0xca8 4 */
/* 4 bytes padding */
/* ── cacheline 51 boundary (3264 bytes) ── */
/* ── cacheline 52 boundary (3328 bytes) ── */
/* 112 bytes padding */
/* ── cacheline 54 boundary (3456 bytes) ── */
/* ── cacheline 62 boundary (3968 bytes) ── */
unsigned long InterruptCount;/* 0xf80 4 */
unsigned long KernelTime;/* 0xf84 4 */
unsigned long UserTime;/* 0xf88 4 */
unsigned long DpcTime;/* 0xf8c 4 */
unsigned long InterruptTime;/* 0xf90 4 */
unsigned long AdjustDpcThreshold;/* 0xf94 4 */
unsigned char SkipTick;/* 0xf98 1 */
unsigned char DebuggerSavedIRQL;/* 0xf99 1 */
unsigned char TbFlushListActive;/* 0xf9a 1 */
unsigned char GroupSchedulingOverQuota;/* 0xf9b 1 */
unsigned long DpcTimeCount;/* 0xf9c 4 */
unsigned long DpcTimeLimitTicks;/* 0xfa0 4 */
unsigned long PeriodicCount;/* 0xfa4 4 */
unsigned long PeriodicBias;/* 0xfa8 4 */
unsigned long AvailableTime;/* 0xfac 4 */
unsigned long ScbOffset;/* 0xfb0 4 */
unsigned long KeExceptionDispatchCount;/* 0xfb4 4 */
/* ── cacheline 63 boundary (4032 bytes) ── */
unsigned __int64 AffinitizedCycles;/* 0xfc0 8 */
unsigned __int64 StartCycles;/* 0xfc8 8 */
unsigned __int64 TaggedCycles[4];/* 0xfd0 32 */
unsigned long CpuCycleScalingFactor;/* 0xff0 4 */
/* 4 bytes padding */
/* ── cacheline 69 boundary (4416 bytes) ── */
void* CachedStacks[2];/* 0x1150 16 */
unsigned long PageColor;/* 0x1160 4 */
unsigned long NodeColor;/* 0x1164 4 */
unsigned long PrcbPad18[2];/* 0x1168 8 */
volatile unsigned __int64 CycleTime;/* 0x1170 8 */
unsigned __int64 Cycles[4][2];/* 0x1178 64 */
/* 72 bytes padding */
/* ── cacheline 72 boundary (4608 bytes) ── */
/* ── cacheline 78 boundary (4992 bytes) ── */
unsigned long CcFastMdlReadNoWait;/* 0x1380 4 */
unsigned long CcFastMdlReadWait;/* 0x1384 4 */
unsigned long CcFastMdlReadNotPossible;/* 0x1388 4 */
unsigned long CcMapDataNoWait;/* 0x138c 4 */
unsigned long CcMapDataWait;/* 0x1390 4 */
unsigned long CcPinMappedDataCount;/* 0x1394 4 */
unsigned long CcPinReadNoWait;/* 0x1398 4 */
unsigned long CcPinReadWait;/* 0x139c 4 */
unsigned long CcMdlReadNoWait;/* 0x13a0 4 */
unsigned long CcMdlReadWait;/* 0x13a4 4 */
unsigned long CcLazyWriteHotSpots;/* 0x13a8 4 */
unsigned long CcLazyWriteIos;/* 0x13ac 4 */
unsigned long CcLazyWritePages;/* 0x13b0 4 */
unsigned long CcDataFlushes;/* 0x13b4 4 */
unsigned long CcDataPages;/* 0x13b8 4 */
unsigned long CcLostDelayedWrites;/* 0x13bc 4 */
/* ── cacheline 79 boundary (5056 bytes) ── */
unsigned long CcFastReadResourceMiss;/* 0x13c0 4 */
unsigned long CcCopyReadWaitMiss;/* 0x13c4 4 */
unsigned long CcFastMdlReadResourceMiss;/* 0x13c8 4 */
unsigned long CcMapDataNoWaitMiss;/* 0x13cc 4 */
unsigned long CcMapDataWaitMiss;/* 0x13d0 4 */
unsigned long CcPinReadNoWaitMiss;/* 0x13d4 4 */
unsigned long CcPinReadWaitMiss;/* 0x13d8 4 */
unsigned long CcMdlReadNoWaitMiss;/* 0x13dc 4 */
unsigned long CcMdlReadWaitMiss;/* 0x13e0 4 */
unsigned long CcReadAheadIos;/* 0x13e4 4 */
volatile long MmCacheTransitionCount;/* 0x13e8 4 */
volatile long MmCacheReadCount;/* 0x13ec 4 */
volatile long MmCacheIoCount;/* 0x13f0 4 */
/* 12 bytes padding */
/* ── cacheline 80 boundary (5120 bytes) ── */
/* ── cacheline 87 boundary (5568 bytes) ── */
/* ── cacheline 88 boundary (5632 bytes) ── */
/* ── cacheline 89 boundary (5696 bytes) ── */
void (*CurrentDpcRoutine)(struct _KDPC*, void*, void*, void*);/* 0x1648 8 */
unsigned __int64 CurrentDpcRuntimeHistoryCached;/* 0x1650 8 */
unsigned __int64 CurrentDpcStartTime;/* 0x1658 8 */
unsigned long DeviceInterrupts;/* 0x1668 4 */
/* 4 bytes padding */
void* IsrDpcStats;/* 0x1670 8 */
unsigned long KeAlignmentFixupCount;/* 0x1678 4 */
unsigned char CycleAccumulationInitialized;/* 0x167c 1 */
unsigned char PrcbPad21[3];/* 0x167d 3 */
/* ── cacheline 90 boundary (5760 bytes) ── */
volatile __int64 MmSpinLockOrdering;/* 0x1680 8 */
/* ── cacheline 91 boundary (5824 bytes) ── */
unsigned __int64 StartCyclesQpc;/* 0x16c8 8 */
unsigned __int64 CycleTimeQpc;/* 0x16d0 8 */
unsigned __int64 NumberOfSecureFaults;/* 0x16d8 8 */
unsigned __int64 PrcbPad22[5];/* 0x16e0 40 */
/* 8 bytes padding */
/* ── cacheline 92 boundary (5888 bytes) ── */
/* ── cacheline 96 boundary (6144 bytes) ── */
union {
struct {
unsigned long ProcessorId;/* 0x1828 4 */
unsigned long CoreId;/* 0x182c 4 */
unsigned long ModuleId;/* 0x1830 4 */
unsigned long DieId;/* 0x1834 4 */
unsigned long PackageId;/* 0x1838 4 */
};/* 0x1828 20 */
unsigned long TopologyId[5];/* 0x1828 20 */
};/* 0x1828 20 */
unsigned char PrcbPad25[84];/* 0x183c 84 */
/* 112 bytes padding */
/* ── cacheline 100 boundary (6400 bytes) ── */
unsigned __int64 SharedReadyQueueMask;/* 0x1900 8 */
unsigned long SharedQueueScanOwner;/* 0x1910 4 */
unsigned long ScanSiblingIndex;/* 0x1914 4 */
unsigned __int64 CoreProcessorSet;/* 0x1920 8 */
unsigned __int64 ScanSiblingMask;/* 0x1928 8 */
unsigned __int64 LLCMask;/* 0x1930 8 */
unsigned __int64 GroupModuleProcessorSet;/* 0x1938 8 */
/* ── cacheline 101 boundary (6464 bytes) ── */
unsigned __int64 PrcbPad19[4];/* 0x1940 32 */
/* ── cacheline 102 boundary (6528 bytes) ── */
unsigned char CacheCount;/* 0x19b0 1 */
unsigned char PrcbPad20;/* 0x19b1 1 */
unsigned char SystemWorkKickInProgress;/* 0x19b2 1 */
unsigned char ExceptionStackActive;/* 0x19b3 1 */
volatile unsigned long CachedCommit;/* 0x19b4 4 */
volatile unsigned long CachedResidentAvailable;/* 0x19b8 4 */
/* 4 bytes padding */
/* ── cacheline 103 boundary (6592 bytes) ── */
void* MmFaultCompletionInfo;/* 0x19c0 8 */
void* MmInternal;/* 0x19c8 8 */
unsigned __int64 GenerationTarget;/* 0x19d0 8 */
unsigned __int64 PrcbPad24[1];/* 0x19d8 8 */
void* VmInternal;/* 0x19e0 8 */
void* DpcLog;/* 0x19e8 8 */
unsigned long DpcLogIndex;/* 0x19f0 4 */
unsigned long DpcLogBufferSize;/* 0x19f4 4 */
void* ExceptionStack;/* 0x19f8 8 */
/* ── cacheline 104 boundary (6656 bytes) ── */
void* WheaInfo;/* 0x1a00 8 */
void* EtwSupport;/* 0x1a08 8 */
void* HypercallCachedPages;/* 0x1a20 8 */
void* VirtualApicAssist;/* 0x1a28 8 */
unsigned __int64* StatisticsPage;/* 0x1a38 8 */
/* 64 bytes padding */
/* ── cacheline 106 boundary (6784 bytes) ── */
/* ── cacheline 108 boundary (6912 bytes) ── */
unsigned __int64 PteBitCache;/* 0x1b38 8 */
/* ── cacheline 109 boundary (6976 bytes) ── */
unsigned long PteBitOffset;/* 0x1b40 4 */
/* 4 bytes padding */
unsigned __int64 PanicStackBase;/* 0x1b58 8 */
void* IsrStack;/* 0x1b60 8 */
/* 24 bytes padding */
/* ── cacheline 110 boundary (7040 bytes) ── */
/* 104 bytes padding */
/* ── cacheline 376 boundary (24064 bytes) ── */
/* ── cacheline 424 boundary (27136 bytes) ── */
/* ── cacheline 472 boundary (30208 bytes) ── */
/* ── cacheline 520 boundary (33280 bytes) ── */
/* ── cacheline 521 boundary (33344 bytes) ── */
/* ── cacheline 522 boundary (33408 bytes) ── */
/* 8 bytes padding */
/* ── cacheline 524 boundary (33536 bytes) ── */
/* ── cacheline 528 boundary (33792 bytes) ── */
unsigned long TimerExpirationTraceCount;/* 0x8408 4 */
/* 116 bytes padding */
/* ── cacheline 530 boundary (33920 bytes) ── */
/* ── cacheline 550 boundary (35200 bytes) ── */
void* ExSaPageArray;/* 0x8998 8 */
/* ── cacheline 551 boundary (35264 bytes) ── */
volatile long FreezePowerOff;/* 0x89c8 4 */
unsigned long DpcWatchdogProfileBufferSize;/* 0x89cc 4 */
/* ── cacheline 583 boundary (37312 bytes) ── */
/* ── cacheline 592 boundary (37888 bytes) ── */
unsigned __int64* CyclesByThreadType;/* 0x9420 8 */
unsigned long ReadyThreadCount;/* 0x9428 4 */
/* 4 bytes padding */
unsigned __int64 ReadyQueueExpectedRunTime;/* 0x9430 8 */
/* ── cacheline 593 boundary (37952 bytes) ── */
unsigned long DpcWatchdogProfileCumulativeDpcThresholdTicks;/* 0x9448 4 */
unsigned long DpcWatchdogProfileSingleDpcThresholdTicks;/* 0x944c 4 */
void** DpcWatchdogProfile;/* 0x9450 8 */
void** DpcWatchdogProfileCurrentEmptyCapture;/* 0x9458 8 */
void* SchedulerAssist;/* 0x9460 8 */
/* ── cacheline 595 boundary (38080 bytes) ── */
/* ── cacheline 619 boundary (39616 bytes) ── */
/* ── cacheline 624 boundary (39936 bytes) ── */
/* ── cacheline 628 boundary (40192 bytes) ── */
unsigned long CoreControlBlockIndex;/* 0x9d38 4 */
unsigned long PrcbPad26;/* 0x9d3c 4 */
/* ── cacheline 629 boundary (40256 bytes) ── */
/* ── cacheline 630 boundary (40320 bytes) ── */
unsigned long NodeRelativeTopologyIndex[5];/* 0x9d88 20 */
/* 4 bytes padding */
/* ── cacheline 631 boundary (40384 bytes) ── */
/* ── cacheline 632 boundary (40448 bytes) ── */
/* ── cacheline 633 boundary (40512 bytes) ── */
/* 24 bytes padding */
/* ── cacheline 634 boundary (40576 bytes) ── */
};
size 40704 (0x9f00)319 members28 holes (803 bytes)padding 64636 cachelines
Used in (4)