alpha / ntoskrnl /
_KPCR
← first 1 build latest →struct _KPCR { unsigned long MinorVersion;/* 0x0 4 */ unsigned long MajorVersion;/* 0x4 4 */ unsigned __int64 PalBaseAddress;/* 0x8 8 */ unsigned long PalMajorVersion;/* 0x10 4 */ unsigned long PalMinorVersion;/* 0x14 4 */ unsigned long PalSequenceVersion;/* 0x18 4 */ unsigned long PalMajorSpecification;/* 0x1c 4 */ unsigned long PalMinorSpecification;/* 0x20 4 */ /* 4 bytes padding */ unsigned __int64 FirmwareRestartAddress;/* 0x28 8 */ void* RestartBlock;/* 0x30 4 */ /* 4 bytes padding */ unsigned __int64 PalReserved[383];/* 0x38 3064 */ /* ── cacheline 48 boundary (3072 bytes) ── */ unsigned __int64 PalAlignmentFixupCount;/* 0xc30 8 */ void* PanicStack;/* 0xc38 4 */ unsigned long ProcessorType;/* 0xc3c 4 */ /* ── cacheline 49 boundary (3136 bytes) ── */ unsigned long ProcessorRevision;/* 0xc40 4 */ unsigned long PhysicalAddressBits;/* 0xc44 4 */ unsigned long MaximumAddressSpaceNumber;/* 0xc48 4 */ unsigned long PageSize;/* 0xc4c 4 */ unsigned long FirstLevelDcacheSize;/* 0xc50 4 */ unsigned long FirstLevelDcacheFillSize;/* 0xc54 4 */ unsigned long FirstLevelIcacheSize;/* 0xc58 4 */ unsigned long FirstLevelIcacheFillSize;/* 0xc5c 4 */ unsigned long FirmwareRevisionId;/* 0xc60 4 */ unsigned char SystemType[8];/* 0xc64 8 */ unsigned long SystemVariant;/* 0xc6c 4 */ unsigned long SystemRevision;/* 0xc70 4 */ unsigned char SystemSerialNumber[16];/* 0xc74 16 */ /* ── cacheline 50 boundary (3200 bytes) ── */ unsigned long CycleClockPeriod;/* 0xc84 4 */ unsigned long SecondLevelCacheSize;/* 0xc88 4 */ unsigned long SecondLevelCacheFillSize;/* 0xc8c 4 */ unsigned long ThirdLevelCacheSize;/* 0xc90 4 */ unsigned long ThirdLevelCacheFillSize;/* 0xc94 4 */ unsigned long FourthLevelCacheSize;/* 0xc98 4 */ unsigned long FourthLevelCacheFillSize;/* 0xc9c 4 */ struct _KPRCB* Prcb;/* 0xca0 4 */ char Number;/* 0xca4 1 */ /* 3 bytes padding */ unsigned long SetMember;/* 0xca8 4 */ /* 4 bytes padding */ unsigned __int64 HalReserved[64];/* 0xcb0 512 */ /* ── cacheline 58 boundary (3712 bytes) ── */ unsigned long IrqlTable[8];/* 0xeb0 32 */ /* ── cacheline 59 boundary (3776 bytes) ── */ struct _IRQLMASK IrqlMask[132];/* 0xed0 528 */ /* ── cacheline 67 boundary (4288 bytes) ── */ void (*InterruptRoutine[256])(void);/* 0x10e0 1024 */ /* ── cacheline 83 boundary (5312 bytes) ── */ unsigned long ReservedVectors;/* 0x14e0 4 */ unsigned long NotMember;/* 0x14e4 4 */ unsigned long InterruptInProgress;/* 0x14e8 4 */ unsigned long DpcRequested;/* 0x14ec 4 */ unsigned char (*MachineCheckError)(struct _EXCEPTION_RECORD*, struct _KEXCEPTION_FRAME*, struct _KTRAP_FRAME*);/* 0x14f0 4 */ void* DpcStack;/* 0x14f4 4 */ unsigned long Spare1;/* 0x14f8 4 */ unsigned long CurrentPid;/* 0x14fc 4 */ /* ── cacheline 84 boundary (5376 bytes) ── */ unsigned long Spare2;/* 0x1500 4 */ unsigned long SystemServiceDispatchStart;/* 0x1504 4 */ unsigned long SystemServiceDispatchEnd;/* 0x1508 4 */ struct _KTHREAD* IdleThread;/* 0x150c 4 */};/* source: Windows 2000 RC2 DDK Alpha libcntpr.lib CodeView type records; build 2128 per the DDK's ntverp.h */size 5392 (0x1510)53 members4 holes (15 bytes)padding 085 cachelines
Used in (1)