Author: tkreuzer
Date: Sat Dec 26 23:55:53 2009
New Revision: 44767
URL:
http://svn.reactos.org/svn/reactos?rev=44767&view=rev
Log:
[GENINC]
Lots of fixes and updates.
Modified:
trunk/reactos/tools/geninc/data.c
Modified: trunk/reactos/tools/geninc/data.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/geninc/data.c?rev=44…
==============================================================================
--- trunk/reactos/tools/geninc/data.c [iso-8859-1] (original)
+++ trunk/reactos/tools/geninc/data.c [iso-8859-1] Sat Dec 26 23:55:53 2009
@@ -27,7 +27,7 @@
#define OFFSET(name, struct, member) {1, #name, FIELD_OFFSET(struct, member)}
#define RELOFFSET(name, struct, member, to) {1, #name, FIELD_OFFSET(struct, member) -
FIELD_OFFSET(struct, to)}
#define SIZE(name, struct) {1, #name, sizeof(struct)}
-#define HEADER(x) {2, "/* " x " */", 0}
+#define HEADER(x) {2, x, 0}
ASMGENDATA Table[] =
{
@@ -90,6 +90,8 @@
// CONSTANT(PERF_PROFILE_FLAG),
// CONSTANT(PERF_SYSCALL_OFFSET),
// CONSTANT(PERF_SYSCALL_FLAG),
+// CONSTANT(PERF_SPINLOCK_OFFSET),
+// CONSTANT(PERF_SPINLOCK_FLAG),
// CONSTANT(NTOS_YIELD_MACRO),
HEADER("Process states"),
@@ -128,6 +130,7 @@
CONSTANT(STATUS_INVALID_PARAMETER),
CONSTANT(STATUS_INVALID_PARAMETER_1),
CONSTANT(STATUS_INVALID_SYSTEM_SERVICE),
+// CONSTANT(STATUS_INVALID_THREAD),
CONSTANT(STATUS_INTEGER_DIVIDE_BY_ZERO),
CONSTANT(STATUS_INTEGER_OVERFLOW),
CONSTANT(STATUS_IN_PAGE_ERROR),
@@ -227,6 +230,27 @@
{1, "SYNCH_LEVEL", (IPI_LEVEL - 2)},
RAW("#endif"),
+ HEADER("Stack sizes"),
+ CONSTANT(KERNEL_STACK_SIZE),
+ CONSTANT(KERNEL_LARGE_STACK_SIZE),
+ CONSTANT(KERNEL_LARGE_STACK_COMMIT),
+// CONSTANT(DOUBLE_FAULT_STACK_SIZE),
+#ifdef _M_AMD64
+ CONSTANT(KERNEL_MCA_EXCEPTION_STACK_SIZE),
+ CONSTANT(NMI_STACK_SIZE),
+#endif
+
+ HEADER("Thread flags"),
+// CONSTANT(THREAD_FLAGS_CYCLE_PROFILING),
+// CONSTANT(THREAD_FLAGS_CYCLE_PROFILING_LOCK_BIT),
+// CONSTANT(THREAD_FLAGS_CYCLE_PROFILING_LOCK),
+// CONSTANT(THREAD_FLAGS_COUNTER_PROFILING),
+// CONSTANT(THREAD_FLAGS_COUNTER_PROFILING_LOCK_BIT),
+// CONSTANT(THREAD_FLAGS_COUNTER_PROFILING_LOCK),
+// CONSTANT(THREAD_FLAGS_CPU_THROTTLED),
+// CONSTANT(THREAD_FLAGS_CPU_THROTTLED_BIT),
+// CONSTANT(THREAD_FLAGS_ACCOUNTING_ANY),
+
HEADER("Miscellaneous Definitions"),
// CONSTANT(BASE_PRIORITY_THRESHOLD),
// CONSTANT(EVENT_PAIR_INCREMENT),
@@ -254,6 +278,21 @@
// CONSTANT(MM_SHARED_USER_DATA_VA),
CONSTANT(PAGE_SIZE),
// CONSTANT(KERNEL_STACK_CONTROL_LARGE_STACK),
+// CONSTANT(KI_DPC_ALL_FLAGS),
+// CONSTANT(DISPATCH_LENGTH),
+ CONSTANT(MAXIMUM_IDTVECTOR),
+// CONSTANT(MAXIMUM_PRIMARY_VECTOR),
+ CONSTANT(PRIMARY_VECTOR_BASE),
+ CONSTANT(RPL_MASK),
+ CONSTANT(MODE_MASK),
+// CONSTANT(KTHREAD_AUTO_ALIGNMENT_BIT),
+// CONSTANT(KTHREAD_GUI_THREAD_MASK),
+// CONSTANT(KI_SLIST_FAULT_COUNT_MAXIMUM),
+ CONSTANT(NUMBER_SERVICE_TABLES),
+ CONSTANT(SERVICE_NUMBER_MASK),
+ CONSTANT(SERVICE_TABLE_SHIFT),
+ CONSTANT(SERVICE_TABLE_MASK),
+ CONSTANT(SERVICE_TABLE_TEST),
/* ARCHITECTURE SPECIFIC CONTSTANTS ******************************************/
@@ -283,7 +322,10 @@
CONSTANT(CR4_PGE),
CONSTANT(CR4_FXSR),
CONSTANT(CR4_XMMEXCPT),
-#ifdef _M_AMD64
+#if defined(_M_IX86)
+// CONSTANT(CR4_PGE_V),
+// CONSTANT(CR4_XSAVE),
+#elif defined(_M_AMD64)
CONSTANT(CR4_CHANNELS),
#endif
@@ -294,6 +336,10 @@
CONSTANT(KF_LARGE_PAGE),
CONSTANT(KF_CMPXCHG8B),
CONSTANT(KF_FAST_SYSCALL),
+#ifdef _M_IX86
+ CONSTANT(KF_V86_VIS),
+// CONSTANT(KF_XSTATE),
+#endif
HEADER("Machine type definitions"),
CONSTANT(MACHINE_TYPE_ISA),
@@ -318,6 +364,53 @@
CONSTANT(KGDT_NMI_TSS),
CONSTANT(KGDT_LDT),
+ CONSTANT(NPX_STATE_NOT_LOADED),
+ CONSTANT(NPX_STATE_LOADED),
+// CONSTANT(NPX_MASK_LAZY),
+
+/*
+ HEADER("VDM constants"),
+ CONSTANT(VDM_INDEX_Invalid),
+ CONSTANT(VDM_INDEX_0F),
+ CONSTANT(VDM_INDEX_ESPrefix),
+ CONSTANT(VDM_INDEX_CSPrefix),
+ CONSTANT(VDM_INDEX_SSPrefix),
+ CONSTANT(VDM_INDEX_DSPrefix),
+ CONSTANT(VDM_INDEX_FSPrefix),
+ CONSTANT(VDM_INDEX_GSPrefix),
+ CONSTANT(VDM_INDEX_OPER32Prefix),
+ CONSTANT(VDM_INDEX_ADDR32Prefix),
+ CONSTANT(VDM_INDEX_INSB),
+ CONSTANT(VDM_INDEX_INSW),
+ CONSTANT(VDM_INDEX_OUTSB),
+ CONSTANT(VDM_INDEX_OUTSW),
+ CONSTANT(VDM_INDEX_PUSHF),
+ CONSTANT(VDM_INDEX_POPF),
+ CONSTANT(VDM_INDEX_INTnn),
+ CONSTANT(VDM_INDEX_INTO),
+ CONSTANT(VDM_INDEX_IRET),
+ CONSTANT(VDM_INDEX_NPX),
+ CONSTANT(VDM_INDEX_INBimm),
+ CONSTANT(VDM_INDEX_INWimm),
+ CONSTANT(VDM_INDEX_OUTBimm),
+ CONSTANT(VDM_INDEX_OUTWimm),
+ CONSTANT(VDM_INDEX_INB),
+ CONSTANT(VDM_INDEX_INW),
+ CONSTANT(VDM_INDEX_OUTB),
+ CONSTANT(VDM_INDEX_OUTW),
+ CONSTANT(VDM_INDEX_LOCKPrefix),
+ CONSTANT(VDM_INDEX_REPNEPrefix),
+ CONSTANT(VDM_INDEX_REPPrefix),
+ CONSTANT(VDM_INDEX_CLI),
+ CONSTANT(VDM_INDEX_STI),
+ CONSTANT(VDM_INDEX_HLT),
+ CONSTANT(MAX_VDM_INDEX),
+*/
+ CONSTANT(PF_XMMI_INSTRUCTIONS_AVAILABLE),
+ CONSTANT(EFLAG_SELECT),
+// CONSTANT(IPI_FREEZE),
+// CONSTANT(XSAVE_PRESENT),
+
#elif defined(_M_AMD64)
HEADER("Hypervisor Enlightenment Definitions"),
@@ -367,16 +460,6 @@
HEADER("Flags for MSR_DEGUG_CTL"),
CONSTANT(MSR_DEBUG_CTL_LBR),
CONSTANT(MSR_DEBUG_CRL_BTF),
-
- HEADER("Stack sizes"),
- CONSTANT(KERNEL_STACK_SIZE),
- CONSTANT(KERNEL_LARGE_STACK_SIZE),
- CONSTANT(KERNEL_LARGE_STACK_COMMIT),
- CONSTANT(DOUBLE_FAULT_STACK_SIZE),
-#ifdef _M_AMD64
- CONSTANT(KERNEL_MCA_EXCEPTION_STACK_SIZE),
- CONSTANT(NMI_STACK_SIZE),
-#endif
#endif
@@ -403,9 +486,11 @@
/* STRUCTURE OFFSETS *********************************************************/
- HEADER("CLIENT_ID"),
- OFFSET(CidUniqueProcess, CLIENT_ID, UniqueProcess),
- OFFSET(CidUniqueThread, CLIENT_ID, UniqueThread),
+ HEADER("KAFFINITY_EX"),
+// OFFSET(AfBitmap, KAFFINITY_EX, Bitmap),
+
+ HEADER("Aligned Affinity"),
+// OFFSET(AfsCpuSet, ???, CpuSet),
HEADER("KAPC"),
OFFSET(ApType, KAPC, Type),
@@ -429,6 +514,10 @@
OFFSET(AsKernelApcInProgress, KAPC_STATE, KernelApcInProgress),
OFFSET(AsKernelApcPending, KAPC_STATE, KernelApcPending),
OFFSET(AsUserApcPending, KAPC_STATE, UserApcPending),
+
+ HEADER("CLIENT_ID"),
+ OFFSET(CidUniqueProcess, CLIENT_ID, UniqueProcess),
+ OFFSET(CidUniqueThread, CLIENT_ID, UniqueThread),
HEADER("RTL_CRITICAL_SECTION"),
OFFSET(CsDebugInfo, RTL_CRITICAL_SECTION, DebugInfo),
@@ -530,12 +619,20 @@
OFFSET(IoPointer, IO_STATUS_BLOCK, Pointer),
OFFSET(IoInformation, IO_STATUS_BLOCK, Information),
+#ifdef _M_IX86
+// Kernel Stack Control Structure Offset (relative to initial stack pointer)
Definitions
+// RELOFFSET(KcPreviousBase, KERNEL_STACK_CONTROL, PreviousBase, ???),
+// RELOFFSET(KcPreviousLimit, KERNEL_STACK_CONTROL, PreviousBase, ???),
+// RELOFFSET(KcPreviousKernel, KERNEL_STACK_CONTROL, PreviousBase, ???),
+// RELOFFSET(KcPreviousInitial, KERNEL_STACK_CONTROL, PreviousBase, ???),
+#else
HEADER("KERNEL_STACK_CONTROL"),
// OFFSET(KcPreviousBase, KERNEL_STACK_CONTROL, PreviousBase),
// OFFSET(KcPreviousLimit, KERNEL_STACK_CONTROL, PreviousLimit),
// OFFSET(KcPreviousKernel, KERNEL_STACK_CONTROL, PreviousKernel),
// OFFSET(KcPreviousInitial, KERNEL_STACK_CONTROL, PreviousInitial),
// SIZE(KERNEL_STACK_CONTROL_LENGTH, KERNEL_STACK_CONTROL),
+#endif
HEADER("KNODE"),
// OFFSET(KnRight, KNODE, Right),
@@ -564,7 +661,7 @@
HEADER("LARGE_INTEGER"),
OFFSET(LiLowPart, LARGE_INTEGER, LowPart),
OFFSET(LiHighPart, LARGE_INTEGER, HighPart),
-
+#if 0
HEADER("LOADER_PARAMETER_BLOCK (rel. to LoadOrderListHead)"),
RELOFFSET(LpbLoadOrderListHead, LOADER_PARAMETER_BLOCK, LoadOrderListHead,
LoadOrderListHead),
RELOFFSET(LpbMemoryDescriptorListHead, LOADER_PARAMETER_BLOCK,
MemoryDescriptorListHead, LoadOrderListHead),
@@ -579,6 +676,8 @@
RELOFFSET(LpbArcBootDeviceName, LOADER_PARAMETER_BLOCK, ArcBootDeviceName,
LoadOrderListHead),
RELOFFSET(LpbArcHalDeviceName, LOADER_PARAMETER_BLOCK, ArcHalDeviceName,
LoadOrderListHead),
RELOFFSET(LpbLoadOptions, LOADER_PARAMETER_BLOCK, LoadOptions, LoadOrderListHead),
+ RELOFFSET(LpbExtension, LOADER_PARAMETER_BLOCK, Extension, LoadOrderListHead),
+#endif
HEADER("LIST_ENTRY"),
OFFSET(LsFlink, LIST_ENTRY, Flink),
@@ -619,7 +718,16 @@
OFFSET(PrSignalState, KPROCESS, Header.SignalState),
OFFSET(PrProfileListHead, KPROCESS, ProfileListHead),
OFFSET(PrDirectoryTableBase, KPROCESS, DirectoryTableBase),
+#ifdef _M_IX86
+ OFFSET(PrLdtDescriptor, KPROCESS, LdtDescriptor),
+#endif
OFFSET(PrIopmOffset, KPROCESS, IopmOffset),
+#ifdef _M_IX86
+ OFFSET(PrInt21Descriptor, KPROCESS, Int21Descriptor),
+ OFFSET(PrVdmTrapcHandler, KPROCESS, VdmTrapcHandler),
+// OFFSET(PrVdmObjects, KPROCESS, VdmObjects),
+ OFFSET(PrFlags, KPROCESS, Flags),
+#endif
// OFFSET(PrInstrumentationCallback, KPROCESS, InstrumentationCallback),
OFFSET(PrActiveProcessors, KPROCESS, ActiveProcessors),
OFFSET(PrKernelTime, KPROCESS, KernelTime),
@@ -711,47 +819,48 @@
OFFSET(ThType, KTHREAD, DispatcherHeader.Type),
// OFFSET(ThNpxIrql, KTHREAD, NpxIrql),
OFFSET(ThSize, KTHREAD, DispatcherHeader.Size),
+ OFFSET(ThLock, KTHREAD, DispatcherHeader.Lock),
OFFSET(ThDebugActive, KTHREAD, DispatcherHeader.DebugActive),
+// OFFSET(ThThreadControlFlags, KTHREAD, DispatcherHeader.ThreadControlFlags),
OFFSET(ThSignalState, KTHREAD, DispatcherHeader.SignalState),
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
OFFSET(ThCycleTime, KTHREAD, CycleTime),
+ OFFSET(ThHighCycleTime, KTHREAD, HighCycleTime),
#endif
OFFSET(ThInitialStack, KTHREAD, InitialStack),
OFFSET(ThStackLimit, KTHREAD, StackLimit),
OFFSET(ThKernelStack, KTHREAD, KernelStack),
OFFSET(ThThreadLock, KTHREAD, ThreadLock),
+// OFFSET(ThRunning, KTHREAD, Running),
+ OFFSET(ThAlerted, KTHREAD, Alerted),
+// OFFSET(ThMiscFlags, KTHREAD, MiscFlags),
OFFSET(ThApcState, KTHREAD, ApcState),
+ OFFSET(ThPriority, KTHREAD, Priority),
+ OFFSET(ThSwapBusy, KTHREAD, SwapBusy),
OFFSET(ThNextProcessor, KTHREAD, NextProcessor),
OFFSET(ThDeferredProcessor, KTHREAD, DeferredProcessor),
- OFFSET(ThAdjustReason, KTHREAD, AdjustReason),
- OFFSET(ThAdjustIncrement, KTHREAD, AdjustIncrement),
OFFSET(ThApcQueueLock, KTHREAD, ApcQueueLock),
- OFFSET(ThWaitStatus, KTHREAD, WaitStatus),
- OFFSET(ThWaitBlockList, KTHREAD, WaitBlockList),
- OFFSET(ThGateObject, KTHREAD, GateObject),
- OFFSET(ThWaitReason, KTHREAD, WaitReason),
- OFFSET(ThPriority, KTHREAD, Priority),
- OFFSET(ThSwapBusy, KTHREAD, SwapBusy),
- OFFSET(ThAlerted, KTHREAD, Alerted),
- OFFSET(ThWaitListEntry, KTHREAD, WaitListEntry),
- OFFSET(ThSwapListEntry, KTHREAD, SwapListEntry),
- OFFSET(ThQueue, KTHREAD, Queue),
- OFFSET(ThTeb, KTHREAD, Teb),
- OFFSET(ThTimer, KTHREAD, Timer),
- OFFSET(ThThreadFlags, KTHREAD, ThreadFlags),
- OFFSET(ThWaitBlock, KTHREAD, WaitBlock),
- OFFSET(ThPreviousMode, KTHREAD, PreviousMode),
- OFFSET(ThResourceIndex, KTHREAD, ResourceIndex),
- OFFSET(ThLargeStack, KTHREAD, LargeStack),
OFFSET(ThContextSwitches, KTHREAD, ContextSwitches),
OFFSET(ThState, KTHREAD, State),
OFFSET(ThNpxState, KTHREAD, NpxState),
OFFSET(ThWaitIrql, KTHREAD, WaitIrql),
OFFSET(ThWaitMode, KTHREAD, WaitMode),
+ OFFSET(ThWaitStatus, KTHREAD, WaitStatus),
+ OFFSET(ThWaitBlockList, KTHREAD, WaitBlockList),
+ OFFSET(ThGateObject, KTHREAD, GateObject),
+ OFFSET(ThWaitListEntry, KTHREAD, WaitListEntry),
+ OFFSET(ThSwapListEntry, KTHREAD, SwapListEntry),
+ OFFSET(ThQueue, KTHREAD, Queue),
OFFSET(ThWaitTime, KTHREAD, WaitTime),
OFFSET(ThCombinedApcDisable, KTHREAD, CombinedApcDisable),
OFFSET(ThKernelApcDisable, KTHREAD, KernelApcDisable),
OFFSET(ThSpecialApcDisable, KTHREAD, SpecialApcDisable),
+ OFFSET(ThTeb, KTHREAD, Teb),
+ OFFSET(ThTimer, KTHREAD, Timer),
+ OFFSET(ThThreadFlags, KTHREAD, ThreadFlags),
+ OFFSET(ThServiceTable, KTHREAD, ServiceTable),
+ OFFSET(ThWaitBlock, KTHREAD, WaitBlock),
+ OFFSET(ThResourceIndex, KTHREAD, ResourceIndex),
OFFSET(ThQueueListEntry, KTHREAD, QueueListEntry),
OFFSET(ThTrapFrame, KTHREAD, TrapFrame),
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
@@ -763,30 +872,35 @@
OFFSET(ThIdealProcessor, KTHREAD, IdealProcessor),
OFFSET(ThBasePriority, KTHREAD, BasePriority),
OFFSET(ThPriorityDecrement, KTHREAD, PriorityDecrement),
+ OFFSET(ThAdjustReason, KTHREAD, AdjustReason),
+ OFFSET(ThAdjustIncrement, KTHREAD, AdjustIncrement),
+ OFFSET(ThPreviousMode, KTHREAD, PreviousMode),
OFFSET(ThSaturation, KTHREAD, Saturation),
#if (NTDDI_VERSION >= NTDDI_LONGHORN)
OFFSET(ThSystemCallNumber, KTHREAD, SystemCallNumber),
#endif
+ OFFSET(ThFreezeCount, KTHREAD, FreezeCount),
OFFSET(ThUserAffinity, KTHREAD, UserAffinity),
OFFSET(ThProcess, KTHREAD, Process),
OFFSET(ThAffinity, KTHREAD, Affinity),
+ OFFSET(ThUserIdealProcessor, KTHREAD, UserIdealProcessor),
OFFSET(ThApcStatePointer, KTHREAD, ApcStatePointer),
OFFSET(ThSavedApcState, KTHREAD, SavedApcState),
- OFFSET(ThFreezeCount, KTHREAD, FreezeCount),
+ OFFSET(ThWaitReason, KTHREAD, WaitReason),
OFFSET(ThSuspendCount, KTHREAD, SuspendCount),
- OFFSET(ThUserIdealProcessor, KTHREAD, UserIdealProcessor),
// OFFSET(ThCodePatchInProgress, KTHREAD, CodePatchInProgress),
OFFSET(ThWin32Thread, KTHREAD, Win32Thread),
OFFSET(ThStackBase, KTHREAD, StackBase),
OFFSET(ThSuspendApc, KTHREAD, SuspendApc),
+ OFFSET(ThPowerState, KTHREAD, PowerState),
OFFSET(ThKernelTime, KTHREAD, KernelTime),
OFFSET(ThLegoData, KTHREAD, LegoData),
- OFFSET(ThPowerState, KTHREAD, PowerState),
+ OFFSET(ThLargeStack, KTHREAD, LargeStack),
OFFSET(ThUserTime, KTHREAD, UserTime),
OFFSET(ThSuspendSemaphore, KTHREAD, SuspendSemaphore),
OFFSET(ThSListFaultCount, KTHREAD, SListFaultCount),
+ OFFSET(ThThreadListEntry, KTHREAD, ThreadListEntry),
OFFSET(ThMutantListHead, KTHREAD, MutantListHead),
- OFFSET(ThThreadListEntry, KTHREAD, ThreadListEntry),
OFFSET(ThSListFaultAddress, KTHREAD, SListFaultAddress),
SIZE(KernelThreadObjectLength, KTHREAD),
SIZE(ExecutiveThreadObjectLength, ETHREAD),
@@ -852,6 +966,7 @@
OFFSET(UsLastSystemRITEventTickCount, KUSER_SHARED_DATA,
LastSystemRITEventTickCount),
OFFSET(UsNumberOfPhysicalPages, KUSER_SHARED_DATA, NumberOfPhysicalPages),
OFFSET(UsSafeBootMode, KUSER_SHARED_DATA, SafeBootMode),
+// OFFSET(UsTscQpcData, KUSER_SHARED_DATA, TscQpcData),
OFFSET(UsTestRetInstruction, KUSER_SHARED_DATA, TestRetInstruction),
OFFSET(UsSystemCall, KUSER_SHARED_DATA, SystemCall),
OFFSET(UsSystemCallReturn, KUSER_SHARED_DATA, SystemCallReturn),
@@ -870,14 +985,114 @@
#if defined(_M_IX86)
+ HEADER("CONTEXT"),
+ OFFSET(CsContextFlags, CONTEXT, ContextFlags),
+ OFFSET(CsDr0, CONTEXT, Dr0),
+ OFFSET(CsDr1, CONTEXT, Dr1),
+ OFFSET(CsDr2, CONTEXT, Dr2),
+ OFFSET(CsDr3, CONTEXT, Dr3),
+ OFFSET(CsDr6, CONTEXT, Dr6),
+ OFFSET(CsDr7, CONTEXT, Dr7),
+ OFFSET(CsFloatSave, CONTEXT, FloatSave),
+ OFFSET(CsSegGs, CONTEXT, SegGs),
+ OFFSET(CsSegFs, CONTEXT, SegFs),
+ OFFSET(CsSegEs, CONTEXT, SegEs),
+ OFFSET(CsSegDs, CONTEXT, SegDs),
+ OFFSET(CsEdi, CONTEXT, Edi),
+ OFFSET(CsEsi, CONTEXT, Esi),
+ OFFSET(CsEbx, CONTEXT, Ebx),
+ OFFSET(CsEdx, CONTEXT, Edx),
+ OFFSET(CsEcx, CONTEXT, Ecx),
+ OFFSET(CsEax, CONTEXT, Eax),
+ OFFSET(CsEbp, CONTEXT, Ebp),
+ OFFSET(CsEip, CONTEXT, Eip),
+ OFFSET(CsSegCs, CONTEXT, SegCs),
+ OFFSET(CsEflags, CONTEXT, EFlags),
+ OFFSET(CsEsp, CONTEXT, Esp),
+ OFFSET(CsSegSs, CONTEXT, SegSs),
+ OFFSET(CsExtendedRegisters, CONTEXT, ExtendedRegisters),
+ SIZE(ContextFrameLength, CONTEXT),
+ SIZE(CONTEXT_LENGTH, CONTEXT),
+
+ HEADER("KGDTENTRY"),
+ OFFSET(KgdtBaseLow, KGDTENTRY, BaseLow),
+ OFFSET(KgdtBaseMid, KGDTENTRY, HighWord.Bytes.BaseMid),
+ OFFSET(KgdtBaseHi, KGDTENTRY, HighWord.Bytes.BaseHi),
+ OFFSET(KgdtLimitHi, KGDTENTRY, HighWord.Bytes.Flags2),
+ OFFSET(KgdtLimitLow, KGDTENTRY, LimitLow),
+
+ HEADER("KTRAP_FRAME"),
+ OFFSET(TsExceptionList, KTRAP_FRAME, ExceptionList),
+ OFFSET(TsPreviousPreviousMode, KTRAP_FRAME, PreviousPreviousMode),
+ OFFSET(TsSegGs, KTRAP_FRAME, SegGs),
+ OFFSET(TsSegFs, KTRAP_FRAME, SegFs),
+ OFFSET(TsSegEs, KTRAP_FRAME, SegEs),
+ OFFSET(TsSegDs, KTRAP_FRAME, SegDs),
+ OFFSET(TsEdi, KTRAP_FRAME, Edi),
+ OFFSET(TsEsi, KTRAP_FRAME, Esi),
+ OFFSET(TsEbp, KTRAP_FRAME, Ebp),
+ OFFSET(TsEbx, KTRAP_FRAME, Ebx),
+ OFFSET(TsEdx, KTRAP_FRAME, Edx),
+ OFFSET(TsEcx, KTRAP_FRAME, Ecx),
+ OFFSET(TsEax, KTRAP_FRAME, Eax),
+ OFFSET(TsErrCode, KTRAP_FRAME, ErrCode),
+ OFFSET(TsEip, KTRAP_FRAME, Eip),
+ OFFSET(TsSegCs, KTRAP_FRAME, SegCs),
+ OFFSET(TsEflags, KTRAP_FRAME, EFlags),
+ OFFSET(TsHardwareEsp, KTRAP_FRAME, HardwareEsp),
+ OFFSET(TsHardwareSegSs, KTRAP_FRAME, HardwareSegSs),
+ OFFSET(TsTempSegCs, KTRAP_FRAME, TempSegCs),
+// OFFSET(TsLogging, KTRAP_FRAME, Logging),
+ OFFSET(TsTempEsp, KTRAP_FRAME, TempEsp),
+ OFFSET(TsDbgEbp, KTRAP_FRAME, DbgEbp),
+ OFFSET(TsDbgEip, KTRAP_FRAME, DbgEip),
+ OFFSET(TsDbgArgMark, KTRAP_FRAME, DbgArgMark),
+ OFFSET(TsDbgArgPointer, KTRAP_FRAME, DbgArgPointer),
+ OFFSET(TsDr0, KTRAP_FRAME, Dr0),
+ OFFSET(TsDr1, KTRAP_FRAME, Dr1),
+ OFFSET(TsDr2, KTRAP_FRAME, Dr2),
+ OFFSET(TsDr3, KTRAP_FRAME, Dr3),
+ OFFSET(TsDr6, KTRAP_FRAME, Dr6),
+ OFFSET(TsDr7, KTRAP_FRAME, Dr7),
+ OFFSET(TsV86Es, KTRAP_FRAME, V86Es),
+ OFFSET(TsV86Ds, KTRAP_FRAME, V86Ds),
+ OFFSET(TsV86Fs, KTRAP_FRAME, V86Fs),
+ OFFSET(TsV86Gs, KTRAP_FRAME, V86Gs),
+ SIZE(KTRAP_FRAME_LENGTH, KTRAP_FRAME),
+ CONSTANT(KTRAP_FRAME_ALIGN),
+ CONSTANT(FRAME_EDITED),
+
+ HEADER("KTSS"),
+ OFFSET(TssEsp0, KTSS, Esp0),
+ OFFSET(TssCR3, KTSS, CR3),
+ OFFSET(TssEip, KTSS, Eip),
+ OFFSET(TssEFlags, KTSS, EFlags),
+ OFFSET(TssEax, KTSS, Eax),
+ OFFSET(TssEbx, KTSS, Ebx),
+ OFFSET(TssEcx, KTSS, Ecx),
+ OFFSET(TssEdx, KTSS, Edx),
+ OFFSET(TssEsp, KTSS, Esp),
+ OFFSET(TssEbp, KTSS, Ebp),
+ OFFSET(TssEsi, KTSS, Esi),
+ OFFSET(TssEdi, KTSS, Edi),
+ OFFSET(TssEs, KTSS, Es),
+ OFFSET(TssCs, KTSS, Cs),
+ OFFSET(TssSs, KTSS, Ss),
+ OFFSET(TssDs, KTSS, Ds),
+ OFFSET(TssFs, KTSS, Fs),
+ OFFSET(TssGs, KTSS, Gs),
+ OFFSET(TssLDT, KTSS, LDT),
+ OFFSET(TssIoMapBase, KTSS, IoMapBase),
+ OFFSET(TssIoMaps, KTSS, IoMaps),
+ SIZE(TssLength, KTSS),
#elif defined(_M_AMD64)
HEADER("Argument Home Address"),
- OFFSET(P1Home, CONTEXT, Member),
- OFFSET(P2Home, CONTEXT, Member),
- OFFSET(P3Home, CONTEXT, Member),
- OFFSET(P4Home, CONTEXT, Member),
+ OFFSET(P1Home, CONTEXT, P1Home),
+ OFFSET(P2Home, CONTEXT, P1Home),
+ OFFSET(P3Home, CONTEXT, P1Home),
+ OFFSET(P4Home, CONTEXT, P1Home),
HEADER("CONTEXT"),
OFFSET(CxP1Home, CONTEXT, P1Home),
@@ -1042,85 +1257,85 @@
OFFSET(PbHalReserved, KPRCB, HalReserved),
OFFSET(PbMinorVersion, KPRCB, MinorVersion),
OFFSET(PbMajorVersion, KPRCB, MajorVersion),
- OFFSET(PbBuildType, KPRCB, Member),
- OFFSET(PbCpuVendor, KPRCB, Member),
- OFFSET(PbCoresPerPhysicalProcessor, KPRCB, Member),
- OFFSET(PbLogicalProcessorsPerCore, KPRCB, Member),
- OFFSET(PbApicMask, KPRCB, Member),
- OFFSET(PbCFlushSize, KPRCB, Member),
- OFFSET(PbAcpiReserved, KPRCB, Member),
- OFFSET(PbInitialApicId, KPRCB, Member),
- OFFSET(PbStride, KPRCB, Member),
- OFFSET(PbLockQueue, KPRCB, Member),
- OFFSET(PbPPLookasideList, KPRCB, Member),
- OFFSET(PbPPNPagedLookasideList, KPRCB, Member),
- OFFSET(PbPPPagedLookasideList, KPRCB, Member),
- OFFSET(PbPacketBarrier, KPRCB, Member),
- OFFSET(PbDeferredReadyListHead, KPRCB, Member),
- OFFSET(PbLookasideIrpFloat, KPRCB, Member),
- OFFSET(PbSystemCalls, KPRCB, Member),
- OFFSET(PbReadOperationCount, KPRCB, Member),
- OFFSET(PbWriteOperationCount, KPRCB, Member),
- OFFSET(PbOtherOperationCount, KPRCB, Member),
- OFFSET(PbReadTransferCount, KPRCB, Member),
- OFFSET(PbWriteTransferCount, KPRCB, Member),
- OFFSET(PbOtherTransferCount, KPRCB, Member),
- OFFSET(PbContextSwitches, KPRCB, Member),
- OFFSET(PbTargetSet, KPRCB, Member),
- OFFSET(PbIpiFrozen, KPRCB, Member),
- OFFSET(PbRequestMailbox, KPRCB, Member),
- OFFSET(PbSenderSummary, KPRCB, Member),
- OFFSET(PbDpcListHead, KPRCB, Member),
- OFFSET(PbDpcLock, KPRCB, Member),
- OFFSET(PbDpcQueueDepth, KPRCB, Member),
- OFFSET(PbDpcCount, KPRCB, Member),
- OFFSET(PbDpcStack, KPRCB, Member),
- OFFSET(PbMaximumDpcQueueDepth, KPRCB, Member),
- OFFSET(PbDpcRequestRate, KPRCB, Member),
- OFFSET(PbMinimumDpcRate, KPRCB, Member),
- OFFSET(PbDpcInterruptRequested, KPRCB, Member),
- OFFSET(PbDpcThreadRequested, KPRCB, Member),
- OFFSET(PbDpcRoutineActive, KPRCB, Member),
- OFFSET(PbDpcThreadActive, KPRCB, Member),
- OFFSET(PbTimerHand, KPRCB, Member),
- OFFSET(PbTimerRequest, KPRCB, Member),
- OFFSET(PbTickOffset, KPRCB, Member),
- OFFSET(PbMasterOffset, KPRCB, Member),
- OFFSET(PbDpcLastCount, KPRCB, Member),
- OFFSET(PbQuantumEnd, KPRCB, Member),
- OFFSET(PbDpcSetEventRequest, KPRCB, Member),
- OFFSET(PbIdleSchedule, KPRCB, Member),
- OFFSET(PbReadySummary, KPRCB, Member),
- OFFSET(PbDispatcherReadyListHead, KPRCB, Member),
- OFFSET(PbInterruptCount, KPRCB, Member),
- OFFSET(PbKernelTime, KPRCB, Member),
- OFFSET(PbUserTime, KPRCB, Member),
- OFFSET(PbDpcTime, KPRCB, Member),
- OFFSET(PbInterruptTime, KPRCB, Member),
- OFFSET(PbAdjustDpcThreshold, KPRCB, Member),
- OFFSET(PbSkipTick, KPRCB, Member),
- OFFSET(PbPollSlot, KPRCB, Member),
- OFFSET(PbParentNode, KPRCB, Member),
- OFFSET(PbMultiThreadProcessorSet, KPRCB, Member),
- OFFSET(PbMultiThreadSetMaster, KPRCB, Member),
- OFFSET(PbStartCycles, KPRCB, Member),
- OFFSET(PbPageColor, KPRCB, Member),
- OFFSET(PbNodeColor, KPRCB, Member),
- OFFSET(PbNodeShiftedColor, KPRCB, Member),
- OFFSET(PbSecondaryColorMask, KPRCB, Member),
- OFFSET(PbSleeping, KPRCB, Member),
- OFFSET(PbCycleTime, KPRCB, Member),
- OFFSET(PbFastReadNoWait, KPRCB, Member),
- OFFSET(PbFastReadWait, KPRCB, Member),
- OFFSET(PbFastReadNotPossible, KPRCB, Member),
- OFFSET(PbCopyReadNoWait, KPRCB, Member),
- OFFSET(PbCopyReadWait, KPRCB, Member),
- OFFSET(PbCopyReadNoWaitMiss, KPRCB, Member),
- OFFSET(PbAlignmentFixupCount, KPRCB, Member),
- OFFSET(PbExceptionDispatchCount, KPRCB, Member),
- OFFSET(PbVendorString, KPRCB, Member),
- OFFSET(PbPowerState, KPRCB, Member),
- OFFSET(ProcessorBlockLength, KPRCB, Member),
+ OFFSET(PbBuildType, KPRCB, BuildType),
+ OFFSET(PbCpuVendor, KPRCB, CpuVendor),
+ OFFSET(PbCoresPerPhysicalProcessor, KPRCB, CoresPerPhysicalProcessor),
+ OFFSET(PbLogicalProcessorsPerCore, KPRCB, LogicalProcessorsPerCore),
+ OFFSET(PbApicMask, KPRCB, ApicMask),
+ OFFSET(PbCFlushSize, KPRCB, CFlushSize),
+ OFFSET(PbAcpiReserved, KPRCB, AcpiReserved),
+ OFFSET(PbInitialApicId, KPRCB, InitialApicId),
+ OFFSET(PbStride, KPRCB, Stride),
+ OFFSET(PbLockQueue, KPRCB, LockQueue),
+ OFFSET(PbPPLookasideList, KPRCB, PPLookasideList),
+ OFFSET(PbPPNPagedLookasideList, KPRCB, PPNPagedLookasideList),
+ OFFSET(PbPPPagedLookasideList, KPRCB, PPPagedLookasideList),
+ OFFSET(PbPacketBarrier, KPRCB, PacketBarrier),
+ OFFSET(PbDeferredReadyListHead, KPRCB, DeferredReadyListHead),
+ OFFSET(PbLookasideIrpFloat, KPRCB, LookasideIrpFloat),
+ OFFSET(PbSystemCalls, KPRCB, SystemCalls),
+ OFFSET(PbReadOperationCount, KPRCB, ReadOperationCount),
+ OFFSET(PbWriteOperationCount, KPRCB, WriteOperationCount),
+ OFFSET(PbOtherOperationCount, KPRCB, OtherOperationCount),
+ OFFSET(PbReadTransferCount, KPRCB, ReadTransferCount),
+ OFFSET(PbWriteTransferCount, KPRCB, WriteTransferCount),
+ OFFSET(PbOtherTransferCount, KPRCB, OtherTransferCount),
+ OFFSET(PbContextSwitches, KPRCB, ContextSwitches),
+ OFFSET(PbTargetSet, KPRCB, TargetSet),
+ OFFSET(PbIpiFrozen, KPRCB, IpiFrozen),
+ OFFSET(PbRequestMailbox, KPRCB, RequestMailbox),
+ OFFSET(PbSenderSummary, KPRCB, SenderSummary),
+ OFFSET(PbDpcListHead, KPRCB, DpcListHead),
+ OFFSET(PbDpcLock, KPRCB, DpcLock),
+ OFFSET(PbDpcQueueDepth, KPRCB, DpcQueueDepth),
+ OFFSET(PbDpcCount, KPRCB, DpcCount),
+ OFFSET(PbDpcStack, KPRCB, DpcStack),
+ OFFSET(PbMaximumDpcQueueDepth, KPRCB, MaximumDpcQueueDepth),
+ OFFSET(PbDpcRequestRate, KPRCB, DpcRequestRate),
+ OFFSET(PbMinimumDpcRate, KPRCB, MinimumDpcRate),
+ OFFSET(PbDpcInterruptRequested, KPRCB, DpcInterruptRequested),
+ OFFSET(PbDpcThreadRequested, KPRCB, DpcThreadRequested),
+ OFFSET(PbDpcRoutineActive, KPRCB, DpcRoutineActive),
+ OFFSET(PbDpcThreadActive, KPRCB, DpcThreadActive),
+ OFFSET(PbTimerHand, KPRCB, TimerHand),
+ OFFSET(PbTimerRequest, KPRCB, TimerRequest),
+ OFFSET(PbTickOffset, KPRCB, TickOffset),
+ OFFSET(PbMasterOffset, KPRCB, MasterOffset),
+ OFFSET(PbDpcLastCount, KPRCB, DpcLastCount),
+ OFFSET(PbQuantumEnd, KPRCB, QuantumEnd),
+ OFFSET(PbDpcSetEventRequest, KPRCB, DpcSetEventRequest),
+ OFFSET(PbIdleSchedule, KPRCB, IdleSchedule),
+ OFFSET(PbReadySummary, KPRCB, ReadySummary),
+ OFFSET(PbDispatcherReadyListHead, KPRCB, DispatcherReadyListHead),
+ OFFSET(PbInterruptCount, KPRCB, InterruptCount),
+ OFFSET(PbKernelTime, KPRCB, KernelTime),
+ OFFSET(PbUserTime, KPRCB, UserTime),
+ OFFSET(PbDpcTime, KPRCB, DpcTime),
+ OFFSET(PbInterruptTime, KPRCB, InterruptTime),
+ OFFSET(PbAdjustDpcThreshold, KPRCB, AdjustDpcThreshold),
+ OFFSET(PbSkipTick, KPRCB, SkipTick),
+ OFFSET(PbPollSlot, KPRCB, PollSlot),
+ OFFSET(PbParentNode, KPRCB, ParentNode),
+ OFFSET(PbMultiThreadProcessorSet, KPRCB, MultiThreadProcessorSet),
+ OFFSET(PbMultiThreadSetMaster, KPRCB, MultiThreadSetMaster),
+ OFFSET(PbStartCycles, KPRCB, StartCycles),
+ OFFSET(PbPageColor, KPRCB, PageColor),
+ OFFSET(PbNodeColor, KPRCB, NodeColor),
+ OFFSET(PbNodeShiftedColor, KPRCB,NodeShiftedColor),
+ OFFSET(PbSecondaryColorMask, KPRCB, SecondaryColorMask),
+ OFFSET(PbSleeping, KPRCB, Sleeping),
+ OFFSET(PbCycleTime, KPRCB, CycleTime),
+ OFFSET(PbFastReadNoWait, KPRCB, FastReadNoWait),
+ OFFSET(PbFastReadWait, KPRCB, FastReadWait),
+ OFFSET(PbFastReadNotPossible, KPRCB, FastReadNotPossible),
+ OFFSET(PbCopyReadNoWait, KPRCB, CopyReadNoWait),
+ OFFSET(PbCopyReadWait, KPRCB, CopyReadWait),
+ OFFSET(PbCopyReadNoWaitMiss, KPRCB, CopyReadNoWaitMiss),
+ OFFSET(PbAlignmentFixupCount, KPRCB, AlignmentFixupCount),
+ OFFSET(PbExceptionDispatchCount, KPRCB, ExceptionDispatchCount),
+ OFFSET(PbVendorString, KPRCB, VendorString),
+ OFFSET(PbPowerState, KPRCB, PowerState),
+ SIZE(ProcessorBlockLength, KPRCB),
HEADER("KPCR"),
OFFSET(PcGdt, KPCR, Gdt),
@@ -1237,11 +1452,17 @@
OFFSET(SrMsrCStar, KSPECIAL_REGISTERS, MsrCStar),
OFFSET(SrMsrSyscallMask, KSPECIAL_REGISTERS, MsrSyscallMask),
+ HEADER("KSYSTEM_TIME"),
+ OFFSET(StLowTime, KSYSTEM_TIME, LowTime),
+ OFFSET(StHigh1Time, KSYSTEM_TIME, High1Time),
+ OFFSET(StHigh2Time, KSYSTEM_TIME, High2Time),
+
HEADER("KSWITCH_FRAME"),
OFFSET(SwP5Home, KSWITCH_FRAME, P5Home),
OFFSET(SwApcBypass, KSWITCH_FRAME, ApcBypass),
OFFSET(SwRbp, KSWITCH_FRAME, Rbp),
OFFSET(SwReturn, KSWITCH_FRAME, Return),
+ SIZE(SwitchFrameLength, KSWITCH_FRAME),
SIZE(KSWITCH_FRAME_LENGTH, KSWITCH_FRAME),
HEADER("KTRAP_FRAME"),
@@ -1310,6 +1531,7 @@
OFFSET(TtTime, KTIMER_TABLE, Time),
SIZE(TIMER_ENTRY_SIZE, KTIMER_ENTRY),
SIZE(TIMER_TABLE_SIZE, KTIMER_TABLE),
+ SIZE(KTIMER_TABLE_SIZE, KTIMER_TABLE),
HEADER("KTSS"),
OFFSET(TssRsp0, TYPE, Rsp0),