You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1459 lines
31 KiB
1459 lines
31 KiB
include kxamd64.inc
|
|
|
|
;
|
|
; Pointer size in bytes
|
|
;
|
|
|
|
SizeofPointer equ 00008H
|
|
|
|
;
|
|
; Process State Enumerated Type Values
|
|
;
|
|
|
|
ProcessInMemory equ 00000H
|
|
ProcessOutOfMemory equ 00001H
|
|
ProcessInTransition equ 00002H
|
|
|
|
;
|
|
; Thread State Enumerated Type Values
|
|
;
|
|
|
|
Initialized equ 00000H
|
|
Ready equ 00001H
|
|
Running equ 00002H
|
|
Standby equ 00003H
|
|
Terminated equ 00004H
|
|
Waiting equ 00005H
|
|
|
|
;
|
|
; Wait Reason and Wait Type Enumerated Type Values
|
|
;
|
|
|
|
WrExecutive equ 00000H
|
|
WrMutex equ 0001DH
|
|
WrDispatchInt equ 0001FH
|
|
WrQuantumEnd equ 0001EH
|
|
WrEventPair equ 0000EH
|
|
WaitAny equ 00001H
|
|
WaitAll equ 00000H
|
|
|
|
;
|
|
; Apc State Structure Offset Definitions
|
|
;
|
|
|
|
AsApcListHead equ 00000H
|
|
AsProcess equ 00020H
|
|
AsKernelApcInProgress equ 00028H
|
|
AsKernelApcPending equ 00029H
|
|
AsUserApcPending equ 0002AH
|
|
|
|
;
|
|
; Bug Check Code Definitions
|
|
;
|
|
|
|
APC_INDEX_MISMATCH equ 00001H
|
|
ATTEMPTED_SWITCH_FROM_DPC equ 000B8H
|
|
DATA_BUS_ERROR equ 0002EH
|
|
DATA_COHERENCY_EXCEPTION equ 00055H
|
|
HAL1_INITIALIZATION_FAILED equ 00061H
|
|
INSTRUCTION_BUS_ERROR equ 0002FH
|
|
INSTRUCTION_COHERENCY_EXCEPTION equ 00056H
|
|
INTERRUPT_EXCEPTION_NOT_HANDLED equ 0003DH
|
|
INTERRUPT_UNWIND_ATTEMPTED equ 0003CH
|
|
INVALID_AFFINITY_SET equ 00003H
|
|
INVALID_DATA_ACCESS_TRAP equ 00004H
|
|
IRQL_GT_ZERO_AT_SYSTEM_SERVICE equ 0004AH
|
|
IRQL_NOT_LESS_OR_EQUAL equ 0000AH
|
|
KMODE_EXCEPTION_NOT_HANDLED equ 0001EH
|
|
NMI_HARDWARE_FAILURE equ 00080H
|
|
NO_USER_MODE_CONTEXT equ 0000EH
|
|
PAGE_FAULT_WITH_INTERRUPTS_OFF equ 00049H
|
|
PANIC_STACK_SWITCH equ 0002BH
|
|
SPIN_LOCK_INIT_FAILURE equ 00081H
|
|
SYSTEM_EXIT_OWNED_MUTEX equ 00039H
|
|
SYSTEM_SERVICE_EXCEPTION equ 0003BH
|
|
SYSTEM_UNWIND_PREVIOUS_USER equ 0003AH
|
|
TRAP_CAUSE_UNKNOWN equ 00012H
|
|
UNEXPECTED_KERNEL_MODE_TRAP equ 0007FH
|
|
HARDWARE_INTERRUPT_STORM equ 000F2H
|
|
RECURSIVE_MACHINE_CHECK equ 000FBH
|
|
|
|
;
|
|
; Breakpoint type definitions
|
|
;
|
|
|
|
DBG_STATUS_CONTROL_C equ 00001H
|
|
|
|
;
|
|
; Client Id Structure Offset Definitions
|
|
;
|
|
|
|
CidUniqueProcess equ 00000H
|
|
CidUniqueThread equ 00008H
|
|
|
|
;
|
|
; Critical Section Structure Offset Definitions
|
|
;
|
|
|
|
CsDebugInfo equ 00000H
|
|
CsLockCount equ 00008H
|
|
CsRecursionCount equ 0000CH
|
|
CsOwningThread equ 00010H
|
|
CsLockSemaphore equ 00018H
|
|
CsSpinCount equ 00020H
|
|
|
|
;
|
|
; Critical Section Debug Information Structure Offset Definitions
|
|
;
|
|
|
|
CsType equ 00000H
|
|
CsCreatorBackTraceIndex equ 00002H
|
|
CsCriticalSection equ 00008H
|
|
CsProcessLocksList equ 00010H
|
|
CsEntryCount equ 00020H
|
|
CsContentionCount equ 00024H
|
|
|
|
;
|
|
; Exception Record Offset, Flag, and Enumerated Type Definitions
|
|
;
|
|
|
|
EXCEPTION_NONCONTINUABLE equ 00001H
|
|
EXCEPTION_UNWINDING equ 00002H
|
|
EXCEPTION_EXIT_UNWIND equ 00004H
|
|
EXCEPTION_STACK_INVALID equ 00008H
|
|
EXCEPTION_NESTED_CALL equ 00010H
|
|
EXCEPTION_TARGET_UNWIND equ 00020H
|
|
EXCEPTION_COLLIDED_UNWIND equ 00040H
|
|
EXCEPTION_UNWIND equ 00066H
|
|
EXCEPTION_EXECUTE_HANDLER equ 00001H
|
|
EXCEPTION_CONTINUE_SEARCH equ 00000H
|
|
EXCEPTION_CONTINUE_EXECUTION equ 0FFFFFFFFH
|
|
|
|
ExceptionContinueExecution equ 00000H
|
|
ExceptionContinueSearch equ 00001H
|
|
ExceptionNestedException equ 00002H
|
|
ExceptionCollidedUnwind equ 00003H
|
|
|
|
ErExceptionCode equ 00000H
|
|
ErExceptionFlags equ 00004H
|
|
ErExceptionRecord equ 00008H
|
|
ErExceptionAddress equ 00010H
|
|
ErNumberParameters equ 00018H
|
|
ErExceptionInformation equ 00020H
|
|
ExceptionRecordLength equ 000A0H
|
|
|
|
;
|
|
; Fast Mutex Structure Offset Definitions
|
|
;
|
|
|
|
FmCount equ 00000H
|
|
FmOwner equ 00008H
|
|
FmContention equ 00010H
|
|
FmEvent equ 00018H
|
|
FmOldIrql equ 00030H
|
|
|
|
;
|
|
; Interrupt Priority Request Level Definitions
|
|
;
|
|
|
|
PASSIVE_LEVEL equ 00000H
|
|
APC_LEVEL equ 00001H
|
|
DISPATCH_LEVEL equ 00002H
|
|
CLOCK_LEVEL equ 0000DH
|
|
IPI_LEVEL equ 0000EH
|
|
POWER_LEVEL equ 0000EH
|
|
PROFILE_LEVEL equ 0000FH
|
|
HIGH_LEVEL equ 0000FH
|
|
ifdef NT_UP
|
|
SYNCH_LEVEL equ 00002H
|
|
else
|
|
SYNCH_LEVEL equ 0000CH
|
|
endif
|
|
|
|
;
|
|
; Large Integer Structure Offset Definitions
|
|
;
|
|
|
|
LiLowPart equ 00000H
|
|
LiHighPart equ 00004H
|
|
|
|
;
|
|
; List Entry Structure Offset Definitions
|
|
;
|
|
|
|
LsFlink equ 00000H
|
|
LsBlink equ 00008H
|
|
|
|
;
|
|
; String Structure Offset Definitions
|
|
;
|
|
|
|
StrLength equ 00000H
|
|
StrMaximumLength equ 00002H
|
|
StrBuffer equ 00008H
|
|
|
|
;
|
|
; Tick Count Offset Definitions
|
|
;
|
|
|
|
UsTickCount equ 00320H
|
|
|
|
;
|
|
; Time Structure Offset Definitions
|
|
;
|
|
|
|
TmLowTime equ 00000H
|
|
TmHighTime equ 00004H
|
|
|
|
;
|
|
; Thread Switch Counter Offset Definitions
|
|
;
|
|
|
|
TwFindAny equ 00000H
|
|
TwFindIdeal equ 00004H
|
|
TwFindLast equ 00008H
|
|
TwIdleAny equ 0000CH
|
|
TwIdleCurrent equ 00010H
|
|
TwIdleIdeal equ 00014H
|
|
TwIdleLast equ 00018H
|
|
TwPreemptAny equ 0001CH
|
|
TwPreemptCurrent equ 00020H
|
|
TwPreemptLast equ 00024H
|
|
TwSwitchToIdle equ 00028H
|
|
|
|
;
|
|
; Status Code Definitions
|
|
;
|
|
|
|
STATUS_ACCESS_VIOLATION equ 0C0000005H
|
|
STATUS_ARRAY_BOUNDS_EXCEEDED equ 0C000008CH
|
|
STATUS_BAD_COMPRESSION_BUFFER equ 0C0000242H
|
|
STATUS_BREAKPOINT equ 080000003H
|
|
STATUS_DATATYPE_MISALIGNMENT equ 080000002H
|
|
STATUS_FLOAT_DENORMAL_OPERAND equ 0C000008DH
|
|
STATUS_FLOAT_DIVIDE_BY_ZERO equ 0C000008EH
|
|
STATUS_FLOAT_INEXACT_RESULT equ 0C000008FH
|
|
STATUS_FLOAT_INVALID_OPERATION equ 0C0000090H
|
|
STATUS_FLOAT_OVERFLOW equ 0C0000091H
|
|
STATUS_FLOAT_STACK_CHECK equ 0C0000092H
|
|
STATUS_FLOAT_UNDERFLOW equ 0C0000093H
|
|
STATUS_FLOAT_MULTIPLE_FAULTS equ 0C00002B4H
|
|
STATUS_FLOAT_MULTIPLE_TRAPS equ 0C00002B5H
|
|
STATUS_GUARD_PAGE_VIOLATION equ 080000001H
|
|
STATUS_ILLEGAL_FLOAT_CONTEXT equ 0C000014AH
|
|
STATUS_ILLEGAL_INSTRUCTION equ 0C000001DH
|
|
STATUS_INSTRUCTION_MISALIGNMENT equ 0C00000AAH
|
|
STATUS_INVALID_HANDLE equ 0C0000008H
|
|
STATUS_INVALID_LOCK_SEQUENCE equ 0C000001EH
|
|
STATUS_INVALID_OWNER equ 0C000005AH
|
|
STATUS_INVALID_PARAMETER_1 equ 0C00000EFH
|
|
STATUS_INVALID_SYSTEM_SERVICE equ 0C000001CH
|
|
STATUS_INTEGER_DIVIDE_BY_ZERO equ 0C0000094H
|
|
STATUS_INTEGER_OVERFLOW equ 0C0000095H
|
|
STATUS_IN_PAGE_ERROR equ 0C0000006H
|
|
STATUS_KERNEL_APC equ 00100H
|
|
STATUS_LONGJUMP equ 080000026H
|
|
STATUS_NO_CALLBACK_ACTIVE equ 0C0000258H
|
|
STATUS_NO_EVENT_PAIR equ 0C000014EH
|
|
STATUS_PRIVILEGED_INSTRUCTION equ 0C0000096H
|
|
STATUS_SINGLE_STEP equ 080000004H
|
|
STATUS_STACK_OVERFLOW equ 0C00000FDH
|
|
STATUS_SUCCESS equ 00000H
|
|
STATUS_THREAD_IS_TERMINATING equ 0C000004BH
|
|
STATUS_TIMEOUT equ 00102H
|
|
STATUS_UNWIND equ 0C0000027H
|
|
STATUS_UNWIND_CONSOLIDATE equ 080000029H
|
|
STATUS_WAKE_SYSTEM_DEBUGGER equ 080000007H
|
|
|
|
;
|
|
; APC Object Structure Offset Definitions
|
|
;
|
|
|
|
ApType equ 00000H
|
|
ApSize equ 00002H
|
|
ApThread equ 00008H
|
|
ApApcListEntry equ 00010H
|
|
ApKernelRoutine equ 00020H
|
|
ApRundownRoutine equ 00028H
|
|
ApNormalRoutine equ 00030H
|
|
ApNormalContext equ 00038H
|
|
ApSystemArgument1 equ 00040H
|
|
ApSystemArgument2 equ 00048H
|
|
ApApcStateIndex equ 00050H
|
|
ApApcMode equ 00051H
|
|
ApInserted equ 00052H
|
|
ApcObjectLength equ 00058H
|
|
|
|
;
|
|
; DPC object Structure Offset Definitions
|
|
;
|
|
|
|
DpType equ 00000H
|
|
DpNumber equ 00002H
|
|
DpImportance equ 00003H
|
|
DpDpcListEntry equ 00008H
|
|
DpDeferredRoutine equ 00018H
|
|
DpDeferredContext equ 00020H
|
|
DpSystemArgument1 equ 00028H
|
|
DpSystemArgument2 equ 00030H
|
|
DpDpcData equ 00038H
|
|
DpcObjectLength equ 00040H
|
|
|
|
;
|
|
; Device Queue Object Structure Offset Definitions
|
|
;
|
|
|
|
DvType equ 00000H
|
|
DvSize equ 00002H
|
|
DvDeviceListHead equ 00008H
|
|
DvSpinLock equ 00018H
|
|
DvBusy equ 00020H
|
|
DeviceQueueObjectLength equ 00028H
|
|
|
|
;
|
|
; Device Queue Entry Structure Offset Definitions
|
|
;
|
|
|
|
DeDeviceListEntry equ 00000H
|
|
DeSortKey equ 00010H
|
|
DeInserted equ 00014H
|
|
DeviceQueueEntryLength equ 00018H
|
|
|
|
;
|
|
; Event Object Structure Offset Definitions
|
|
;
|
|
|
|
EvType equ 00000H
|
|
EvSize equ 00002H
|
|
EvSignalState equ 00004H
|
|
EvWaitListHead equ 00008H
|
|
EventObjectLength equ 00018H
|
|
|
|
;
|
|
; Event Pair Object Structure Offset Definitions
|
|
;
|
|
|
|
EpType equ 00000H
|
|
EpSize equ 00002H
|
|
EpEventLow equ 00008H
|
|
EpEventHigh equ 00020H
|
|
|
|
;
|
|
; Interrupt Object Structure Offset Definitions
|
|
;
|
|
|
|
InLevelSensitive equ 00000H
|
|
InLatched equ 00001H
|
|
|
|
InType equ 00000H
|
|
InSize equ 00002H
|
|
InInterruptListEntry equ 00008H
|
|
InServiceRoutine equ 00018H
|
|
InServiceContext equ 00020H
|
|
InSpinLock equ 00028H
|
|
InTickCount equ 00030H
|
|
InActualLock equ 00038H
|
|
InDispatchAddress equ 00040H
|
|
InVector equ 00048H
|
|
InIrql equ 0004CH
|
|
InSynchronizeIrql equ 0004DH
|
|
InFloatingSave equ 0004EH
|
|
InConnected equ 0004FH
|
|
InNumber equ 00050H
|
|
InShareVector equ 00051H
|
|
InMode equ 00054H
|
|
InServiceCount equ 00058H
|
|
InDispatchCount equ 0005CH
|
|
InTrapFrame equ 00060H
|
|
InDispatchCode equ 00068H
|
|
InterruptObjectLength equ 00210H
|
|
|
|
;
|
|
; Process Object Structure Offset Definitions
|
|
;
|
|
|
|
PrType equ 00000H
|
|
PrSize equ 00002H
|
|
PrSignalState equ 00004H
|
|
PrProfileListHead equ 00018H
|
|
PrDirectoryTableBase equ 00028H
|
|
PrIopmOffset equ 00038H
|
|
PrActiveProcessors equ 00040H
|
|
PrKernelTime equ 00048H
|
|
PrUserTime equ 0004CH
|
|
PrReadyListHead equ 00050H
|
|
PrSwapListEntry equ 00060H
|
|
PrThreadListHead equ 00070H
|
|
PrProcessLock equ 00080H
|
|
PrAffinity equ 00088H
|
|
PrStackCount equ 00090H
|
|
PrBasePriority equ 00092H
|
|
PrThreadQuantum equ 00093H
|
|
PrAutoAlignment equ 00094H
|
|
PrState equ 00095H
|
|
ProcessObjectLength equ 000B0H
|
|
ExtendedProcessObjectLength equ 00400H
|
|
|
|
;
|
|
; Profile Object Structure Offset Definitions
|
|
;
|
|
|
|
PfType equ 00000H
|
|
PfSize equ 00002H
|
|
PfProfileListEntry equ 00008H
|
|
PfProcess equ 00018H
|
|
PfRangeBase equ 00020H
|
|
PfRangeLimit equ 00028H
|
|
PfBucketShift equ 00030H
|
|
PfBuffer equ 00038H
|
|
PfSegment equ 00040H
|
|
PfAffinity equ 00048H
|
|
PfSource equ 00050H
|
|
PfStarted equ 00052H
|
|
ProfileObjectLength equ 00058H
|
|
|
|
;
|
|
; Queue Object Structure Offset Definitions
|
|
;
|
|
|
|
QuType equ 00000H
|
|
QuSize equ 00002H
|
|
QuSignalState equ 00004H
|
|
QuEntryListHead equ 00018H
|
|
QuCurrentCount equ 00028H
|
|
QuMaximumCount equ 0002CH
|
|
QuThreadListHead equ 00030H
|
|
QueueObjectLength equ 00040H
|
|
|
|
;
|
|
; Thread Object Structure Offset Definitions
|
|
;
|
|
|
|
EeKernelEventPair equ 00000H
|
|
EtCid equ 00368H
|
|
EtEthreadLength equ 00420H
|
|
|
|
ThType equ 00000H
|
|
ThSize equ 00002H
|
|
ThDebugActive equ 00003H
|
|
ThSignalState equ 00004H
|
|
ThMutantListHead equ 00018H
|
|
ThInitialStack equ 00028H
|
|
ThThreadLock equ 00040H
|
|
ThStackLimit equ 00030H
|
|
ThKernelStack equ 00038H
|
|
ThContextSwitches equ 00048H
|
|
ThState equ 0004CH
|
|
ThNpxState equ 0004DH
|
|
ThWaitIrql equ 0004EH
|
|
ThWaitMode equ 0004FH
|
|
ThTeb equ 00050H
|
|
ThApcState equ 00058H
|
|
ThApcQueueLock equ 00088H
|
|
ThWaitStatus equ 00090H
|
|
ThWaitBlockList equ 00098H
|
|
ThAlertable equ 000A0H
|
|
ThWaitNext equ 000A1H
|
|
ThWaitReason equ 000A2H
|
|
ThPriority equ 000A3H
|
|
ThEnableStackSwap equ 000A4H
|
|
ThSwapBusy equ 000A5H
|
|
ThAlerted equ 000A6H
|
|
ThWaitListEntry equ 000A8H
|
|
ThQueue equ 000B8H
|
|
ThWaitTime equ 000C0H
|
|
ThCombinedApcDisable equ 000C4H
|
|
ThKernelApcDisable equ 000C4H
|
|
ThSpecialApcDisable equ 000C6H
|
|
ThTimer equ 000C8H
|
|
ThWaitBlock equ 00108H
|
|
ThQueueListEntry equ 001C8H
|
|
ThApcStateIndex equ 001D8H
|
|
ThApcQueueable equ 001D9H
|
|
ThPreempted equ 001DAH
|
|
ThProcessReadyQueue equ 001DBH
|
|
ThKernelStackResident equ 001DCH
|
|
ThSaturation equ 001DDH
|
|
ThIdealProcessor equ 001DEH
|
|
ThNextProcessor equ 001DFH
|
|
ThBasePriority equ 001E0H
|
|
ThPriorityDecrement equ 001E2H
|
|
ThQuantum equ 001E3H
|
|
ThSystemAffinityActive equ 001E4H
|
|
ThPreviousMode equ 001E5H
|
|
ThResourceIndex equ 001E6H
|
|
ThDisableBoost equ 001E7H
|
|
ThUserAffinity equ 001E8H
|
|
ThProcess equ 001F0H
|
|
ThAffinity equ 001F8H
|
|
ThServiceTable equ 00200H
|
|
ThApcStatePointer equ 00208H
|
|
ThSavedApcState equ 00218H
|
|
ThCallbackStack equ 00248H
|
|
ThWin32Thread equ 00250H
|
|
ThTrapFrame equ 00258H
|
|
ThKernelTime equ 00260H
|
|
ThUserTime equ 00264H
|
|
ThStackBase equ 00268H
|
|
ThSuspendApc equ 00270H
|
|
ThSuspendSemaphore equ 002C8H
|
|
ThTlsArray equ 002E8H
|
|
ThLegoData equ 002F0H
|
|
ThThreadListEntry equ 002F8H
|
|
ThLargeStack equ 00308H
|
|
ThPowerState equ 00309H
|
|
ThNpxIrql equ 0030AH
|
|
ThAutoAlignment equ 0030CH
|
|
ThIopl equ 0030DH
|
|
ThFreezeCount equ 0030EH
|
|
ThSuspendCount equ 0030FH
|
|
ThUserIdealProcessor equ 00311H
|
|
ThreadObjectLength equ 00320H
|
|
ExtendedThreadObjectLength equ 00420H
|
|
|
|
EVENT_WAIT_BLOCK_OFFSET equ 00168H
|
|
|
|
;
|
|
; Timer object Structure Offset Definitions
|
|
;
|
|
|
|
TiType equ 00000H
|
|
TiSize equ 00002H
|
|
TiInserted equ 00003H
|
|
TiSignalState equ 00004H
|
|
TiDueTime equ 00018H
|
|
TiTimerListEntry equ 00020H
|
|
TiDpc equ 00030H
|
|
TiPeriod equ 00038H
|
|
TimerObjectLength equ 00040H
|
|
|
|
TIMER_TABLE_SIZE equ 00100H
|
|
|
|
;
|
|
; Wait Block Structure Offset Definitions
|
|
;
|
|
|
|
WbWaitListEntry equ 00000H
|
|
WbThread equ 00010H
|
|
WbObject equ 00018H
|
|
WbNextWaitBlock equ 00020H
|
|
WbWaitKey equ 00028H
|
|
WbWaitType equ 0002AH
|
|
|
|
;
|
|
; Fiber Structure Offset Definitions
|
|
;
|
|
|
|
FbFiberData equ 00000H
|
|
FbExceptionList equ 00008H
|
|
FbStackBase equ 00010H
|
|
FbStackLimit equ 00018H
|
|
FbDeallocationStack equ 00020H
|
|
FbFiberContext equ 00030H
|
|
FbWx86Tib equ 002D0H
|
|
FbFlsData equ 002D8H
|
|
|
|
;
|
|
; Process Environment Block Structure Offset Definitions
|
|
;
|
|
|
|
PeKernelCallbackTable equ 00058H
|
|
ProcessEnvironmentBlockLength equ 00358H
|
|
|
|
;
|
|
; System Service Descriptor Table Structure Definitions
|
|
;
|
|
|
|
NUMBER_SERVICE_TABLES equ 00004H
|
|
SERVICE_NUMBER_MASK equ 00FFFH
|
|
SERVICE_TABLE_SHIFT equ 00007H
|
|
SERVICE_TABLE_MASK equ 00060H
|
|
SERVICE_TABLE_TEST equ 00020H
|
|
|
|
SdBase equ 00000H
|
|
SdCount equ 00008H
|
|
SdLimit equ 00010H
|
|
SdNumber equ 00018H
|
|
|
|
;
|
|
; Thread Environment Block Structure Offset Definitions
|
|
;
|
|
|
|
TeCmTeb equ 00000H
|
|
TeStackBase equ 00008H
|
|
TeStackLimit equ 00010H
|
|
TeFiberData equ 00020H
|
|
TeSelf equ 00030H
|
|
TeEnvironmentPointer equ 00038H
|
|
TeClientId equ 00040H
|
|
TeActiveRpcHandle equ 00050H
|
|
TeThreadLocalStoragePointer equ 00058H
|
|
TeCountOfOwnedCriticalSections equ 0006CH
|
|
TePeb equ 00060H
|
|
TeCsrClientThread equ 00070H
|
|
TeWOW32Reserved equ 00100H
|
|
TeSoftFpcr equ 0010CH
|
|
TeExceptionCode equ 002C0H
|
|
TeGdiClientPID equ 007F0H
|
|
TeGdiClientTID equ 007F4H
|
|
TeGdiThreadLocalInfo equ 007F8H
|
|
TeglDispatchTable equ 009F0H
|
|
TeglReserved1 equ 01138H
|
|
TeglReserved2 equ 01220H
|
|
TeglSectionInfo equ 01228H
|
|
TeglSection equ 01230H
|
|
TeglTable equ 01238H
|
|
TeglCurrentRC equ 01240H
|
|
TeglContext equ 01248H
|
|
TeDeallocationStack equ 01478H
|
|
TeTlsSlots equ 01480H
|
|
TeVdm equ 01690H
|
|
TeGdiBatchCount equ 01740H
|
|
TeInstrumentation equ 016B8H
|
|
TeFlsData equ 017C8H
|
|
ThreadEnvironmentBlockLength equ 017D0H
|
|
CmThreadEnvironmentBlockOffset equ 02000H
|
|
|
|
;
|
|
; Lock Queue Structure Offset Definitions
|
|
;
|
|
|
|
LOCK_QUEUE_WAIT equ 00001H
|
|
LOCK_QUEUE_OWNER equ 00002H
|
|
LOCK_QUEUE_HEADER_SIZE equ 00010H
|
|
|
|
LockQueueDispatcherLock equ 00000H
|
|
|
|
LqNext equ 00000H
|
|
LqLock equ 00008H
|
|
|
|
LqhNext equ 00000H
|
|
LqhLock equ 00008H
|
|
LqhOldIrql equ 00010H
|
|
|
|
;
|
|
; Performance Definitions
|
|
;
|
|
|
|
PERF_CONTEXTSWAP_OFFSET equ 00004H
|
|
PERF_CONTEXTSWAP_FLAG equ 00004H
|
|
PERF_INTERRUPT_OFFSET equ 00004H
|
|
PERF_INTERRUPT_FLAG equ 04000H
|
|
|
|
;
|
|
; Register Argument Home Address Offset Definitions
|
|
;
|
|
|
|
P1Home equ 00008H
|
|
P2Home equ 00010H
|
|
P3Home equ 00018H
|
|
P4Home equ 00020H
|
|
|
|
;
|
|
; Apc Record Structure Offset Definitions
|
|
;
|
|
|
|
ArNormalRoutine equ 00000H
|
|
ArNormalContext equ 00008H
|
|
ArSystemArgument1 equ 00010H
|
|
ArSystemArgument2 equ 00018H
|
|
ApcRecordLength equ 00020H
|
|
|
|
|
|
;
|
|
; Special Register Structure Offset Definition
|
|
;
|
|
|
|
SrKernelDr0 equ 00020H
|
|
SrKernelDr1 equ 00028H
|
|
SrKernelDr2 equ 00030H
|
|
SrKernelDr3 equ 00038H
|
|
SrKernelDr6 equ 00040H
|
|
SrKernelDr7 equ 00048H
|
|
SrGdtr equ 00050H
|
|
SrIdtr equ 00060H
|
|
SrTr equ 00070H
|
|
SrMxCsr equ 00074H
|
|
SrMsrGsBase equ 000A8H
|
|
SrMsrGsSwap equ 000B0H
|
|
SrMsrStar equ 000B8H
|
|
SrMsrLStar equ 000C0H
|
|
SrMsrCStar equ 000C8H
|
|
SrMsrSyscallMask equ 000D0H
|
|
|
|
;
|
|
; Processor Control Region Structure Offset Definitions
|
|
;
|
|
|
|
PcGdt equ 00000H
|
|
PcTss equ 00008H
|
|
PcPerfGlobalGroupMask equ 00010H
|
|
PcSelf equ 00018H
|
|
PcContextSwitches equ 00020H
|
|
PcSetMember equ 00028H
|
|
PcTeb equ 00030H
|
|
PcCurrentPrcb equ 00038H
|
|
PcSavedRcx equ 00040H
|
|
PcSavedR11 equ 00048H
|
|
PcIrql equ 00050H
|
|
PcNumber equ 00052H
|
|
PcIrr equ 00054H
|
|
PcIrrActive equ 00058H
|
|
PcIdr equ 0005CH
|
|
PcStallScaleFactor equ 00064H
|
|
PcIdt equ 00068H
|
|
PcHalReserved equ 000C0H
|
|
PcMxCsr equ 00100H
|
|
PcPrcb equ 00180H
|
|
PcCurrentThread equ 00188H
|
|
PcNextThread equ 00190H
|
|
PcIdleThread equ 00198H
|
|
PcNotSetMember equ 001A8H
|
|
PcCr0 equ 001C0H
|
|
PcCr2 equ 001C8H
|
|
PcCr3 equ 001D0H
|
|
PcCr4 equ 001D8H
|
|
PcKernelDr0 equ 001E0H
|
|
PcKernelDr1 equ 001E8H
|
|
PcKernelDr2 equ 001F0H
|
|
PcKernelDr3 equ 001F8H
|
|
PcKernelDr7 equ 00208H
|
|
PcGdtrLimit equ 00216H
|
|
PcGdtrBase equ 00218H
|
|
PcIdtrLimit equ 00226H
|
|
PcIdtrBase equ 00228H
|
|
PcTr equ 00230H
|
|
PcLdtr equ 00232H
|
|
PcDebugControl equ 00238H
|
|
PcLastBranchToRip equ 00240H
|
|
PcLastBranchFromRip equ 00248H
|
|
PcLastExceptionToRip equ 00250H
|
|
PcLastExceptionFromRip equ 00258H
|
|
PcCr8 equ 00260H
|
|
PcCpuType equ 00540H
|
|
PcCpuID equ 00541H
|
|
PcCpuStep equ 00542H
|
|
PcInterruptCount equ 01098H
|
|
PcSystemCalls equ 01138H
|
|
PcDpcRoutineActive equ 00DDEH
|
|
PcDeferredReadyListHead equ 00E60H
|
|
PcSkipTick equ 010B4H
|
|
ProcessorControlRegisterLength equ 012E0H
|
|
|
|
;
|
|
; Defines for user shared data
|
|
;
|
|
|
|
USER_SHARED_DATA equ 0FFFFF78000000000H
|
|
MM_SHARED_USER_DATA_VA equ 07FFE0000H
|
|
UsTickCountMultiplier equ 00004H
|
|
UsInterruptTime equ 00008H
|
|
UsSystemTime equ 00014H
|
|
|
|
;
|
|
; Tss Structure Offset Definitions
|
|
;
|
|
|
|
TssRsp0 equ 00004H
|
|
TssRsp1 equ 0000CH
|
|
TssRsp2 equ 00014H
|
|
TssPanicStack equ 00024H
|
|
TssMcaStack equ 0002CH
|
|
TssLength equ 00068H
|
|
|
|
;
|
|
; Gdt Descriptor Offset Definitions
|
|
;
|
|
|
|
KGDT64_NULL equ 00000H
|
|
KGDT64_R0_CODE equ 00010H
|
|
KGDT64_R0_DATA equ 00018H
|
|
KGDT64_R3_CMCODE equ 00020H
|
|
KGDT64_R3_DATA equ 00028H
|
|
KGDT64_R3_CODE equ 00030H
|
|
KGDT64_SYS_TSS equ 00040H
|
|
KGDT64_R3_CMTEB equ 00050H
|
|
|
|
;
|
|
; GDT Entry Offset Definitions
|
|
;
|
|
|
|
KgdtBaseLow equ 00002H
|
|
KgdtBaseMiddle equ 00004H
|
|
KgdtBaseHigh equ 00007H
|
|
KgdtBaseUpper equ 00008H
|
|
KgdtLimitHigh equ 00006H
|
|
KgdtLimitLow equ 00000H
|
|
|
|
|
|
;
|
|
; Processor Block Structure Offset Definitions
|
|
;
|
|
|
|
PbMinorVersion equ 00000H
|
|
PbMajorVersion equ 00002H
|
|
PbNumber equ 00004H
|
|
PbBuildType equ 00006H
|
|
PbCurrentThread equ 00008H
|
|
PbNextThread equ 00010H
|
|
PbIdleThread equ 00018H
|
|
PbSetMember equ 00020H
|
|
PbNotSetMember equ 00028H
|
|
PbPrcbLock equ 00030H
|
|
PbProcessorState equ 00040H
|
|
PbCpuType equ 003C0H
|
|
PbCpuID equ 003C1H
|
|
PbCpuStep equ 003C2H
|
|
PbHalReserved equ 003C8H
|
|
PbLockQueue equ 00470H
|
|
PbPPLookasideList equ 00580H
|
|
PbPPNPagedLookasideList equ 00680H
|
|
PbPPPagedLookasideList equ 00880H
|
|
PbPacketBarrier equ 00A80H
|
|
PbCurrentPacket equ 00B00H
|
|
PbTargetSet equ 00B18H
|
|
PbWorkerRoutine equ 00B20H
|
|
PbIpiFrozen equ 00B28H
|
|
PbRequestSummary equ 00B80H
|
|
PbDpcListHead equ 00C00H
|
|
PbDpcLock equ 00C10H
|
|
PbDpcQueueDepth equ 00C18H
|
|
PbDpcCount equ 00C1CH
|
|
PbDpcStack equ 00C40H
|
|
PbSavedRsp equ 00C48H
|
|
PbMaximumDpcQueueDepth equ 00C50H
|
|
PbDpcRequestRate equ 00C54H
|
|
PbMinimumDpcRate equ 00C58H
|
|
PbDpcInterruptRequested equ 00C5CH
|
|
PbDpcThreadRequested equ 00C5DH
|
|
PbDpcRoutineActive equ 00C5EH
|
|
PbDpcThreadActive equ 00C5FH
|
|
PbTimerHand equ 00C60H
|
|
PbTimerRequest equ 00C60H
|
|
PbDpcLastCount equ 00C70H
|
|
PbThreadDpcEnable equ 00C74H
|
|
PbQuantumEnd equ 00C75H
|
|
PbDpcSetEventRequest equ 00C78H
|
|
PbIdleSchedule equ 00C77H
|
|
PbDeferredReadyListHead equ 00CE0H
|
|
PbReadySummary equ 00D10H
|
|
PbDispatcherReadyListHead equ 00D18H
|
|
PbInterruptCount equ 00F18H
|
|
PbKernelTime equ 00F1CH
|
|
PbUserTime equ 00F20H
|
|
PbDpcTime equ 00F24H
|
|
PbInterruptTime equ 00F28H
|
|
PbAdjustDpcThreshold equ 00F2CH
|
|
PbPageColor equ 00F30H
|
|
PbSkipTick equ 00F34H
|
|
PbPollSlot equ 00F36H
|
|
PbParentNode equ 00F38H
|
|
PbMultiThreadProcessorSet equ 00F40H
|
|
PbThreadStartCount equ 00F48H
|
|
PbDebugDpcTime equ 00F50H
|
|
PbFastReadNoWait equ 00F80H
|
|
PbFastReadWait equ 00F84H
|
|
PbFastReadNotPossible equ 00F88H
|
|
PbCopyReadNoWait equ 00F8CH
|
|
PbCopyReadWait equ 00F90H
|
|
PbCopyReadNoWaitMiss equ 00F94H
|
|
PbAlignmentFixupCount equ 00F98H
|
|
PbDcacheFlushCount equ 00FA0H
|
|
PbExceptionDispatchCount equ 00FA4H
|
|
PbFirstLevelTbFills equ 00FA8H
|
|
PbFloatingEmulationCount equ 00FACH
|
|
PbIcacheFlushCount equ 00FB0H
|
|
PbSecondLevelTbFills equ 00FB4H
|
|
PbSystemCalls equ 00FB8H
|
|
PbLookasideIrpFloat equ 00FC0H
|
|
PbVendorString equ 00FC4H
|
|
PbPowerState equ 00FE8H
|
|
ProcessorBlockLength equ 01160H
|
|
|
|
;
|
|
; Processor Power State Offset Definitions
|
|
;
|
|
|
|
PpIdleFunction equ 00000H
|
|
|
|
;
|
|
; Immediate Interprocessor Command Definitions
|
|
;
|
|
|
|
IPI_APC equ 00001H
|
|
IPI_DPC equ 00002H
|
|
IPI_FREEZE equ 00004H
|
|
IPI_PACKET_READY equ 00008H
|
|
IPI_SYNCH_REQUEST equ 00010H
|
|
|
|
;
|
|
; Time Fields (TIME_FIELDS) Structure Offset Definitions
|
|
;
|
|
|
|
TfSecond equ 0000AH
|
|
TfMinute equ 00008H
|
|
TfHour equ 00006H
|
|
TfWeekday equ 0000EH
|
|
TfDay equ 00004H
|
|
TfMonth equ 00002H
|
|
TfYear equ 00000H
|
|
TfMilliseconds equ 0000CH
|
|
|
|
|
|
;
|
|
; Define constants for system IRQL and IDT vector conversion
|
|
;
|
|
|
|
MAXIMUM_IDTVECTOR equ 000FFH
|
|
MAXIMUM_PRIMARY_VECTOR equ 000FFH
|
|
PRIMARY_VECTOR_BASE equ 00030H
|
|
RPL_MASK equ 00003H
|
|
MODE_BIT equ 00000H
|
|
MODE_MASK equ 00001H
|
|
|
|
;
|
|
; Flags in the CR0 register
|
|
;
|
|
|
|
CR0_PG equ 080000000H
|
|
CR0_ET equ 00010H
|
|
CR0_TS equ 00008H
|
|
CR0_EM equ 00004H
|
|
CR0_MP equ 00002H
|
|
CR0_PE equ 00001H
|
|
CR0_CD equ 040000000H
|
|
CR0_NW equ 020000000H
|
|
CR0_AM equ 040000H
|
|
CR0_WP equ 010000H
|
|
CR0_NE equ 00020H
|
|
|
|
;
|
|
; Flags in the CR4 register
|
|
;
|
|
|
|
CR4_VME equ 00001H
|
|
CR4_PVI equ 00002H
|
|
CR4_TSD equ 00004H
|
|
CR4_DE equ 00008H
|
|
CR4_PSE equ 00010H
|
|
CR4_PAE equ 00020H
|
|
CR4_MCE equ 00040H
|
|
CR4_PGE equ 00080H
|
|
CR4_FXSR equ 00200H
|
|
CR4_XMMEXCPT equ 00400H
|
|
|
|
;
|
|
; Legacy Floating Status Bit Masks
|
|
;
|
|
|
|
FSW_INVALID_OPERATION equ 00001H
|
|
FSW_DENORMAL equ 00002H
|
|
FSW_ZERO_DIVIDE equ 00004H
|
|
FSW_OVERFLOW equ 00008H
|
|
FSW_UNDERFLOW equ 00010H
|
|
FSW_PRECISION equ 00020H
|
|
FSW_STACK_FAULT equ 00040H
|
|
FSW_CONDITION_CODE_0 equ 00100H
|
|
FSW_CONDITION_CODE_1 equ 00200H
|
|
FSW_CONDITION_CODE_2 equ 00400H
|
|
FSW_CONDITION_CODE_3 equ 04000H
|
|
FSW_ERROR_MASK equ 0003FH
|
|
|
|
;
|
|
; Legacy Floating States
|
|
;
|
|
|
|
LEGACY_STATE_UNUSED equ 00000H
|
|
LEGACY_STATE_SCRUB equ 00001H
|
|
LEGACY_STATE_SWITCH equ 00002H
|
|
|
|
;
|
|
; MXCSR Floating Control/Status Bit Masks
|
|
;
|
|
|
|
XSW_INVALID_OPERATION equ 00001H
|
|
XSW_DENORMAL equ 00002H
|
|
XSW_ZERO_DIVIDE equ 00004H
|
|
XSW_OVERFLOW equ 00008H
|
|
XSW_UNDERFLOW equ 00010H
|
|
XSW_PRECISION equ 00020H
|
|
XSW_ERROR_MASK equ 0003FH
|
|
XSW_ERROR_SHIFT equ 00007H
|
|
XCW_INVALID_OPERATION equ 00080H
|
|
XCW_DENORMAL equ 00100H
|
|
XCW_ZERO_DIVIDE equ 00200H
|
|
XCW_OVERFLOW equ 00400H
|
|
XCW_UNDERFLOW equ 00800H
|
|
XCW_PRECISION equ 01000H
|
|
XCW_ROUND_CONTROL equ 06000H
|
|
XCW_FLUSH_ZERO equ 08000H
|
|
INITIAL_MXCSR equ 01F80H
|
|
|
|
;
|
|
; Machine Specific Register Numbers
|
|
;
|
|
|
|
MSR_EFER equ 0C0000080H
|
|
MSR_STAR equ 0C0000081H
|
|
MSR_LSTAR equ 0C0000082H
|
|
MSR_CSTAR equ 0C0000083H
|
|
MSR_SYSCALL_MASK equ 0C0000084H
|
|
MSR_FS_BASE equ 0C0000100H
|
|
MSR_GS_BASE equ 0C0000101H
|
|
MSR_GS_SWAP equ 0C0000102H
|
|
MSR_MCG_STATUS equ 0017AH
|
|
|
|
;
|
|
; Flags within MSR_EFER
|
|
;
|
|
|
|
MSR_LMA equ 00400H
|
|
MSR_LME equ 00100H
|
|
MSR_SCE equ 00001H
|
|
MSR_NXE equ 00800H
|
|
MSR_PAT equ 00277H
|
|
|
|
;
|
|
; Miscellaneous Definitions
|
|
;
|
|
|
|
MAXIMUM_PROCESSORS equ 00040H
|
|
INITIAL_STALL_COUNT equ 00064H
|
|
IRQL_NOT_GREATER_OR_EQUAL equ 00009H
|
|
IRQL_NOT_LESS_OR_EQUAL equ 0000AH
|
|
MUTEX_ALREADY_OWNED equ 000BFH
|
|
THREAD_NOT_MUTEX_OWNER equ 00011H
|
|
SPIN_LOCK_ALREADY_OWNED equ 0000FH
|
|
SPIN_LOCK_NOT_OWNED equ 00010H
|
|
Executive equ 00000H
|
|
KernelMode equ 00000H
|
|
UserMode equ 00001H
|
|
FALSE equ 00000H
|
|
TRUE equ 00001H
|
|
KERNEL_MCA_EXCEPTION_STACK_SIZE equ 02000H
|
|
BASE_PRIORITY_THRESHOLD equ 00008H
|
|
EVENT_PAIR_INCREMENT equ 00001H
|
|
LOW_REALTIME_PRIORITY equ 00010H
|
|
BlackHole equ 0FFFFA000H
|
|
KERNEL_LARGE_STACK_COMMIT equ 05000H
|
|
KERNEL_STACK_SIZE equ 06000H
|
|
DOUBLE_FAULT_STACK_SIZE equ 02000H
|
|
BREAKPOINT_BREAK equ 00000H
|
|
BREAKPOINT_COMMAND_STRING equ 00005H
|
|
BREAKPOINT_PRINT equ 00001H
|
|
BREAKPOINT_PROMPT equ 00002H
|
|
BREAKPOINT_LOAD_SYMBOLS equ 00003H
|
|
BREAKPOINT_UNLOAD_SYMBOLS equ 00004H
|
|
IPI_FREEZE equ 00004H
|
|
CLOCK_QUANTUM_DECREMENT equ 00003H
|
|
READY_SKIP_QUANTUM equ 00002H
|
|
THREAD_QUANTUM equ 00006H
|
|
WAIT_QUANTUM_DECREMENT equ 00001H
|
|
ROUND_TRIP_DECREMENT_COUNT equ 00010H
|
|
|
|
;
|
|
; Exception Frame Offset Definitions and Length
|
|
;
|
|
|
|
ExP1Home equ 00000H
|
|
ExP2Home equ 00008H
|
|
ExP3Home equ 00010H
|
|
ExP4Home equ 00018H
|
|
ExP5 equ 00020H
|
|
ExXmm6 equ 00030H
|
|
ExXmm7 equ 00040H
|
|
ExXmm8 equ 00050H
|
|
ExXmm9 equ 00060H
|
|
ExXmm10 equ 00070H
|
|
ExXmm11 equ 00080H
|
|
ExXmm12 equ 00090H
|
|
ExXmm13 equ 000A0H
|
|
ExXmm14 equ 000B0H
|
|
ExXmm15 equ 000C0H
|
|
ExExceptionRecord equ 000F0H
|
|
ExRbp equ 00138H
|
|
ExRbx equ 00140H
|
|
ExRdi equ 00148H
|
|
ExRsi equ 00150H
|
|
ExR12 equ 00158H
|
|
ExR13 equ 00160H
|
|
ExR14 equ 00168H
|
|
ExR15 equ 00170H
|
|
ExReturn equ 00178H
|
|
|
|
KEXCEPTION_FRAME_LENGTH equ 00180H
|
|
EXCEPTION_RECORD_LENGTH equ 000A0H
|
|
|
|
;
|
|
; Jump Offset Definitions and Length
|
|
;
|
|
|
|
JbFrame equ 00000H
|
|
JbRbx equ 00008H
|
|
JbRsp equ 00010H
|
|
JbRbp equ 00018H
|
|
JbRsi equ 00020H
|
|
JbRdi equ 00028H
|
|
JbR12 equ 00030H
|
|
JbR13 equ 00038H
|
|
JbR14 equ 00040H
|
|
JbR15 equ 00048H
|
|
JbRip equ 00050H
|
|
JbXmm6 equ 00060H
|
|
JbXmm7 equ 00070H
|
|
JbXmm8 equ 00080H
|
|
JbXmm9 equ 00090H
|
|
JbXmm10 equ 000A0H
|
|
JbXmm11 equ 000B0H
|
|
JbXmm12 equ 000C0H
|
|
JbXmm13 equ 000D0H
|
|
JbXmm14 equ 000E0H
|
|
JbXmm15 equ 000F0H
|
|
|
|
;
|
|
; Switch Frame Offset Definitions and Length
|
|
;
|
|
|
|
SwP5Home equ 00020H
|
|
SwMxCsr equ 00028H
|
|
SwApcBypass equ 0002CH
|
|
SwRbp equ 00030H
|
|
SwReturn equ 00038H
|
|
|
|
KSWITCH_FRAME_LENGTH equ 00040H
|
|
|
|
;
|
|
; Start System Thread Frame Offset Definitions and Length
|
|
;
|
|
|
|
SfP1Home equ 00000H
|
|
SfP2Home equ 00008H
|
|
SfP3Home equ 00010H
|
|
SfReturn equ 00018H
|
|
|
|
KSTART_FRAME_LENGTH equ 00020H
|
|
|
|
;
|
|
; Trap Frame Offset and EFLAG Definitions and Length
|
|
;
|
|
|
|
EFLAGS_TF_MASK equ 00100H
|
|
EFLAGS_TF_SHIFT equ 00008H
|
|
EFLAGS_IF_MASK equ 00200H
|
|
EFLAGS_IF_SHIFT equ 00009H
|
|
EFLAGS_USER_SANITIZE equ 010DD5H
|
|
|
|
TrP1Home equ 0FFFFFF80H
|
|
TrP2Home equ 0FFFFFF88H
|
|
TrP3Home equ 0FFFFFF90H
|
|
TrP4Home equ 0FFFFFF98H
|
|
TrP5 equ 0FFFFFFA0H
|
|
TrPreviousMode equ 0FFFFFFA8H
|
|
TrPreviousIrql equ 0FFFFFFA9H
|
|
TrFaultIndicator equ 0FFFFFFAAH
|
|
TrMxCsr equ 0FFFFFFACH
|
|
TrRax equ 0FFFFFFB0H
|
|
TrRcx equ 0FFFFFFB8H
|
|
TrRdx equ 0FFFFFFC0H
|
|
TrR8 equ 0FFFFFFC8H
|
|
TrR9 equ 0FFFFFFD0H
|
|
TrR10 equ 0FFFFFFD8H
|
|
TrR11 equ 0FFFFFFE0H
|
|
TrXmm0 equ 0FFFFFFF0H
|
|
TrXmm1 equ 00000H
|
|
TrXmm2 equ 00010H
|
|
TrXmm3 equ 00020H
|
|
TrXmm4 equ 00030H
|
|
TrXmm5 equ 00040H
|
|
TrFaultAddress equ 00050H
|
|
TrDr0 equ 00058H
|
|
TrDr1 equ 00060H
|
|
TrDr2 equ 00068H
|
|
TrDr3 equ 00070H
|
|
TrDr6 equ 00078H
|
|
TrDr7 equ 00080H
|
|
TrDebugControl equ 00088H
|
|
TrLastBranchToRip equ 00090H
|
|
TrLastBranchFromRip equ 00098H
|
|
TrLastExceptionToRip equ 000A0H
|
|
TrLastExceptionFromRip equ 000A8H
|
|
TrSegDs equ 000B0H
|
|
TrSegEs equ 000B2H
|
|
TrSegFs equ 000B4H
|
|
TrSegGs equ 000B6H
|
|
TrTrapFrame equ 000B8H
|
|
TrRbx equ 000C0H
|
|
TrRdi equ 000C8H
|
|
TrRsi equ 000D0H
|
|
TrRbp equ 000D8H
|
|
TrErrorCode equ 000E0H
|
|
TrRip equ 000E8H
|
|
TrSegCs equ 000F0H
|
|
TrEFlags equ 000F8H
|
|
TrRsp equ 00100H
|
|
TrSegSs equ 00108H
|
|
|
|
KTRAP_FRAME_LENGTH equ 00190H
|
|
|
|
;
|
|
; CPU information structure offset definitions
|
|
;
|
|
|
|
CpuEax equ 00000H
|
|
CpuEbx equ 00004H
|
|
CpuEcx equ 00008H
|
|
CpuEdx equ 0000CH
|
|
|
|
;
|
|
; Usermode Callout User Frame Definitions
|
|
;
|
|
|
|
CkBuffer equ 00020H
|
|
CkLength equ 00028H
|
|
CkApiNumber equ 0002CH
|
|
CkRsp equ 00048H
|
|
CkRip equ 00030H
|
|
CalloutFrameLength equ 00058H
|
|
|
|
;
|
|
; Machine Frame Offset Definitions
|
|
;
|
|
|
|
MfRip equ 00000H
|
|
MfSegCs equ 00008H
|
|
MfEFlags equ 00010H
|
|
MfRsp equ 00018H
|
|
MfSegSs equ 00020H
|
|
MachineFrameLength equ 00028H
|
|
|
|
;
|
|
; Floating Save Offset Definitions
|
|
;
|
|
|
|
FsMxCsr equ 00000H
|
|
|
|
;
|
|
; LPC Structure Offset Definitions
|
|
;
|
|
|
|
PmLength equ 00000H
|
|
PmZeroInit equ 00004H
|
|
PmClientId equ 00008H
|
|
PmProcess equ 00008H
|
|
PmThread equ 00010H
|
|
PmMessageId equ 00018H
|
|
PmClientViewSize equ 00020H
|
|
PortMessageLength equ 00028H
|
|
|
|
;
|
|
; Client Id Structure Offset Definitions
|
|
;
|
|
|
|
CidUniqueProcess equ 00000H
|
|
CidUniqueThread equ 00008H
|
|
|
|
;
|
|
; Context Frame Offset and Flag Definitions
|
|
;
|
|
|
|
CONTEXT_FULL equ 010000BH
|
|
CONTEXT_CONTROL equ 0100001H
|
|
CONTEXT_INTEGER equ 0100002H
|
|
CONTEXT_SEGMENTS equ 0100004H
|
|
CONTEXT_FLOATING_POINT equ 0100008H
|
|
CONTEXT_DEBUG_REGISTERS equ 0100010H
|
|
|
|
CxP1Home equ 00000H
|
|
CxP2Home equ 00008H
|
|
CxP3Home equ 00010H
|
|
CxP4Home equ 00018H
|
|
CxP5Home equ 00020H
|
|
CxP6Home equ 00028H
|
|
CxContextFlags equ 00030H
|
|
CxMxCsr equ 00034H
|
|
CxSegCs equ 00038H
|
|
CxSegDs equ 0003AH
|
|
CxSegEs equ 0003CH
|
|
CxSegFs equ 0003EH
|
|
CxSegGs equ 00040H
|
|
CxSegSs equ 00042H
|
|
CxEFlags equ 00044H
|
|
CxDr0 equ 00048H
|
|
CxDr1 equ 00050H
|
|
CxDr2 equ 00058H
|
|
CxDr3 equ 00060H
|
|
CxDr6 equ 00068H
|
|
CxDr7 equ 00070H
|
|
CxRax equ 00078H
|
|
CxRcx equ 00080H
|
|
CxRdx equ 00088H
|
|
CxRbx equ 00090H
|
|
CxRsp equ 00098H
|
|
CxRbp equ 000A0H
|
|
CxRsi equ 000A8H
|
|
CxRdi equ 000B0H
|
|
CxR8 equ 000B8H
|
|
CxR9 equ 000C0H
|
|
CxR10 equ 000C8H
|
|
CxR11 equ 000D0H
|
|
CxR12 equ 000D8H
|
|
CxR13 equ 000E0H
|
|
CxR14 equ 000E8H
|
|
CxR15 equ 000F0H
|
|
CxRip equ 000F8H
|
|
CxXmm0 equ 00100H
|
|
CxXmm1 equ 00110H
|
|
CxXmm2 equ 00120H
|
|
CxXmm3 equ 00130H
|
|
CxXmm4 equ 00140H
|
|
CxXmm5 equ 00150H
|
|
CxXmm6 equ 00160H
|
|
CxXmm7 equ 00170H
|
|
CxXmm8 equ 00180H
|
|
CxXmm9 equ 00190H
|
|
CxXmm10 equ 001A0H
|
|
CxXmm11 equ 001B0H
|
|
CxXmm12 equ 001C0H
|
|
CxXmm13 equ 001D0H
|
|
CxXmm14 equ 001E0H
|
|
CxXmm15 equ 001F0H
|
|
CxFltSave equ 00200H
|
|
CxDebugControl equ 00270H
|
|
CxLastBranchToRip equ 00278H
|
|
CxLastBranchFromRip equ 00280H
|
|
CxLastExceptionToRip equ 00288H
|
|
CxLastExceptionFromRip equ 00290H
|
|
CONTEXT_FRAME_LENGTH equ 002A0H
|
|
DR7_ACTIVE equ 00055H
|
|
|
|
;
|
|
; Dispatcher Context Structure Offset Definitions
|
|
;
|
|
|
|
DcControlPc equ 00000H
|
|
DcImageBase equ 00008H
|
|
DcFunctionEntry equ 00010H
|
|
DcEstablisherFrame equ 00018H
|
|
DcTargetIp equ 00020H
|
|
DcContextRecord equ 00028H
|
|
DcLanguageHandler equ 00030H
|
|
DcHandlerData equ 00038H
|
|
DcHistoryTable equ 00040H
|
|
|
|
;
|
|
; Legacy Floating save area field offset definitions
|
|
;
|
|
|
|
LfControlWord equ 00000H
|
|
LfStatusWord equ 00004H
|
|
LfTagWord equ 00008H
|
|
LfErrorOffset equ 0000CH
|
|
LfErrorOpcode equ 00012H
|
|
LfErrorSelector equ 00010H
|
|
LfDataOffset equ 00014H
|
|
LfDataSelector equ 00018H
|
|
LfFloatRegisters equ 0001CH
|
|
|
|
LEGACY_SAVE_AREA_LENGTH equ 00070H
|
|
|
|
;
|
|
; Processor State Frame Offset Definitions
|
|
;
|
|
|
|
PsSpecialRegisters equ 00000H
|
|
PsCr0 equ 00000H
|
|
PsCr2 equ 00008H
|
|
PsCr3 equ 00010H
|
|
PsCr4 equ 00018H
|
|
PsKernelDr0 equ 00020H
|
|
PsKernelDr1 equ 00028H
|
|
PsKernelDr2 equ 00030H
|
|
PsKernelDr3 equ 00038H
|
|
PsKernelDr6 equ 00040H
|
|
PsKernelDr7 equ 00048H
|
|
PsGdtr equ 00056H
|
|
PsIdtr equ 00066H
|
|
PsTr equ 00070H
|
|
PsLdtr equ 00072H
|
|
PsMxCsr equ 00074H
|
|
PsContextFrame equ 000E0H
|
|
PsDebugControl equ 00078H
|
|
PsLastBranchToRip equ 00080H
|
|
PsLastBranchFromRip equ 00088H
|
|
PsLastExceptionToRip equ 00090H
|
|
PsLastExceptionFromRip equ 00098H
|
|
PsCr8 equ 000A0H
|
|
ProcessorStateLength equ 00380H
|
|
|
|
;
|
|
; Processor Start Block Offset Definitions
|
|
;
|
|
|
|
PsbCompletionFlag equ 00004H
|
|
PsbGdt32 equ 00008H
|
|
PsbIdt32 equ 0000EH
|
|
PsbGdt equ 00018H
|
|
PsbTiledCr3 equ 00058H
|
|
PsbPmTarget equ 00060H
|
|
PsbLmTarget equ 00070H
|
|
PsbLmIdentityTarget equ 00066H
|
|
PsbSelfMap equ 00078H
|
|
PsbMsrPat equ 00080H
|
|
PsbProcessorState equ 00090H
|
|
ProcessorStartBlockLength equ 00410H
|
|
|
|
;
|
|
; EPROCESS
|
|
;
|
|
|
|
EpDebugPort equ 00138H
|
|
EpVdmObjects equ 00220H
|
|
|
|
;
|
|
; Machine type definitions (Temporarily)
|
|
;
|
|
|
|
MACHINE_TYPE_ISA equ 00000H
|
|
MACHINE_TYPE_EISA equ 00001H
|
|
MACHINE_TYPE_MCA equ 00002H
|
|
|
|
;
|
|
; KeFeatureBits defines
|
|
;
|
|
|
|
KF_V86_VIS equ 00001H
|
|
KF_RDTSC equ 00002H
|
|
KF_CR4 equ 00004H
|
|
KF_GLOBAL_PAGE equ 00010H
|
|
KF_LARGE_PAGE equ 00020H
|
|
KF_CMPXCHG8B equ 00080H
|
|
KF_FAST_SYSCALL equ 01000H
|
|
|
|
;
|
|
; LoaderParameterBlock offsets relative to base
|
|
;
|
|
|
|
LpbLoadOrderListHead equ 00000H
|
|
LpbMemoryDescriptorListHead equ 00010H
|
|
LpbKernelStack equ 00030H
|
|
LpbPrcb equ 00038H
|
|
LpbProcess equ 00040H
|
|
LpbThread equ 00048H
|
|
LpbI386 equ 000B8H
|
|
LpbRegistryLength equ 00050H
|
|
LpbRegistryBase equ 00058H
|
|
LpbConfigurationRoot equ 00060H
|
|
LpbArcBootDeviceName equ 00068H
|
|
LpbArcHalDeviceName equ 00070H
|
|
LpbLoadOptions equ 00088H
|
|
PAGE_SIZE equ 01000H
|
|
|
|
;
|
|
; Kernel Mode Callout Frame Definitions
|
|
;
|
|
|
|
CuInitialStack equ 00028H
|
|
CuTrapFrame equ 000D0H
|
|
CuCallbackStack equ 000D8H
|
|
CuOutputBuffer equ 000E0H
|
|
CuOutputLength equ 000E8H
|