Author: tkreuzer Date: Thu Aug 14 20:00:03 2008 New Revision: 35348
URL: http://svn.reactos.org/svn/reactos?rev=35348&view=rev Log: NDK: update KPRCB based on win2003 and vista symbol files
Modified: branches/ros-amd64-bringup/reactos/include/ndk/amd64/ketypes.h
Modified: branches/ros-amd64-bringup/reactos/include/ndk/amd64/ketypes.h URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/includ... ============================================================================== --- branches/ros-amd64-bringup/reactos/include/ndk/amd64/ketypes.h [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/include/ndk/amd64/ketypes.h [iso-8859-1] Thu Aug 14 20:00:03 2008 @@ -385,6 +385,7 @@ CONTEXT ContextFrame; } KPROCESSOR_STATE, *PKPROCESSOR_STATE;
+#if (NTDDI_VERSION >= NTDDI_LONGHORN) typedef struct _GENERAL_LOOKASIDE_POOL { union @@ -428,6 +429,9 @@ }; ULONG Future[2]; } GENERAL_LOOKASIDE_POOL, *PGENERAL_LOOKASIDE_POOL; +#else +#define GENERAL_LOOKASIDE_POOL PP_LOOKASIDE_LIST +#endif
typedef struct _KREQUEST_PACKET { @@ -449,39 +453,72 @@ typedef struct _KPRCB { ULONG MxCsr; +#if (NTDDI_VERSION >= NTDDI_LONGHORN) USHORT Number; +#else + UCHAR Number; + UCHAR NestingLevel; +#endif UCHAR InterruptRequest; UCHAR IdleHalt; struct _KTHREAD *CurrentThread; struct _KTHREAD *NextThread; struct _KTHREAD *IdleThread; +#if (NTDDI_VERSION >= NTDDI_LONGHORN) UCHAR NestingLevel; UCHAR Group; UCHAR PrcbPad00[6]; +#else + UINT64 UserRsp; +#endif UINT64 RspBase; UINT64 PrcbLock; UINT64 SetMember; KPROCESSOR_STATE ProcessorState; - UCHAR CpuType; - UCHAR CpuID; + CHAR CpuType; + CHAR CpuID; +#if (NTDDI_VERSION >= NTDDI_LONGHORN) + union + { + USHORT CpuStep; + struct + { + UCHAR CpuStepping; + UCHAR CpuModel; + }; + }; +#else USHORT CpuStep; - UCHAR CpuStepping; - UCHAR CpuModel; +#endif ULONG MHz; UINT64 HalReserved[8]; USHORT MinorVersion; USHORT MajorVersion; UCHAR BuildType; UCHAR CpuVendor; +#if (NTDDI_VERSION >= NTDDI_LONGHORN) UCHAR CoresPerPhysicalProcessor; UCHAR LogicalProcessorsPerCore; +#else + UCHAR InitialApicId; + UCHAR LogicalProcessorsPerPhysicalProcessor; +#endif ULONG ApicMask; +#if (NTDDI_VERSION >= NTDDI_LONGHORN) ULONG CFlushSize; +#else + UCHAR CFlushSize; + UCHAR PrcbPad0x[3]; +#endif PVOID AcpiReserved; +#if (NTDDI_VERSION >= NTDDI_LONGHORN) ULONG InitialApicId; ULONG Stride; UINT64 PrcbPad01[3]; - KSPIN_LOCK_QUEUE LockQueue[LockQueueMaximumLock]; +#else + UINT64 PrcbPad00[4]; +#endif + KSPIN_LOCK_QUEUE LockQueue[LockQueueMaximumLock]; // 2003: 33, vista:49 PP_LOOKASIDE_LIST PPLookasideList[16]; GENERAL_LOOKASIDE_POOL PPNPagedLookasideList[32]; GENERAL_LOOKASIDE_POOL PPPagedLookasideList[32]; @@ -490,13 +527,21 @@ LONG MmPageFaultCount; LONG MmCopyOnWriteCount; LONG MmTransitionCount; +#if (NTDDI_VERSION < NTDDI_LONGHORN) + LONG MmCacheTransitionCount; +#endif LONG MmDemandZeroCount; LONG MmPageReadCount; LONG MmPageReadIoCount; +#if (NTDDI_VERSION < NTDDI_LONGHORN) + LONG MmCacheReadCount; + LONG MmCacheIoCount; +#endif LONG MmDirtyPagesWriteCount; LONG MmDirtyWriteIoCount; LONG MmMappedPagesWriteCount; LONG MmMappedWriteIoCount; +#if (NTDDI_VERSION >= NTDDI_LONGHORN) ULONG KeSystemCalls; ULONG KeContextSwitches; ULONG CcFastReadNoWait; @@ -506,12 +551,20 @@ ULONG CcCopyReadWait; ULONG CcCopyReadNoWaitMiss; LONG LookasideIrpFloat; +#else + LONG LookasideIrpFloat; + ULONG KeSystemCalls; +#endif LONG IoReadOperationCount; LONG IoWriteOperationCount; LONG IoOtherOperationCount; LARGE_INTEGER IoReadTransferCount; LARGE_INTEGER IoWriteTransferCount; LARGE_INTEGER IoOtherTransferCount; +#if (NTDDI_VERSION < NTDDI_LONGHORN) + ULONG KeContextSwitches; + UCHAR PrcbPad2[12]; +#endif UINT64 TargetSet; ULONG IpiFrozen; UCHAR PrcbPad3[116]; @@ -520,7 +573,11 @@ UCHAR PrcbPad4[120]; KDPC_DATA DpcData[2]; PVOID DpcStack; +#if (NTDDI_VERSION >= NTDDI_LONGHORN) PVOID SparePtr0; +#else + PVOID SavedRsp; +#endif LONG MaximumDpcQueueDepth; ULONG DpcRequestRate; ULONG MinimumDpcRate; @@ -538,10 +595,18 @@ UCHAR PrcbPad50; UCHAR IdleSchedule; LONG DpcSetEventRequest; +#if (NTDDI_VERSION >= NTDDI_LONGHORN) ULONG KeExceptionDispatchCount; +#else + LONG PrcbPad40; + PVOID DpcThread; +#endif KEVENT DpcEvent; +#if (NTDDI_VERSION >= NTDDI_LONGHORN) PVOID PrcbPad51; +#endif KDPC CallDpc; +#if (NTDDI_VERSION >= NTDDI_LONGHORN) LONG ClockKeepAlive; UCHAR ClockCheckSlot; UCHAR ClockPollCycle; @@ -549,11 +614,18 @@ LONG DpcWatchdogPeriod; LONG DpcWatchdogCount; UINT64 PrcbPad70[2]; +#else + UINT64 PrcbPad7[4]; +#endif LIST_ENTRY WaitListHead; +#if (NTDDI_VERSION >= NTDDI_LONGHORN) UINT64 WaitLock; +#endif ULONG ReadySummary; ULONG QueueIndex; +#if (NTDDI_VERSION >= NTDDI_LONGHORN) UINT64 PrcbPad71[12]; +#endif LIST_ENTRY DispatcherReadyListHead[32]; ULONG InterruptCount; ULONG KernelTime; @@ -564,22 +636,29 @@ UCHAR SkipTick; UCHAR DebuggerSavedIRQL; UCHAR PollSlot; +#if (NTDDI_VERSION >= NTDDI_LONGHORN) UCHAR PrcbPad80[5]; ULONG DpcTimeCount; ULONG DpcTimeLimit; ULONG PeriodicCount; ULONG PeriodicBias; UINT64 PrcbPad81[2]; +#else + UCHAR PrcbPad8[13]; +#endif struct _KNODE *ParentNode; UINT64 MultiThreadProcessorSet; struct _KPRCB *MultiThreadSetMaster; +#if (NTDDI_VERSION >= NTDDI_LONGHORN) UINT64 StartCycles; LONG MmSpinLockOrdering; ULONG PageColor; ULONG NodeColor; ULONG NodeShiftedColor; ULONG SecondaryColorMask; +#endif LONG Sleeping; +#if (NTDDI_VERSION >= NTDDI_LONGHORN) UINT64 CycleTime; ULONG CcFastMdlReadNoWait; ULONG CcFastMdlReadWait; @@ -635,6 +714,35 @@ UINT64 CacheProcessorMask[5]; UINT64 PackageProcessorSet; UINT64 CoreProcessorSet; +#else + ULONG PrcbPad90[1]; + ULONG DebugDpcTime; + ULONG PageColor; + ULONG NodeColor; + ULONG NodeShiftedColor; + ULONG SecondaryColorMask; + UCHAR PrcbPad9[12]; + ULONG CcFastReadNoWait; + ULONG CcFastReadWait; + ULONG CcFastReadNotPossible; + ULONG CcCopyReadNoWait; + ULONG CcCopyReadWait; + ULONG CcCopyReadNoWaitMiss; + ULONG KeAlignmentFixupCount; + ULONG KeDcacheFlushCount; + ULONG KeExceptionDispatchCount; + ULONG KeFirstLevelTbFills; + ULONG KeFloatingEmulationCount; + ULONG KeIcacheFlushCount; + ULONG KeSecondLevelTbFills; + UCHAR VendorString[13]; + UCHAR PrcbPad10[2]; + ULONG FeatureBits; + LARGE_INTEGER UpdateSignature; + PROCESSOR_POWER_STATE PowerState; + CACHE_DESCRIPTOR Cache[5]; + ULONG CacheCount; +#endif } KPRCB, *PKPRCB;