// Processor Architectures
//
#define PROCESSOR_ARCHITECTURE_INTEL 0
+#define PROCESSOR_ARCHITECTURE_MIPS 1
+#define PROCESSOR_ARCHITECTURE_ALPHA 2
+#define PROCESSOR_ARCHITECTURE_PPC 3
+#define PROCESSOR_ARCHITECTURE_SHX 4
+#define PROCESSOR_ARCHITECTURE_ARM 5
+#define PROCESSOR_ARCHITECTURE_IA64 6
+#define PROCESSOR_ARCHITECTURE_ALPHA64 7
+#define PROCESSOR_ARCHITECTURE_MSIL 8
+#define PROCESSOR_ARCHITECTURE_AMD64 9
+#define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF
//
// Object Type Mask for Kernel Dispatcher Objects
//
#define THREAD_ALERT_INCREMENT 2
-//
-// User Shared Data in Kernel-Mode
-//
-#define KI_USER_SHARED_DATA 0xffdf0000
-
//
// Physical memory offset of KUSER_SHARED_DATA
//
} KAPC_ENVIRONMENT;
//
-// CPU Cache Types
-//
-typedef enum _PROCESSOR_CACHE_TYPE
+// CPU Cache Types
+//
+typedef enum _PROCESSOR_CACHE_TYPE
{
- CacheUnified,
- CacheInstruction,
- CacheData,
- CacheTrace,
+ CacheUnified,
+ CacheInstruction,
+ CacheData,
+ CacheTrace,
} PROCESSOR_CACHE_TYPE;
//
typedef struct _KDPC_DATA
{
LIST_ENTRY DpcListHead;
- ULONG DpcLock;
+ ULONG_PTR DpcLock;
volatile ULONG DpcQueueDepth;
ULONG DpcCount;
} KDPC_DATA, *PKDPC_DATA;
} PP_LOOKASIDE_LIST, *PPP_LOOKASIDE_LIST;
//
-// CPU Cache Descriptor
-//
-typedef struct _CACHE_DESCRIPTOR
+// CPU Cache Descriptor
+//
+typedef struct _CACHE_DESCRIPTOR
{
- UCHAR Level;
- UCHAR Associativity;
- USHORT LineSize;
- ULONG Size;
- PROCESSOR_CACHE_TYPE Type;
+ UCHAR Level;
+ UCHAR Associativity;
+ USHORT LineSize;
+ ULONG Size;
+ PROCESSOR_CACHE_TYPE Type;
} CACHE_DESCRIPTOR, *PCACHE_DESCRIPTOR;
//
PVOID RangeLimit;
ULONG BucketShift;
PVOID Buffer;
- ULONG Segment;
+ ULONG_PTR Segment;
KAFFINITY Affinity;
KPROFILE_SOURCE Source;
BOOLEAN Started;
ULONGLONG Rsvd1;
#endif
ULONG DispatchCode[KINTERRUPT_DISPATCH_CODES];
-} KINTERRUPT, *PKINTERRUPT;
+} KINTERRUPT;
//
// Kernel Event Pair Object
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
PVOID MdlForLockedteb;
#endif
-} KTHREAD, *PKTHREAD;
+} KTHREAD;
#define ASSERT_THREAD(object) \
ASSERT((((object)->DispatcherHeader.Type & KOBJECT_TYPE_MASK) == ThreadObject))
ULONG DirectoryTableBase;
ULONG Unused0;
#else
- LARGE_INTEGER DirectoryTableBase;
+ ULONG DirectoryTableBase[2];
#endif
#if defined(_M_IX86)
KGDTENTRY LdtDescriptor;
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
ULONGLONG CycleTime;
#endif
-} KPROCESS, *PKPROCESS;
+} KPROCESS;
#define ASSERT_PROCESS(object) \
ASSERT((((object)->Header.Type & KOBJECT_TYPE_MASK) == ProcessObject))