Author: tkreuzer
Date: Tue Apr 28 21:26:56 2015
New Revision: 67471
URL:
http://svn.reactos.org/svn/reactos?rev=67471&view=rev
Log:
[NDK]
- Move definition of TIMER_TABLE_ENTRY from ntoskrnl to NDK
- Add definitions of KTIMER_TABLE, KDPC_LIST, SYNCH_COUNTERS
Modified:
trunk/reactos/include/ndk/amd64/ketypes.h
trunk/reactos/include/ndk/ketypes.h
trunk/reactos/ntoskrnl/include/internal/ke.h
Modified: trunk/reactos/include/ndk/amd64/ketypes.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/amd64/ketypes.…
==============================================================================
--- trunk/reactos/include/ndk/amd64/ketypes.h [iso-8859-1] (original)
+++ trunk/reactos/include/ndk/amd64/ketypes.h [iso-8859-1] Tue Apr 28 21:26:56 2015
@@ -906,21 +906,6 @@
ULONG64 Return;
} KSWITCH_FRAME, *PKSWITCH_FRAME;
-#if 0
-typedef struct _KTIMER_TABLE_ENTRY
-{
- ULONG_PTR Lock;
- LIST_ENTRY Entry;
- ULARGE_INTEGER Time;
-} KTIMER_TABLE_ENTRY, *PKTIMER_TABLE_ENTRY;
-
-typedef struct _KTIMER_TABLE
-{
- KTIMER* TimerExpiry[64];
- KTIMER_TABLE_ENTRY TimerEntries[256];
-} KTIMER_TABLE, *PKTIMER_TABLE;
-#endif
-
//
// Inline function to get current KPRCB
//
Modified: trunk/reactos/include/ndk/ketypes.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/ketypes.h?rev=…
==============================================================================
--- trunk/reactos/include/ndk/ketypes.h [iso-8859-1] (original)
+++ trunk/reactos/include/ndk/ketypes.h [iso-8859-1] Tue Apr 28 21:26:56 2015
@@ -629,19 +629,97 @@
InsertApcEnvironment
} KAPC_ENVIRONMENT;
+typedef struct _KTIMER_TABLE_ENTRY
+{
+#if (NTDDI_VERSION >= NTDDI_LONGHORN) || defined(_M_ARM) || defined(_M_AMD64)
+ KSPIN_LOCK Lock;
+#endif
+ LIST_ENTRY Entry;
+ ULARGE_INTEGER Time;
+} KTIMER_TABLE_ENTRY, *PKTIMER_TABLE_ENTRY;
+
+typedef struct _KTIMER_TABLE
+{
+ PKTIMER TimerExpiry[64];
+ KTIMER_TABLE_ENTRY TimerEntries[256];
+} KTIMER_TABLE, *PKTIMER_TABLE;
+
+typedef struct _KDPC_LIST
+{
+ SINGLE_LIST_ENTRY ListHead;
+ SINGLE_LIST_ENTRY* LastEntry;
+} KDPC_LIST, *PKDPC_LIST;
+
+typedef struct _SYNCH_COUNTERS
+{
+ ULONG SpinLockAcquireCount;
+ ULONG SpinLockContentionCount;
+ ULONG SpinLockSpinCount;
+ ULONG IpiSendRequestBroadcastCount;
+ ULONG IpiSendRequestRoutineCount;
+ ULONG IpiSendSoftwareInterruptCount;
+ ULONG ExInitializeResourceCount;
+ ULONG ExReInitializeResourceCount;
+ ULONG ExDeleteResourceCount;
+ ULONG ExecutiveResourceAcquiresCount;
+ ULONG ExecutiveResourceContentionsCount;
+ ULONG ExecutiveResourceReleaseExclusiveCount;
+ ULONG ExecutiveResourceReleaseSharedCount;
+ ULONG ExecutiveResourceConvertsCount;
+ ULONG ExAcqResExclusiveAttempts;
+ ULONG ExAcqResExclusiveAcquiresExclusive;
+ ULONG ExAcqResExclusiveAcquiresExclusiveRecursive;
+ ULONG ExAcqResExclusiveWaits;
+ ULONG ExAcqResExclusiveNotAcquires;
+ ULONG ExAcqResSharedAttempts;
+ ULONG ExAcqResSharedAcquiresExclusive;
+ ULONG ExAcqResSharedAcquiresShared;
+ ULONG ExAcqResSharedAcquiresSharedRecursive;
+ ULONG ExAcqResSharedWaits;
+ ULONG ExAcqResSharedNotAcquires;
+ ULONG ExAcqResSharedStarveExclusiveAttempts;
+ ULONG ExAcqResSharedStarveExclusiveAcquiresExclusive;
+ ULONG ExAcqResSharedStarveExclusiveAcquiresShared;
+ ULONG ExAcqResSharedStarveExclusiveAcquiresSharedRecursive;
+ ULONG ExAcqResSharedStarveExclusiveWaits;
+ ULONG ExAcqResSharedStarveExclusiveNotAcquires;
+ ULONG ExAcqResSharedWaitForExclusiveAttempts;
+ ULONG ExAcqResSharedWaitForExclusiveAcquiresExclusive;
+ ULONG ExAcqResSharedWaitForExclusiveAcquiresShared;
+ ULONG ExAcqResSharedWaitForExclusiveAcquiresSharedRecursive;
+ ULONG ExAcqResSharedWaitForExclusiveWaits;
+ ULONG ExAcqResSharedWaitForExclusiveNotAcquires;
+ ULONG ExSetResOwnerPointerExclusive;
+ ULONG ExSetResOwnerPointerSharedNew;
+ ULONG ExSetResOwnerPointerSharedOld;
+ ULONG ExTryToAcqExclusiveAttempts;
+ ULONG ExTryToAcqExclusiveAcquires;
+ ULONG ExBoostExclusiveOwner;
+ ULONG ExBoostSharedOwners;
+ ULONG ExEtwSynchTrackingNotificationsCount;
+ ULONG ExEtwSynchTrackingNotificationsAccountedCount;
+} SYNCH_COUNTERS, *PSYNCH_COUNTERS;
+
//
// PRCB DPC Data
//
typedef struct _KDPC_DATA
{
+#if (NTDDI_VERSION >= NTDDI_LONGHORN)
+ KDPC_LIST DpcList;
+#else
LIST_ENTRY DpcListHead;
+#endif
ULONG_PTR DpcLock;
-#ifdef _M_AMD64
+#if defined(_M_AMD64) || defined(_M_ARM)
volatile LONG DpcQueueDepth;
#else
volatile ULONG DpcQueueDepth;
#endif
ULONG DpcCount;
+#if (NTDDI_VERSION >= NTDDI_LONGHORN) || defined(_M_ARM)
+ PKDPC ActiveDpc;
+#endif
} KDPC_DATA, *PKDPC_DATA;
//
Modified: trunk/reactos/ntoskrnl/include/internal/ke.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/…
==============================================================================
--- trunk/reactos/ntoskrnl/include/internal/ke.h [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/include/internal/ke.h [iso-8859-1] Tue Apr 28 21:26:56 2015
@@ -53,12 +53,6 @@
LONGLONG TSCDelta;
ULONG MHz;
} KI_SAMPLE_MAP, *PKI_SAMPLE_MAP;
-
-typedef struct _KTIMER_TABLE_ENTRY
-{
- LIST_ENTRY Entry;
- ULARGE_INTEGER Time;
-} KTIMER_TABLE_ENTRY, *PKTIMER_TABLE_ENTRY;
#define MAX_TIMER_DPCS 16