struct _KPCR { unsigned long MinorVersion;/* 0x0 4 */ unsigned long MajorVersion;/* 0x4 4 */ unsigned long FirstLevelDcacheSize;/* 0x8 4 */ unsigned long FirstLevelDcacheFillSize;/* 0xc 4 */ unsigned long FirstLevelIcacheSize;/* 0x10 4 */ unsigned long FirstLevelIcacheFillSize;/* 0x14 4 */ unsigned long SecondLevelDcacheSize;/* 0x18 4 */ unsigned long SecondLevelDcacheFillSize;/* 0x1c 4 */ unsigned long SecondLevelIcacheSize;/* 0x20 4 */ unsigned long SecondLevelIcacheFillSize;/* 0x24 4 */ unsigned long DcacheAlignment;/* 0x28 4 */ unsigned long DcacheFillSize;/* 0x2c 4 */ unsigned long IcacheAlignment;/* 0x30 4 */ unsigned long IcacheFillSize;/* 0x34 4 */ unsigned long ProcessorId;/* 0x38 4 */ unsigned long ProfileInterval;/* 0x3c 4 */ /* ── cacheline 1 boundary (64 bytes) ── */ unsigned long ProfileCount;/* 0x40 4 */ unsigned long StallExecutionCount;/* 0x44 4 */ unsigned long StallScaleFactor;/* 0x48 4 */ unsigned long InterruptionCount;/* 0x4c 4 */ unsigned __int64 SystemReserved[6];/* 0x50 48 */ /* ── cacheline 2 boundary (128 bytes) ── */ unsigned __int64 HalReserved[64];/* 0x80 512 */ /* ── cacheline 10 boundary (640 bytes) ── */ unsigned char IrqlMask[64];/* 0x280 64 */ /* ── cacheline 11 boundary (704 bytes) ── */ unsigned char IrqlTable[64];/* 0x2c0 64 */ /* ── cacheline 12 boundary (768 bytes) ── */ void (*InterruptRoutine[256])(void);/* 0x300 2048 */ /* ── cacheline 44 boundary (2816 bytes) ── */ unsigned long ReservedVectors;/* 0xb00 4 */ /* 4 bytes padding */ unsigned __int64 SetMember;/* 0xb08 8 */ unsigned __int64 NotMember;/* 0xb10 8 */ struct _KPRCB* Prcb;/* 0xb18 8 */ struct _KTHREAD* CurrentThread;/* 0xb20 8 */ char Number;/* 0xb28 1 */ char PollSlot;/* 0xb29 1 */ unsigned char KernelDebugActive;/* 0xb2a 1 */ unsigned char CurrentIrql;/* 0xb2b 1 */ union { unsigned short SoftwareInterruptPending;/* 0xb2c 2 */ struct { unsigned char ApcInterrupt;/* 0xb2c 1 */ unsigned char DispatchInterrupt;/* 0xb2d 1 */ };/* 0xb2c 2 */ };/* 0xb2c 2 */ /* 2 bytes padding */ void* EOITable;/* 0xb30 8 */ unsigned char InOsMca;/* 0xb38 1 */ unsigned char InOsInit;/* 0xb39 1 */ unsigned char InOsCmc;/* 0xb3a 1 */ unsigned char InOsCpe;/* 0xb3b 1 */ unsigned long InOsULONG_Spare;/* 0xb3c 4 */ /* ── cacheline 45 boundary (2880 bytes) ── */ struct _SAL_EVENT_RESOURCES* OsMcaResourcePtr;/* 0xb40 8 */ struct _SAL_EVENT_RESOURCES* OsInitResourcePtr;/* 0xb48 8 */ unsigned char AlternateStack;/* 0xb50 1 */ unsigned char Pad[7];/* 0xb51 7 */ struct _KTHREAD* HighFpOwner;/* 0xb58 8 */ unsigned __int64 Ivr;/* 0xb60 8 */ unsigned __int64 InitialStack;/* 0xb68 8 */ unsigned __int64 InitialBStore;/* 0xb70 8 */ unsigned __int64 StackLimit;/* 0xb78 8 */ /* ── cacheline 46 boundary (2944 bytes) ── */ unsigned __int64 BStoreLimit;/* 0xb80 8 */ unsigned __int64 PanicStack;/* 0xb88 8 */ unsigned __int64 SavedIIM;/* 0xb90 8 */ unsigned __int64 SavedIFA;/* 0xb98 8 */ unsigned __int64 FpbLock;/* 0xba0 8 */ unsigned __int64 ForwardProgressBuffer[16];/* 0xba8 128 */ /* ── cacheline 48 boundary (3072 bytes) ── */ void* Pcb;/* 0xc28 8 */ unsigned __int64 PteUbase;/* 0xc30 8 */ unsigned __int64 PteKbase;/* 0xc38 8 */ /* ── cacheline 49 boundary (3136 bytes) ── */ unsigned __int64 PteSbase;/* 0xc40 8 */ unsigned __int64 PdeUbase;/* 0xc48 8 */ unsigned __int64 PdeKbase;/* 0xc50 8 */ unsigned __int64 PdeSbase;/* 0xc58 8 */ unsigned __int64 PdeUtbase;/* 0xc60 8 */ unsigned __int64 PdeKtbase;/* 0xc68 8 */ unsigned __int64 PdeStbase;/* 0xc70 8 */ struct _SAL_EVENT_RESOURCES OsMcaResource;/* 0xc78 232 */ /* ── cacheline 53 boundary (3392 bytes) ── */ struct _SAL_EVENT_RESOURCES OsInitResource;/* 0xd60 232 */ /* 56 bytes padding */ /* ── cacheline 58 boundary (3712 bytes) ── */ struct _KPRCB PrcbData;/* 0xe80 14976 */ /* ── cacheline 292 boundary (18688 bytes) ── */ struct _PROC_MCA_RECOVERY_INFO OsMcaRecInfo;/* 0x4900 512 */};size 19200 (0x4b00)72 members3 holes (62 bytes)padding 0300 cachelines
Used in (0)