[CONSRV]
[reactos.git] / include / asm / ksamd64.template.h
index 88b9663..2fa4e71 100644 (file)
@@ -112,10 +112,10 @@ CONSTANT(EXCEPTION_NPX_ERROR),
 CONSTANT(EXCEPTION_ALIGNMENT_CHECK),
 
 HEADER("Argument Home Address"),
-OFFSET(P1Home, CONTEXT, P1Home),
-OFFSET(P2Home, CONTEXT, P1Home),
-OFFSET(P3Home, CONTEXT, P1Home),
-OFFSET(P4Home, CONTEXT, P1Home),
+CONSTANT(P1Home),
+CONSTANT(P2Home),
+CONSTANT(P3Home),
+CONSTANT(P4Home),
 
 HEADER("CONTEXT"),
 OFFSET(CONTEXT_P1Home, CONTEXT, P1Home),
@@ -377,53 +377,55 @@ OFFSET(PcHalReserved, KPCR, HalReserved),
 //OFFSET(PcNumber, KPCR, Number),
 //OFFSET(PcInterruptRequest, KPCR, InterruptRequest),
 //OFFSET(PcIdleHalt, KPCR, IdleHalt),
-//OFFSET(PcCurrentThread, KPCR, CurrentThread),
+OFFSET(PcCurrentThread, KIPCR, Prcb.CurrentThread),
 //OFFSET(PcNextThread, KPCR, NextThread),
 //OFFSET(PcIdleThread, KPCR, IdleThread),
 //OFFSET(PcIpiFrozen, KPCR, IpiFrozen),
 //OFFSET(PcNestingLevel, KPCR, NestingLevel),
-//OFFSET(PcRspBase, KPCR, RspBase),
+OFFSET(PcRspBase, KIPCR, Prcb.RspBase),
 //OFFSET(PcPrcbLock, KPCR, PrcbLock),
+OFFSET(PcSetMember, KIPCR, Prcb.SetMember),
 #if 0
-OFFSET(PcSetMember, KPCR, SetMember),
-OFFSET(PcCr0, KPCR, Cr0),
-OFFSET(PcCr2, KPCR, Cr2),
-OFFSET(PcCr3, KPCR, Cr3),
-OFFSET(PcCr4, KPCR, Cr4),
-OFFSET(PcKernelDr0, KPCR, KernelDr0),
-OFFSET(PcKernelDr1, KPCR, KernelDr1),
-OFFSET(PcKernelDr2, KPCR, KernelDr2),
-OFFSET(PcKernelDr3, KPCR, KernelDr3),
-OFFSET(PcKernelDr7, KPCR, KernelDr7),
-OFFSET(PcGdtrLimit, KPCR, GdtrLimit),
-OFFSET(PcGdtrBase, KPCR, GdtrBase),
-OFFSET(PcIdtrLimit, KPCR, IdtrLimit),
-OFFSET(PcIdtrBase, KPCR, IdtrBase),
-OFFSET(PcTr, KPCR, Tr),
-OFFSET(PcLdtr, KPCR, Ldtr),
-OFFSET(PcDebugControl, KPCR, DebugControl),
-OFFSET(PcLastBranchToRip, KPCR, LastBranchToRip),
-OFFSET(PcLastBranchFromRip, KPCR, LastBranchFromRip),
-OFFSET(PcLastExceptionToRip, KPCR, LastExceptionToRip),
-OFFSET(PcLastExceptionFromRip, KPCR, LastExceptionFromRip),
-OFFSET(PcCr8, KPCR, Cr8),
-OFFSET(PcCpuType, KPCR, CpuType),
-OFFSET(PcCpuID, KPCR, CpuID),
-OFFSET(PcCpuStep, KPCR, CpuStep),
-OFFSET(PcCpuVendor, KPCR, CpuVendor),
-OFFSET(PcVirtualApicAssist, KPCR, VirtualApicAssist),
-OFFSET(PcCFlushSize, KPCR, CFlushSize),
-OFFSET(PcDeferredReadyListHead, KPCR, DeferredReadyListHead),
-OFFSET(PcSystemCalls, KPCR, SystemCalls),
-OFFSET(PcDpcRoutineActive, KPCR, DpcRoutineActive),
-OFFSET(PcInterruptCount, KPCR, InterruptCount),
-OFFSET(PcDebuggerSavedIRQL, KPCR, DebuggerSavedIRQL),
-OFFSET(PcTickOffset, KPCR, TickOffset),
-OFFSET(PcMasterOffset, KPCR, MasterOffset),
-OFFSET(PcSkipTick, KPCR, SkipTick),
-OFFSET(PcStartCycles, KPCR, StartCycles),
-SIZE(ProcessorControlRegisterLength, KPCR),
+OFFSET(PcCr0, KIPCR, Prcb.Cr0),
+OFFSET(PcCr2, KIPCR, Prcb.Cr2),
+OFFSET(PcCr3, KIPCR, Prcb.Cr3),
+OFFSET(PcCr4, KIPCR, Prcb.Cr4),
+OFFSET(PcKernelDr0, KIPCR, Prcb.KernelDr0),
+OFFSET(PcKernelDr1, KIPCR, Prcb.KernelDr1),
+OFFSET(PcKernelDr2, KIPCR, Prcb.KernelDr2),
+OFFSET(PcKernelDr3, KIPCR, Prcb.KernelDr3),
+OFFSET(PcKernelDr7, KIPCR, Prcb.KernelDr7),
+OFFSET(PcGdtrLimit, KIPCR, Prcb.GdtrLimit),
+OFFSET(PcGdtrBase, KIPCR, Prcb.GdtrBase),
+OFFSET(PcIdtrLimit, KIPCR, IdtrLimit),
+OFFSET(PcIdtrBase, KIPCR, IdtrBase),
+OFFSET(PcTr, KIPCR, Tr),
+OFFSET(PcLdtr, KIPCR, Ldtr),
+OFFSET(PcDebugControl, KIPCR, DebugControl),
+OFFSET(PcLastBranchToRip, KIPCR, LastBranchToRip),
+OFFSET(PcLastBranchFromRip, KIPCR, LastBranchFromRip),
+OFFSET(PcLastExceptionToRip, KIPCR, LastExceptionToRip),
+OFFSET(PcLastExceptionFromRip, KIPCR, LastExceptionFromRip),
+OFFSET(PcCr8, KIPCR, Cr8),
 #endif
