855 lines
17 KiB
PHP
855 lines
17 KiB
PHP
include kxamd64.inc
|
|
|
|
;
|
|
; Wait Reason and Wait Type Enumerated Type Values
|
|
;
|
|
|
|
WrExecutive equ 00000H
|
|
AsProcess equ 00020H
|
|
|
|
;
|
|
; 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
|
|
|
|
;
|
|
; 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
|
|
|
|
;
|
|
; 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
|
|
|
|
;
|
|
; 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
|
|
PrDirectoryTableBase equ 00028H
|
|
ThDebugActive equ 00003H
|
|
ThStackLimit equ 00030H
|
|
ThApcState equ 00058H
|
|
|
|
;
|
|
; 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
|
|
|
|
;
|
|
; 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
|
|
|
|
;
|
|
; 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
|
|
|
|
;
|
|
; 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
|
|
|
|
;
|
|
; Machine type definitions (Temporarily)
|
|
;
|
|
|
|
MACHINE_TYPE_ISA equ 00000H
|
|
MACHINE_TYPE_EISA equ 00001H
|
|
MACHINE_TYPE_MCA equ 00002H
|
|
|
|
;
|
|
; 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
|