+OFFSET(PcCpuType, KIPCR, Prcb.CpuType),
+OFFSET(PcCpuID, KIPCR, Prcb.CpuID),
+OFFSET(PcCpuStep, KIPCR, Prcb.CpuStep),
+OFFSET(PcCpuVendor, KIPCR, Prcb.CpuVendor),
+OFFSET(PcCFlushSize, KIPCR, Prcb.CFlushSize),
+OFFSET(PcDeferredReadyListHead, KIPCR, Prcb.DeferredReadyListHead),
+OFFSET(PcSystemCalls, KIPCR, Prcb.KeSystemCalls),
+OFFSET(PcDpcRoutineActive, KIPCR, Prcb.DpcRoutineActive),
+OFFSET(PcInterruptCount, KIPCR, Prcb.InterruptCount),
+OFFSET(PcDebuggerSavedIRQL, KIPCR, Prcb.DebuggerSavedIRQL),
+OFFSET(PcTickOffset, KIPCR, Prcb.TickOffset),
+OFFSET(PcMasterOffset, KIPCR, Prcb.MasterOffset),
+OFFSET(PcSkipTick, KIPCR, Prcb.SkipTick),
+#if (NTDDI_VERSION >= NTDDI_LONGHORN)
+OFFSET(PcVirtualApicAssist, KIPCR, Prcb.VirtualApicAssist),
+OFFSET(PcStartCycles, KIPCR, Prcb.StartCycles),
+#endif
+SIZE(ProcessorControlRegisterLength, KIPCR),
 
 HEADER("KPROCESSOR_STATE"),
 OFFSET(PsSpecialRegisters, KPROCESSOR_STATE, SpecialRegisters),
@@ -578,4 +580,33 @@ OFFSET(EXCEPTION_RECORD_ExceptionAddress, EXCEPTION_RECORD, ExceptionAddress),
 OFFSET(EXCEPTION_RECORD_NumberParameters, EXCEPTION_RECORD, NumberParameters),
 OFFSET(EXCEPTION_RECORD_ExceptionInformation, EXCEPTION_RECORD, ExceptionInformation),
 
+HEADER("KTHREAD"),
 OFFSET(KTHREAD_WAIT_IRQL, KTHREAD, WaitIrql),
+OFFSET(KTHREAD_TrapFrame, KTHREAD, TrapFrame),
+OFFSET(KTHREAD_PreviousMode, KTHREAD, PreviousMode),
+OFFSET(KTHREAD_KernelStack, KTHREAD, KernelStack),
+OFFSET(KTHREAD_UserApcPending, KTHREAD, ApcState.UserApcPending),
+
+HEADER("KINTERRUPT"),
+
+OFFSET(KINTERRUPT_Type, KINTERRUPT, Type),
+OFFSET(KINTERRUPT_Size, KINTERRUPT, Size),
+OFFSET(KINTERRUPT_InterruptListEntry, KINTERRUPT, InterruptListEntry),
+OFFSET(KINTERRUPT_ServiceRoutine, KINTERRUPT, ServiceRoutine),
+OFFSET(KINTERRUPT_ServiceContext, KINTERRUPT, ServiceContext),
+OFFSET(KINTERRUPT_SpinLock, KINTERRUPT, SpinLock),
+OFFSET(KINTERRUPT_TickCount, KINTERRUPT, TickCount),
+OFFSET(KINTERRUPT_ActualLock, KINTERRUPT, ActualLock),
+OFFSET(KINTERRUPT_DispatchAddress, KINTERRUPT, DispatchAddress),
+OFFSET(KINTERRUPT_Vector, KINTERRUPT, Vector),
+OFFSET(KINTERRUPT_Irql, KINTERRUPT, Irql),
+OFFSET(KINTERRUPT_SynchronizeIrql, KINTERRUPT, SynchronizeIrql),
+OFFSET(KINTERRUPT_FloatingSave, KINTERRUPT, FloatingSave),
+OFFSET(KINTERRUPT_Connected, KINTERRUPT, Connected),
+OFFSET(KINTERRUPT_Number, KINTERRUPT, Number),
+OFFSET(KINTERRUPT_ShareVector, KINTERRUPT, ShareVector),
+OFFSET(KINTERRUPT_Mode, KINTERRUPT, Mode),
+OFFSET(KINTERRUPT_ServiceCount, KINTERRUPT, ServiceCount),
+OFFSET(KINTERRUPT_DispatchCount, KINTERRUPT, DispatchCount),
+OFFSET(KINTERRUPT_TrapFrame, KINTERRUPT, TrapFrame),
+OFFSET(KINTERRUPT_DispatchCode, KINTERRUPT, DispatchCode),