mirror of
https://github.com/reactos/reactos.git
synced 2025-05-28 13:38:19 +00:00

Imported from https://www.nuget.org/packages/Microsoft.Windows.SDK.CRTSource/10.0.22621.3 License: MIT
2043 lines
43 KiB
PHP
2043 lines
43 KiB
PHP
|
|
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
|
|
|
|
;
|
|
; Processor Mode Definitions
|
|
;
|
|
|
|
KernelMode equ 00000H
|
|
UserMode equ 00001H
|
|
|
|
;
|
|
; Wait Reason and Wait Type Enumerated Type Values
|
|
;
|
|
|
|
WrExecutive equ 00000H
|
|
WrDispatchInt equ 0001FH
|
|
WaitAny equ 00001H
|
|
WaitAll equ 00000H
|
|
|
|
;
|
|
; Apc State Structure Offset Definitions
|
|
;
|
|
|
|
AsApcListHead equ 00000H
|
|
AsProcess equ 00020H
|
|
AsKernelApcPending equ 00029H
|
|
AsUserApcPendingAll equ 0002AH
|
|
KAPC_STATE_ANY_USER_APC_PENDING_MASK equ 00003H
|
|
|
|
|
|
;
|
|
; Apc Record Structure Offset Definitions
|
|
;
|
|
|
|
ArNormalRoutine equ 00000H
|
|
ArNormalContext equ 00008H
|
|
ArSystemArgument1 equ 00010H
|
|
ArSystemArgument2 equ 00018H
|
|
ArFlags equ 00020H
|
|
KAPC_RECORD_LENGTH equ 00030H
|
|
KAPC_RECORD_FLAGS_CHECK_ALERT equ 00001H
|
|
|
|
|
|
;
|
|
; Apc Callback Data Structure Offset Definitions
|
|
;
|
|
|
|
AcdContextRecord equ 00008H
|
|
KAPC_CALLBACK_DATA_LENGTH equ 00020H
|
|
|
|
;
|
|
; Bug Check Code Definitions
|
|
;
|
|
|
|
APC_INDEX_MISMATCH equ 00001H
|
|
KERNEL_APC_PENDING_DURING_EXIT equ 00020H
|
|
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
|
|
RECURSIVE_NMI equ 00111H
|
|
KERNEL_SECURITY_CHECK_FAILURE equ 00139H
|
|
UNSUPPORTED_INSTRUCTION_MODE equ 00151H
|
|
BUGCHECK_CONTEXT_MODIFIER equ 080000000H
|
|
INVALID_CALLBACK_STACK_ADDRESS equ 001CDH
|
|
INVALID_KERNEL_STACK_ADDRESS equ 001CEH
|
|
|
|
;
|
|
; Breakpoint type definitions
|
|
;
|
|
|
|
DBG_STATUS_CONTROL_C equ 00001H
|
|
STATUS_ASSERTION_FAILURE equ 0C0000420H
|
|
|
|
;
|
|
; Client Id Structure Offset Definitions
|
|
;
|
|
|
|
CidUniqueProcess equ 00000H
|
|
CidUniqueThread equ 00008H
|
|
|
|
;
|
|
; 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
|
|
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
|
|
|
|
;
|
|
; System DLL Init Block Structure Offset Definitions
|
|
;
|
|
|
|
IbCfgBitMap equ 000B8H
|
|
IbWow64CfgBitMap equ 000C8H
|
|
IbMitigationOptionsMap equ 000A0H
|
|
PS_MITIGATION_OPTION_BITS_PER_OPTION equ 00004H
|
|
PS_MITIGATION_OPTION_ALWAYS_ON equ 00001H
|
|
PS_MITIGATION_OPTION_ALWAYS_OFF equ 00002H
|
|
PS_MITIGATION_OPTION_MASK equ 00003H
|
|
PS_MITIGATION_OPTION_RETURN_FLOW_GUARD equ 00010H
|
|
PS_MITIGATION_OPTION_RESTRICT_SET_THREAD_CONTEXT equ 00013H
|
|
PS_MITIGATION_OPTION_CET_USER_SHADOW_STACKS equ 0001FH
|
|
PsneKiUserCallbackDispatcher equ 00030H
|
|
|
|
;
|
|
; User Shared Data Structure Offset Definitions
|
|
;
|
|
|
|
UsTickCountMultiplier equ 00004H
|
|
UsInterruptTime equ 00008H
|
|
UsSystemTime equ 00014H
|
|
UsTimeZoneBias equ 00020H
|
|
UsImageNumberLow equ 0002CH
|
|
UsImageNumberHigh equ 0002EH
|
|
UsNtSystemRoot equ 00030H
|
|
UsMaxStackTraceDepth equ 00238H
|
|
UsCryptoExponent equ 0023CH
|
|
UsTimeZoneId equ 00240H
|
|
UsLargePageMinimum equ 00244H
|
|
UsNtBuildNumber equ 00260H
|
|
UsNtProductType equ 00264H
|
|
UsProductTypeIsValid equ 00268H
|
|
UsNtMajorVersion equ 0026CH
|
|
UsNtMinorVersion equ 00270H
|
|
UsProcessorFeatures equ 00274H
|
|
UsReserved1 equ 002B4H
|
|
UsReserved3 equ 002B8H
|
|
UsTimeSlip equ 002BCH
|
|
UsAlternativeArchitecture equ 002C0H
|
|
UsSystemExpirationDate equ 002C8H
|
|
UsSuiteMask equ 002D0H
|
|
UsKdDebuggerEnabled equ 002D4H
|
|
UsActiveConsoleId equ 002D8H
|
|
UsDismountCount equ 002DCH
|
|
UsComPlusPackage equ 002E0H
|
|
UsLastSystemRITEventTickCount equ 002E4H
|
|
UsNumberOfPhysicalPages equ 002E8H
|
|
UsSafeBootMode equ 002ECH
|
|
UsTestRetInstruction equ 002F8H
|
|
UsSystemCallPad equ 00310H
|
|
UsTickCount equ 00320H
|
|
UsTickCountQuad equ 00320H
|
|
UsXState equ 003D8H
|
|
|
|
;
|
|
; 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_CALLBACK_POP_STACK equ 0C0000423H
|
|
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 equ 0C000000DH
|
|
STATUS_INVALID_PARAMETER_1 equ 0C00000EFH
|
|
STATUS_INVALID_SYSTEM_SERVICE equ 0C000001CH
|
|
STATUS_INVALID_THREAD equ 0C000071CH
|
|
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_PRIVILEGED_INSTRUCTION equ 0C0000096H
|
|
STATUS_SINGLE_STEP equ 080000004H
|
|
STATUS_STACK_BUFFER_OVERRUN equ 0C0000409H
|
|
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_USER_APC equ 000C0H
|
|
STATUS_WAKE_SYSTEM equ 040000294H
|
|
STATUS_WAKE_SYSTEM_DEBUGGER equ 080000007H
|
|
STATUS_SET_CONTEXT_DENIED equ 0C000060AH
|
|
STATUS_RETURN_ADDRESS_HIJACK_ATTEMPT equ 080000033H
|
|
|
|
;
|
|
; Fast Fail Code Definitions
|
|
;
|
|
|
|
FAST_FAIL_INVALID_BUFFER_ACCESS equ 0001CH
|
|
FAST_FAIL_INVALID_NEXT_THREAD equ 0001EH
|
|
FAST_FAIL_INVALID_CONTROL_STACK equ 0002FH
|
|
FAST_FAIL_SET_CONTEXT_DENIED equ 00030H
|
|
FAST_FAIL_ENCLAVE_CALL_FAILURE equ 00035H
|
|
FAST_FAIL_FLAGS_CORRUPTION equ 0003BH
|
|
|
|
;
|
|
; Bounds Callback Status Code Definitions
|
|
;
|
|
|
|
BoundExceptionContinueSearch equ 00000H
|
|
BoundExceptionHandled equ 00001H
|
|
BoundExceptionError equ 00002H
|
|
|
|
;
|
|
; 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 00001H
|
|
DpDpcListEntry equ 00008H
|
|
DpDeferredRoutine equ 00018H
|
|
DpDeferredContext equ 00020H
|
|
DpSystemArgument1 equ 00028H
|
|
DpSystemArgument2 equ 00030H
|
|
DpDpcData equ 00038H
|
|
DpcObjectLength equ 00040H
|
|
|
|
KI_DPC_ALL_FLAGS equ 000BFH
|
|
KI_DPC_ANY_DPC_ACTIVE equ 010001H
|
|
|
|
;
|
|
; 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
|
|
|
|
;
|
|
; Interrupt Object Structure Offset Definitions
|
|
;
|
|
|
|
KINTERRUPT_STATE_DISABLED_BIT equ 00000H
|
|
KINTERRUPT_STATE_DISABLED equ 00001H
|
|
InLevelSensitive equ 00000H
|
|
InLatched equ 00001H
|
|
|
|
InType equ 00000H
|
|
InSize equ 00002H
|
|
InInterruptListEntry equ 00008H
|
|
InServiceRoutine equ 00018H
|
|
InServiceContext equ 00030H
|
|
InSpinLock equ 00038H
|
|
InTickCount equ 00040H
|
|
InActualLock equ 00048H
|
|
InDispatchAddress equ 00050H
|
|
InVector equ 00058H
|
|
InIrql equ 0005CH
|
|
InSynchronizeIrql equ 0005DH
|
|
InFloatingSave equ 0005EH
|
|
InConnected equ 0005FH
|
|
InNumber equ 00060H
|
|
InShareVector equ 00064H
|
|
InInternalState equ 00068H
|
|
InMode equ 0006CH
|
|
InServiceCount equ 00074H
|
|
InDispatchCount equ 00078H
|
|
InTrapFrame equ 00088H
|
|
InterruptObjectLength equ 00120H
|
|
|
|
;
|
|
; Process Object Structure Offset Definitions
|
|
;
|
|
|
|
PrType equ 00000H
|
|
PrSize equ 00002H
|
|
PrSignalState equ 00004H
|
|
PrProfileListHead equ 00018H
|
|
PrDirectoryTableBase equ 00028H
|
|
PrThreadListHead equ 00030H
|
|
PrAffinity equ 00050H
|
|
PrReadyListHead equ 00158H
|
|
PrSwapListEntry equ 00168H
|
|
PrActiveProcessors equ 00170H
|
|
PrProcessFlags equ 00278H
|
|
PrBasePriority equ 00280H
|
|
PrQuantumReset equ 00281H
|
|
PrCycleTime equ 00360H
|
|
PrKernelTime equ 0037CH
|
|
PrUserTime equ 00380H
|
|
PrInstrumentationCallback equ 003D8H
|
|
PrMitigationFlags2 equ 009D4H
|
|
KernelProcessObjectLength equ 00438H
|
|
ExecutiveProcessObjectLength equ 00B80H
|
|
Win32BatchFlushCallout equ 00007H
|
|
|
|
;
|
|
; 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 00260H
|
|
PfStarted equ 00262H
|
|
ProfileObjectLength equ 00268H
|
|
|
|
;
|
|
; Queue Object Structure Offset Definitions
|
|
;
|
|
|
|
QuSignalState equ 00004H
|
|
QuEntryListHead equ 00018H
|
|
QuCurrentCount equ 00028H
|
|
QuMaximumCount equ 0002CH
|
|
QuThreadListHead equ 00030H
|
|
QueueObjectLength equ 00040H
|
|
|
|
;
|
|
; Thread Object Structure Offset Definitions
|
|
;
|
|
|
|
EtCid equ 004C8H
|
|
EtPicoContext equ 00630H
|
|
|
|
ThType equ 00000H
|
|
ThSize equ 00002H
|
|
ThLock equ 00000H
|
|
THREAD_FLAGS_CYCLE_PROFILING equ 00001H
|
|
THREAD_FLAGS_CYCLE_PROFILING_LOCK_BIT equ 00010H
|
|
THREAD_FLAGS_CYCLE_PROFILING_LOCK equ 010000H
|
|
THREAD_FLAGS_COUNTER_PROFILING equ 00002H
|
|
THREAD_FLAGS_COUNTER_PROFILING_LOCK_BIT equ 00011H
|
|
THREAD_FLAGS_COUNTER_PROFILING_LOCK equ 020000H
|
|
THREAD_FLAGS_GROUP_SCHEDULING equ 00004H
|
|
THREAD_FLAGS_AFFINITY_SET equ 00008H
|
|
THREAD_FLAGS_ACCOUNTING_CSWITCH equ 000B6H
|
|
THREAD_FLAGS_ACCOUNTING_INTERRUPT equ 00072H
|
|
THREAD_FLAGS_ACCOUNTING_ANY equ 000BEH
|
|
ThDebugActive equ 00003H
|
|
ThThreadControlFlags equ 00002H
|
|
ThSignalState equ 00004H
|
|
ThCycleTime equ 00048H
|
|
ThCurrentRunTime equ 00050H
|
|
ThStateSaveArea equ 00060H
|
|
ThInitialStack equ 00028H
|
|
ThStackLimit equ 00030H
|
|
ThKernelStack equ 00058H
|
|
ThThreadLock equ 00040H
|
|
ThApcState equ 00098H
|
|
ThProcess equ 00220H
|
|
ThNextProcessor equ 00218H
|
|
ThAdjustReason equ 00236H
|
|
ThAdjustIncrement equ 00237H
|
|
ThWaitReason equ 00283H
|
|
ThRunning equ 00071H
|
|
ThAlerted equ 00072H
|
|
ThWaitTime equ 001B4H
|
|
ThCombinedApcDisable equ 001E4H
|
|
ThKernelApcDisable equ 001E4H
|
|
ThSpecialApcDisable equ 001E6H
|
|
ThTeb equ 000F0H
|
|
ThTimer equ 00100H
|
|
thProcess equ 00220H
|
|
|
|
KTHREAD_AUTO_ALIGNMENT_BIT equ 00002H
|
|
KTHREAD_GUI_THREAD_MASK equ 00080H
|
|
KTHREAD_RESTRICTED_GUI_THREAD_MASK equ 0200000H
|
|
KTHREAD_SYSTEM_THREAD_BIT equ 0000AH
|
|
KTHREAD_QUEUE_DEFER_PREEMPTION_BIT equ 0000BH
|
|
KTHREAD_BAM_QOS_LEVEL_MASK equ 000FFH
|
|
KTHREAD_CET_USER_SHADOW_STACK_BIT equ 00014H
|
|
KTHREAD_CET_KERNEL_SHADOW_STACK_BIT equ 00016H
|
|
|
|
DEBUG_ACTIVE_ALT_SYSCALL_HANDLER equ 00024H
|
|
PsSystemCallMapToSystem equ 00001H
|
|
|
|
ThMiscFlags equ 00074H
|
|
ThThreadFlags equ 00078H
|
|
ThPreviousMode equ 00232H
|
|
ThContextSwitches equ 00154H
|
|
ThState equ 00184H
|
|
ThWaitIrql equ 00186H
|
|
ThTrapFrame equ 00090H
|
|
ThFirstArgument equ 00088H
|
|
ThApcStateIndex equ 0024AH
|
|
ThSystemCallNumber equ 00080H
|
|
ThWin32Thread equ 001C8H
|
|
ThStackBase equ 00038H
|
|
ThLegoData equ 002D0H
|
|
KernelThreadObjectLength equ 00480H
|
|
ExecutiveThreadObjectLength equ 00910H
|
|
|
|
|
|
;
|
|
; Timer object Structure Offset Definitions
|
|
;
|
|
|
|
TiType equ 00000H
|
|
TiSize equ 00002H
|
|
TiSignalState equ 00004H
|
|
TiDueTime equ 00018H
|
|
TiTimerListEntry equ 00020H
|
|
TiDpc equ 00030H
|
|
TiPeriod equ 0003CH
|
|
TimerObjectLength equ 00040H
|
|
|
|
|
|
;
|
|
; Wait Block Structure Offset Definitions
|
|
;
|
|
|
|
WbWaitListEntry equ 00000H
|
|
WbThread equ 00018H
|
|
WbObject equ 00020H
|
|
WbWaitKey equ 00012H
|
|
WbWaitType equ 00010H
|
|
|
|
;
|
|
; Fiber Structure Offset Definitions
|
|
;
|
|
|
|
FbFiberData equ 00000H
|
|
FbExceptionList equ 00008H
|
|
FbStackBase equ 00010H
|
|
FbStackLimit equ 00018H
|
|
FbDeallocationStack equ 00020H
|
|
FbFiberContext equ 00030H
|
|
FbWx86Tib equ 00500H
|
|
FbActivationContextStackPointer equ 00508H
|
|
FbFlsData equ 00510H
|
|
FbGuaranteedStackBytes equ 00518H
|
|
FbTebFlags equ 0051CH
|
|
FbSsp equ 00528H
|
|
|
|
;
|
|
; Process Environment Block Structure Offset Definitions
|
|
;
|
|
|
|
PeBeingDebugged equ 00002H
|
|
PeProcessParameters equ 00020H
|
|
PeKernelCallbackTable equ 00058H
|
|
ProcessEnvironmentBlockLength equ 007D0H
|
|
|
|
;
|
|
; Process Parameters Block Structure Offset Definitions
|
|
;
|
|
|
|
PpFlags equ 00008H
|
|
USER_CALLBACK_FILTER equ 080000H
|
|
|
|
;
|
|
; System Service Descriptor Table Structure Definitions
|
|
;
|
|
|
|
NUMBER_SERVICE_TABLES equ 00002H
|
|
SERVICE_NUMBER_MASK equ 00FFFH
|
|
SERVICE_TABLE_SHIFT equ 00007H
|
|
SERVICE_TABLE_MASK equ 00020H
|
|
SERVICE_TABLE_TEST equ 00020H
|
|
|
|
ThBase equ 00000H
|
|
ThLimit equ 00008H
|
|
SdBase equ 00000H
|
|
SdLimit equ 00010H
|
|
SdNumber equ 00018H
|
|
SdLength equ 00020H
|
|
|
|
;
|
|
; 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
|
|
TeActivationContextStackPointer equ 002C8H
|
|
TeInstrumentationCallbackSp equ 002D0H
|
|
TeInstrumentationCallbackPreviousPc equ 002D8H
|
|
TeInstrumentationCallbackPreviousSp equ 002E0H
|
|
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
|
|
TeTlsExpansionSlots equ 01780H
|
|
TeLastErrorValue equ 00068H
|
|
TeVdm equ 01690H
|
|
TeInstrumentation equ 016B8H
|
|
TeGdiBatchCount equ 01740H
|
|
TeGuaranteedStackBytes equ 01748H
|
|
TeFlsData equ 017C8H
|
|
ThreadEnvironmentBlockLength equ 01850H
|
|
CmThreadEnvironmentBlockOffset equ 02000H
|
|
TLS_MINIMUM_AVAILABLE equ 00040H
|
|
TLS_EXPANSION_SLOTS equ 00400H
|
|
|
|
;
|
|
; Lock Queue Structure Offset Definitions
|
|
;
|
|
|
|
LOCK_QUEUE_WAIT equ 00001H
|
|
LOCK_QUEUE_OWNER equ 00002H
|
|
LOCK_QUEUE_HEADER_SIZE equ 00010H
|
|
|
|
|
|
LqNext equ 00000H
|
|
LqLock equ 00008H
|
|
|
|
LqhLockQueue equ 00000H
|
|
LqhOldIrql equ 00010H
|
|
LqhNext equ 00000H
|
|
LqhLock equ 00008H
|
|
|
|
;
|
|
; Kernel Stack Control Structure Offset (relative to initial stack pointer) Definitions
|
|
;
|
|
|
|
KSTACK_CONTROL_LENGTH equ 00050H
|
|
KcPreviousBase equ 00010H
|
|
KcPreviousLimit equ 00018H
|
|
KcPreviousKernel equ 00020H
|
|
KcPreviousInitial equ 00028H
|
|
KcPreviousKernelShadowStack equ 00040H
|
|
KcPreviousKernelShadowStackInitial equ 00048H
|
|
KcPreviousKernelShadowStackBase equ 00030H
|
|
KcPreviousKernelShadowStackLimit equ 00038H
|
|
KcCurrentBase equ 00000H
|
|
KcActualLimit equ 00008H
|
|
KSTACK_ACTUAL_LIMIT_EXPANDED equ 00001H
|
|
|
|
|
|
;
|
|
; ETW Definitions
|
|
;
|
|
|
|
PERF_CONTEXTSWAP_OFFSET equ 00004H
|
|
PERF_CONTEXTSWAP_FLAG equ 00004H
|
|
PERF_INTERRUPT equ 020004000H
|
|
PERF_INTERRUPT_OFFSET equ 00004H
|
|
PERF_INTERRUPT_FLAG equ 04000H
|
|
PERF_SYSCALL_OFFSET equ 00008H
|
|
PERF_SYSCALL_FLAG equ 00040H
|
|
PERF_SPEC_CONTROL_OFFSET equ 00014H
|
|
PERF_SPEC_CONTROL_FLAG equ 00002H
|
|
NTOS_YIELD_MACRO equ 00001H
|
|
EtwTSLength equ 00020H
|
|
CONTEXT_SWAP_TRACING equ 00001H
|
|
LAST_BRANCH_RECORD_IN_USE equ 00002H
|
|
PROCESSOR_TRACE_ON_EACH_CORE_ENABLED equ 00004H
|
|
|
|
;
|
|
; Enlightenment structure definitions
|
|
;
|
|
|
|
HeEnlightenments equ 00000H
|
|
HeHypervisorConnected equ 00004H
|
|
HeEndOfInterrupt equ 00008H
|
|
HeApicWriteIcr equ 00010H
|
|
HeSpinCountMask equ 0001CH
|
|
HeLongSpinWait equ 00020H
|
|
|
|
;
|
|
; XState context structure offset definitions
|
|
;
|
|
|
|
XctxMask equ 00000H
|
|
XctxLength equ 00008H
|
|
XctxArea equ 00010H
|
|
|
|
;
|
|
; XState configuration structure offset definitions
|
|
;
|
|
|
|
XcfgEnabledFeatures equ 00000H
|
|
XcfgEnabledVolatileFeatures equ 00008H
|
|
XcfgEnabledSupervisorFeatures equ 00218H
|
|
|
|
;
|
|
; GETSETCONTEXT structure offset definitions
|
|
;
|
|
|
|
GetSetCtxContextPtr equ 00078H
|
|
XSAVE_ALIGN equ 00040H
|
|
|
|
;
|
|
; XSAVE_AREA structure offset definitions
|
|
;
|
|
|
|
XsaHeader equ 00200H
|
|
XsaHeaderLength equ 00040H
|
|
XSTATE_MASK_LEGACY_FLOATING_POINT equ 00001H
|
|
XSTATE_MASK_LEGACY_SSE equ 00002H
|
|
XSTATE_MASK_LEGACY equ 00003H
|
|
XSTATE_MASK_GSSE equ 00004H
|
|
XSTATE_MASK_IPT equ 00100H
|
|
XSTATE_MASK_LARGE_FEATURES equ 040000H
|
|
|
|
;
|
|
; KERNEL_CET_CONTEXT structure offset definitions
|
|
;
|
|
|
|
KccSsp equ 00000H
|
|
KccRip equ 00008H
|
|
KccSegCs equ 00010H
|
|
|
|
;
|
|
; Extended context structure offset definitions
|
|
;
|
|
|
|
CxxAllOffset equ 00000H
|
|
CxxAllLength equ 00004H
|
|
CxxLegacyOffset equ 00008H
|
|
CxxLegacyLength equ 0000CH
|
|
CxxXStateOffset equ 00010H
|
|
CxxXStateLength equ 00014H
|
|
CxxKernelCetOffset equ 00018H
|
|
CxxKernelCetLength equ 0001CH
|
|
|
|
;
|
|
; KAFFINITY_EX offsets
|
|
;
|
|
|
|
AfCount equ 00000H
|
|
AfBitmap equ 00008H
|
|
CFlushSize equ 000E8H
|
|
PbEntropyCount equ 089E0H
|
|
PbEntropyBuffer equ 089E4H
|
|
KENTROPY_TIMING_INTERRUPTS_PER_BUFFER equ 00400H
|
|
KENTROPY_TIMING_BUFFER_MASK equ 007FFH
|
|
KENTROPY_TIMING_ANALYSIS equ 00000H
|
|
|
|
;
|
|
; Priority state definitions
|
|
;
|
|
|
|
KPRIORITY_STATE_PRIORITY_BITMASK equ 0007FH
|
|
|
|
;
|
|
; Register Argument Home Address Offset Definitions
|
|
;
|
|
|
|
P1Home equ 00008H
|
|
P2Home equ 00010H
|
|
P3Home equ 00018H
|
|
P4Home 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
|
|
SrXcr0 equ 000D8H
|
|
SrMsrFsBase equ 000E0H
|
|
|
|
;
|
|
; Processor Control Region Structure Offset Definitions
|
|
;
|
|
|
|
PcGdt equ 00000H
|
|
PcTss equ 00008H
|
|
PcUserRsp equ 00010H
|
|
PcUserRspShadow equ 0A010H
|
|
PcSelf equ 00018H
|
|
PcCurrentPrcb equ 00020H
|
|
PcLockArray equ 00028H
|
|
PcTeb equ 00030H
|
|
PcIdt equ 00038H
|
|
PcDbgMceNestingLevel equ 0A02CH
|
|
PcDbgMceFlags equ 0A030H
|
|
PcProcessorDescriptorArea equ 00038H
|
|
PcIrql equ 00050H
|
|
PcStallScaleFactor equ 00064H
|
|
PcHalReserved equ 000C0H
|
|
PcPrcb equ 00180H
|
|
PcMxCsr equ 00180H
|
|
PcInterruptRequest equ 00186H
|
|
PcIdleHalt equ 00187H
|
|
PcCurrentThread equ 00188H
|
|
PcNextThread equ 00190H
|
|
PcIdleThread equ 00198H
|
|
PcIpiFrozen equ 02F08H
|
|
PcNestingLevel equ 001A0H
|
|
PcNumber equ 001A4H
|
|
PcRspBase equ 001A8H
|
|
PcRspBaseShadow equ 0A008H
|
|
PcShadowFlags equ 0A018H
|
|
PcVerwSelector equ 0A02AH
|
|
PcPrcbLock equ 001B0H
|
|
PcCr0 equ 00280H
|
|
PcCr2 equ 00288H
|
|
PcCr3 equ 00290H
|
|
PcCr4 equ 00298H
|
|
PcKernelDr0 equ 002A0H
|
|
PcKernelDr1 equ 002A8H
|
|
PcKernelDr2 equ 002B0H
|
|
PcKernelDr3 equ 002B8H
|
|
PcKernelDr7 equ 002C8H
|
|
PcGdtrLimit equ 002D6H
|
|
PcGdtrBase equ 002D8H
|
|
PcIdtrLimit equ 002E6H
|
|
PcIdtrBase equ 002E8H
|
|
PcTr equ 002F0H
|
|
PcLdtr equ 002F2H
|
|
PcDebugControl equ 002F8H
|
|
PcLastBranchToRip equ 00300H
|
|
PcLastBranchFromRip equ 00308H
|
|
PcLastExceptionToRip equ 00310H
|
|
PcLastExceptionFromRip equ 00318H
|
|
PcCr8 equ 00320H
|
|
PcCpuType equ 001C0H
|
|
PcCpuID equ 001C1H
|
|
PcCpuStep equ 001C2H
|
|
PcCpuVendor equ 0020DH
|
|
PcVirtualApicAssist equ 08888H
|
|
PcFeatureBits equ 08B20H
|
|
PcNmiActive equ 08026H
|
|
PcMceActive equ 08027H
|
|
PcCombinedNmiMceActive equ 08026H
|
|
PcSfCode equ 08DE8H
|
|
PcSfVa equ 08DF0H
|
|
PcSfPa equ 08DF8H
|
|
PcKernelDirectoryTableBase equ 0A000H
|
|
PcExceptionStack equ 083E8H
|
|
PcExceptionStackActive equ 083E6H
|
|
PcDpcRequestSummary equ 0353CH
|
|
PcTransitionShadowStack equ 095A0H
|
|
PcKernelShadowStackInitial equ 095A8H
|
|
;
|
|
;
|
|
CPU_AMD equ 00001H
|
|
CPU_INTEL equ 00002H
|
|
CPU_VIA equ 00003H
|
|
PcCFlushSize equ 00268H
|
|
PcDeepSleep equ 082DAH
|
|
PcDeferredReadyListHead equ 02E88H
|
|
PcSystemCalls equ 02EB8H
|
|
PcDpcRoutineActive equ 0353AH
|
|
PcInterruptCount equ 082C0H
|
|
PcDebuggerSavedIRQL equ 082D8H
|
|
PcStartCycles equ 08300H
|
|
RTL_RETPOLINE_STUBS_UNWIND_INFO_MAX_SIZE equ 001F4H
|
|
ProcessorControlRegisterLength equ 02C040H
|
|
|
|
;
|
|
; Defines kernel process structure
|
|
;
|
|
|
|
PrUserDirectoryTableBase equ 00388H
|
|
PrAddressPolicy equ 00390H
|
|
|
|
;
|
|
; Defines for user shared data
|
|
;
|
|
|
|
ifdef RELOCATABLE_USER_SHARED_DATA
|
|
MM_SHARED_USER_DATA_VA_NOT_RELOCATABLE equ 0000000007FFE0000H
|
|
else
|
|
USER_SHARED_DATA equ 0FFFFF78000000000H
|
|
MM_SHARED_USER_DATA_VA equ 0000000007FFE0000H
|
|
endif
|
|
PF_COMPARE_EXCHANGE128 equ 0000000000000000EH
|
|
PF_RDWRFSGSBASE_AVAILABLE equ 00000000000000016H
|
|
PF_RDTSCP_INSTRUCTION_AVAILABLE equ 00000000000000020H
|
|
PF_RDPID_INSTRUCTION_AVAILABLE equ 00000000000000021H
|
|
SYSTEM_CALL_INT_2E equ 00001H
|
|
UsTickCountMultiplier equ 00004H
|
|
UsInterruptTime equ 00008H
|
|
UsSystemTime equ 00014H
|
|
UsTestRetInstruction equ 002F8H
|
|
UsSystemCall equ 00308H
|
|
UsProcessorFeatures equ 00274H
|
|
|
|
;
|
|
; Tss Structure Offset Definitions
|
|
;
|
|
|
|
TssRsp0 equ 00004H
|
|
TssRsp1 equ 0000CH
|
|
TssRsp2 equ 00014H
|
|
TssPanicStack equ 00024H
|
|
TssMcaStack equ 0002CH
|
|
TssNmiStack equ 00034H
|
|
TssIoMapBase equ 00066H
|
|
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
|
|
|
|
;
|
|
; Constants for AMD64 compatibility mode switching
|
|
;
|
|
|
|
X86AMD64_R3_LONG_MODE_CODE equ 00033H
|
|
|
|
;
|
|
; GDT Entry Offset Definitions
|
|
;
|
|
|
|
KgdtBaseLow equ 00002H
|
|
KgdtBaseMiddle equ 00004H
|
|
KgdtBaseHigh equ 00007H
|
|
KgdtBaseUpper equ 00008H
|
|
KgdtFlags1 equ 00005H
|
|
KgdtLimitHigh equ 00006H
|
|
KgdtLimitLow equ 00000H
|
|
KGDT_LIMIT_ENCODE_MASK equ 03C00H
|
|
KGDT_ENTRY_PRESENT equ 00080H
|
|
|
|
|
|
;
|
|
; Processor Block Structure Offset Definitions
|
|
;
|
|
|
|
PbMxCsr equ 00000H
|
|
PbInterruptRequest equ 00006H
|
|
PbIdleHalt equ 00007H
|
|
PbCurrentThread equ 00008H
|
|
PbNextThread equ 00010H
|
|
PbIdleThread equ 00018H
|
|
PbSmtIsolationThread equ 08880H
|
|
PbNestingLevel equ 00020H
|
|
PbNumber equ 00024H
|
|
PbRspBase equ 00028H
|
|
PbRspBaseShadow equ 09E88H
|
|
PbPrcbLock equ 00030H
|
|
PbTscFrequency equ 00090H
|
|
PbKeSpinLockOrdering equ 07EB0H
|
|
KI_SPINLOCK_ORDER_PRCB_LOCK equ 00080H
|
|
PbGroup equ 000D0H
|
|
PbGroupIndex equ 000D1H
|
|
PbProcessorState equ 00100H
|
|
PbContext equ 089C0H
|
|
PbCpuType equ 00040H
|
|
PbCpuID equ 00041H
|
|
PbCpuStep equ 00042H
|
|
PbHalReserved equ 00048H
|
|
PbMinorVersion equ 00088H
|
|
PbMajorVersion equ 0008AH
|
|
PbBuildType equ 0008CH
|
|
PbCpuVendor equ 0008DH
|
|
PbCoresPerPhysicalProcessor equ 000A0H
|
|
PbLogicalProcessorsPerCore equ 000A4H
|
|
PbApicMask equ 000DCH
|
|
PbCFlushSize equ 000E8H
|
|
PbAcpiReserved equ 000E0H
|
|
PbInitialApicId equ 000D4H
|
|
PbPrcbFlags equ 000ECH
|
|
PbPriorityState equ 00038H
|
|
PbLockQueue equ 006F0H
|
|
PbPPLookasideList equ 00800H
|
|
PbPPNPagedLookasideList equ 01500H
|
|
PbPPPagedLookasideList equ 02100H
|
|
PbPacketBarrier equ 02D80H
|
|
PbDeferredReadyListHead equ 02D08H
|
|
PbLookasideIrpFloat equ 02D9CH
|
|
PbSystemCalls equ 02D38H
|
|
PbReadOperationCount equ 02D5CH
|
|
PbWriteOperationCount equ 02D60H
|
|
PbOtherOperationCount equ 02D64H
|
|
PbReadTransferCount equ 02D68H
|
|
PbWriteTransferCount equ 02D70H
|
|
PbOtherTransferCount equ 02D78H
|
|
PbContextSwitches equ 02D3CH
|
|
PbTargetCount equ 02D84H
|
|
PbIpiFrozen equ 02D88H
|
|
PbRequestMailbox equ 0BEC0H
|
|
PbMailbox equ 09340H
|
|
PbDpcList equ 03340H
|
|
PbDpcLock equ 03350H
|
|
PbDpcCount equ 0335CH
|
|
PbDpcStack equ 033A0H
|
|
PbIsrStack equ 089D8H
|
|
PbMaximumDpcQueueDepth equ 033A8H
|
|
PbDpcRequestRate equ 033ACH
|
|
PbMinimumDpcRate equ 033B0H
|
|
PbDpcRoutineActive equ 033BAH
|
|
PbDpcRequestSummary equ 033BCH
|
|
PbNormalDpcState equ 033BCH
|
|
PbDpcLastCount equ 033B4H
|
|
PbQuantumEnd equ 033B9H
|
|
PbIdleSchedule equ 033BBH
|
|
PbInterruptObject equ 03400H
|
|
PbReadySummary equ 07ED8H
|
|
PbDispatcherReadyListHead equ 07F40H
|
|
PbInterruptCount equ 08140H
|
|
PbKernelTime equ 08144H
|
|
PbUserTime equ 08148H
|
|
PbDpcTime equ 0814CH
|
|
PbInterruptTime equ 08150H
|
|
PbAdjustDpcThreshold equ 08154H
|
|
PbStartCycles equ 08180H
|
|
PbPageColor equ 08250H
|
|
PbNodeColor equ 08254H
|
|
PbNodeShiftedColor equ 08258H
|
|
PbSecondaryColorMask equ 0825CH
|
|
PbCycleTime equ 08278H
|
|
PbCpuCycleScalingFactor equ 081B8H
|
|
PPM_FRACTION_SHIFT equ 00010H
|
|
PbFastReadNoWait equ 02D44H
|
|
PbFastReadWait equ 02D48H
|
|
PbFastReadNotPossible equ 02D4CH
|
|
PbCopyReadNoWait equ 02D50H
|
|
PbCopyReadWait equ 02D54H
|
|
PbCopyReadNoWaitMiss equ 02D58H
|
|
PbAlignmentFixupCount equ 086B8H
|
|
PbExceptionDispatchCount equ 08170H
|
|
PbVendorString equ 08990H
|
|
ProcessorBlockLength equ 0BF00H
|
|
PbShadowFlags equ 09E98H
|
|
PbTrappedSecurityDomain equ 000F0H
|
|
PbKernelShadowStackInitial equ 09428H
|
|
|
|
;
|
|
; 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
|
|
LDT_MASK equ 00004H
|
|
|
|
;
|
|
; 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
|
|
CR4_LA57 equ 01000H
|
|
CR4_XSAVE equ 040000H
|
|
CR4_PCIDE equ 020000H
|
|
CR4_CET equ 0800000H
|
|
|
|
;
|
|
; 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_ERROR_SUMMARY equ 00080H
|
|
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
|
|
|
|
;
|
|
; 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_FPCSR equ 0027FH
|
|
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
|
|
MSR_AMD_ACCESS equ 09C5A203AH
|
|
MSR_IA32_MISC_ENABLE equ 001A0H
|
|
MSR_IA32_U_CET equ 006A0H
|
|
MSR_IA32_S_CET equ 006A2H
|
|
MSR_IA32_PL0_SSP equ 006A4H
|
|
MSR_IA32_PL3_SSP equ 006A7H
|
|
MSR_IA32_XFD equ 001C4H
|
|
MSR_IA32_XFD_ERR equ 001C5H
|
|
|
|
;
|
|
; Flags within MSR_EFER
|
|
;
|
|
|
|
MSR_LMA equ 00400H
|
|
MSR_LME equ 00100H
|
|
MSR_SCE equ 00001H
|
|
MSR_NXE equ 00800H
|
|
MSR_PAT equ 00277H
|
|
MSR_DEBUG_CTL equ 001D9H
|
|
|
|
;
|
|
; Flags within MSR_IA32_MISC_ENABLE
|
|
;
|
|
|
|
MSR_XD_ENABLE_MASK equ 0FFFFFFFBH
|
|
|
|
;
|
|
; Flags within MSR_IA32_U_CET
|
|
;
|
|
|
|
IA32_CET_SH_STK_EN equ 00001H
|
|
IA32_CET_WR_SHSTK_EN equ 00002H
|
|
|
|
;
|
|
; Flags within MSR_DEGUG_CTL
|
|
;
|
|
|
|
MSR_DEBUG_CTL_LBR equ 00001H
|
|
MSR_DEBUG_CTL_BTF equ 00002H
|
|
|
|
;
|
|
; Flags within MSR_IA32_MCG_STATUS
|
|
;
|
|
|
|
MSR_IA32_MCG_STATUS_MCIP equ 00004H
|
|
|
|
;
|
|
; 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
|
|
FALSE equ 00000H
|
|
TRUE equ 00001H
|
|
NMI_BLOCKING_MASK equ 00004H
|
|
KERNEL_MCA_EXCEPTION_STACK_SIZE equ 02000H
|
|
IST_STACK_SIZE equ 06000H
|
|
ISR_STACK_SIZE equ 06000H
|
|
EXCEPTION_STACK_SIZE equ 06000H
|
|
EXCEPTION_EXECUTE_FAULT equ 00008H
|
|
KCACHE_ERRATA_MONITOR_FLAGS equ 00003H
|
|
|
|
;
|
|
; Machine check nesting simulation debug controls
|
|
;
|
|
|
|
DBG_MCE_NMI_ON_MCE equ 00000H
|
|
DBG_MCE_MCE_ON_NMI equ 00001H
|
|
DBG_MCE_MCE_ON_NMI_MCE_TAIL equ 00002H
|
|
DBG_MCE_MCE_ON_MCE_MCE_TAIL equ 00003H
|
|
DBG_MCE_NMI_ON_MCE_MCE_TAIL equ 00004H
|
|
DBG_MCE_NMI_PENDING equ 0001FH
|
|
|
|
;
|
|
; Flags returned from KiProcessControlProtection
|
|
;
|
|
|
|
KI_CP_HANDLED equ 00001H
|
|
KI_CP_NOT_HANDLED equ 00002H
|
|
KI_CP_SUPPORTED_HIJACK equ 00003H
|
|
|
|
;
|
|
; Fast Fail Definitions
|
|
;
|
|
|
|
FAST_FAIL_GUARD_ICALL_CHECK_FAILURE equ 0000AH
|
|
FAST_FAIL_INVALID_JUMP_BUFFER equ 00012H
|
|
FAST_FAIL_INVALID_SET_OF_CONTEXT equ 0000DH
|
|
FAST_FAIL_GUARD_SS_FAILURE equ 0002CH
|
|
FAST_FAIL_CONTROL_INVALID_RETURN_ADDRESS equ 00039H
|
|
BASE_PRIORITY_THRESHOLD equ 00008H
|
|
EVENT_INCREMENT equ 00001H
|
|
LOW_REALTIME_PRIORITY equ 00010H
|
|
KERNEL_LARGE_STACK_COMMIT equ 06000H
|
|
KERNEL_LARGE_STACK_SIZE equ 012000H
|
|
DOUBLE_FAULT_STACK_SIZE equ 02000H
|
|
KI_KERNEL_SHADOW_STACK_SIZE_WITH_GUARD_PAGES equ 03000H
|
|
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
|
|
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
|
|
KI_EXCEPTION_GP_FAULT equ 010000001H
|
|
KI_EXCEPTION_INVALID_OP equ 010000002H
|
|
KI_EXCEPTION_INTEGER_DIVIDE_BY_ZERO equ 010000003H
|
|
KI_EXCEPTION_ACCESS_VIOLATION equ 010000004H
|
|
KI_EXCEPTION_SECURE_FAULT equ 010000006H
|
|
KI_EXCEPTION_SEGMENT_NOT_PRESENT equ 010000007H
|
|
KI_EXCEPTION_XFD_ERROR equ 010000010H
|
|
TARGET_FREEZE equ 00005H
|
|
KI_DPC_INTERRUPT_FLAGS equ 000AFH
|
|
KI_DPC_THREAD_ACTIVE equ 010000H
|
|
KernelShadowStackTypeRstorssp equ 00002H
|
|
|
|
;
|
|
; Equates for exceptions which cause system fatal error
|
|
;
|
|
|
|
EXCEPTION_DIVIDED_BY_ZERO equ 00000H
|
|
EXCEPTION_DEBUG equ 00001H
|
|
EXCEPTION_NMI equ 00002H
|
|
EXCEPTION_INT3 equ 00003H
|
|
EXCEPTION_BOUND_CHECK equ 00005H
|
|
EXCEPTION_INVALID_OPCODE equ 00006H
|
|
EXCEPTION_NPX_NOT_AVAILABLE equ 00007H
|
|
EXCEPTION_DOUBLE_FAULT equ 00008H
|
|
EXCEPTION_NPX_OVERRUN equ 00009H
|
|
EXCEPTION_INVALID_TSS equ 0000AH
|
|
EXCEPTION_SEGMENT_NOT_PRESENT equ 0000BH
|
|
EXCEPTION_STACK_FAULT equ 0000CH
|
|
EXCEPTION_GP_FAULT equ 0000DH
|
|
EXCEPTION_RESERVED_TRAP equ 0000FH
|
|
EXCEPTION_NPX_ERROR equ 00010H
|
|
EXCEPTION_ALIGNMENT_CHECK equ 00011H
|
|
EXCEPTION_CP_FAULT equ 00015H
|
|
EXCEPTION_SE_FAULT equ 00017H
|
|
EXCEPTION_VIRTUALIZATION_FAULT equ 00020H
|
|
|
|
;
|
|
; 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
|
|
ExMxCsr equ 000F0H
|
|
ExRbp equ 000F8H
|
|
ExRbx equ 00100H
|
|
ExRdi equ 00108H
|
|
ExRsi equ 00110H
|
|
ExR12 equ 00118H
|
|
ExR13 equ 00120H
|
|
ExR14 equ 00128H
|
|
ExR15 equ 00130H
|
|
ExReturn equ 00138H
|
|
|
|
KEXCEPTION_FRAME_LENGTH equ 00140H
|
|
EXCEPTION_RECORD_LENGTH equ 000A0H
|
|
|
|
Enable_Feature_DTrace equ 00001H
|
|
|
|
;
|
|
; Kernel Dynamic Tracing flags
|
|
;
|
|
|
|
KI_DYNAMIC_TRACE_SYSCALL_FLAG equ 00001H
|
|
|
|
|
|
;
|
|
; Processor Descriptor Area definitions
|
|
;
|
|
|
|
PdaGdt equ 02FB0H
|
|
PdaKernelGsBase equ 01070H
|
|
PdaIdleStack equ 01078H
|
|
PdaKernelTransitionStack equ 04200H
|
|
PdaMceTransitionStack equ 04600H
|
|
PdaNmiTransitionStack equ 04800H
|
|
KSHADOW_FLAG_DEFERRED_FLUSH equ 00001H
|
|
KSHADOW_FLAG_DEFERRED_FLUSH_BIT equ 00000H
|
|
KSHADOW_FLAG_KERNEL_DIRECTORY equ 00002H
|
|
KSHADOW_FLAG_KERNEL_DIRECTORY_BIT equ 00001H
|
|
|
|
|
|
;
|
|
; IST Base Frame definitions
|
|
;
|
|
|
|
IbfKernelGsBase equ 00000H
|
|
IbfIstStack equ 00008H
|
|
IbfPreviousGsBase equ 00010H
|
|
IbfPreviousCr3 equ 00018H
|
|
IstBaseFrameLength equ 00030H
|
|
IstLinkFrameLength equ 00020H
|
|
IST_TRANSITION_STACK_SIZE equ 001D0H
|
|
|
|
|
|
;
|
|
; IST Link Frame definitions
|
|
;
|
|
|
|
KIST_LINK_FRAME_SIGNATURE equ 0464C494BH
|
|
IlfIstBaseFrame equ 00000H
|
|
IlfSignature equ 00008H
|
|
IstLinkFrameLength equ 00020H
|
|
|
|
|
|
;
|
|
; PCID definitions
|
|
;
|
|
|
|
PCID_MASK equ 00003H
|
|
PCID_USER equ 00001H
|
|
PCID_USER_BIT equ 00000H
|
|
PCID_KERNEL equ 00002H
|
|
PCID_KERNEL_BIT equ 00001H
|
|
PCID_PRESERVE_TB_BIT equ 0003FH
|
|
|
|
KI_FLUSH_PCID equ 00001H
|
|
KI_FLUSH_INVPCID equ 00002H
|
|
|
|
KvaShadowEnabledUserGlobal equ 00002H
|
|
|
|
;
|
|
; 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
|
|
JbMxCsr equ 00058H
|
|
JbFpCsr equ 0005CH
|
|
JbSpare equ 0005EH
|
|
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
|
|
SwApcBypass equ 00028H
|
|
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
|
|
SfP4Home equ 00018H
|
|
SfReturn equ 00028H
|
|
|
|
KSTART_FRAME_LENGTH equ 00030H
|
|
|
|
;
|
|
; Trap Frame Offset and EFLAG Definitions and Length
|
|
;
|
|
|
|
EFLAGS_TF_MASK equ 00100H
|
|
EFLAGS_TF_SHIFT equ 00008H
|
|
EFLAGS_ID_MASK equ 0200000H
|
|
EFLAGS_AC_MASK equ 040000H
|
|
EFLAGS_IF_MASK equ 00200H
|
|
EFLAGS_IF_SHIFT equ 00009H
|
|
EFLAGS_IF_BIT equ 00009H
|
|
KEXCEPTION_ACTIVE_INTERRUPT_FRAME equ 00000H
|
|
KEXCEPTION_ACTIVE_EXCEPTION_FRAME equ 00001H
|
|
KEXCEPTION_ACTIVE_SERVICE_FRAME equ 00002H
|
|
|
|
TrP1Home equ 0FFFFFF80H
|
|
TrP2Home equ 0FFFFFF88H
|
|
TrP3Home equ 0FFFFFF90H
|
|
TrP4Home equ 0FFFFFF98H
|
|
TrP5 equ 0FFFFFFA0H
|
|
TrPreviousMode equ 0FFFFFFA8H
|
|
TrPreviousIrql equ 0FFFFFFA9H
|
|
TrFaultIndicator equ 0FFFFFFAAH
|
|
TrExceptionActive equ 0FFFFFFABH
|
|
TrMxCsr equ 0FFFFFFACH
|
|
TrRax equ 0FFFFFFB0H
|
|
TrRcx equ 0FFFFFFB8H
|
|
TrRdx equ 0FFFFFFC0H
|
|
TrR8 equ 0FFFFFFC8H
|
|
TrR9 equ 0FFFFFFD0H
|
|
TrR10 equ 0FFFFFFD8H
|
|
TrR11 equ 0FFFFFFE0H
|
|
TrGsBase equ 0FFFFFFE8H
|
|
TrGsSwap equ 0FFFFFFE8H
|
|
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
|
|
TrShadowStackFrame equ 00058H
|
|
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
|
|
TrLogging equ 000F3H
|
|
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
|
|
|
|
;
|
|
; Shadow Stack Machine Frame Offset Definitions
|
|
;
|
|
|
|
SmSsp equ 00000H
|
|
SmRip equ 00008H
|
|
SmSegCs equ 00010H
|
|
|
|
;
|
|
; DPC Stack Frame Defintions
|
|
;
|
|
|
|
DpRsp equ 00040H
|
|
DpRip equ 00028H
|
|
DpP5 equ 00020H
|
|
DpcStackFrameLength equ 00050H
|
|
|
|
;
|
|
; 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
|
|
CONTEXT_XSTATE equ 0100040H
|
|
CONTEXT_KERNEL_CET equ 0100080H
|
|
|
|
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
|
|
CxFltSave equ 00100H
|
|
CxXmm0 equ 001A0H
|
|
CxXmm1 equ 001B0H
|
|
CxXmm2 equ 001C0H
|
|
CxXmm3 equ 001D0H
|
|
CxXmm4 equ 001E0H
|
|
CxXmm5 equ 001F0H
|
|
CxXmm6 equ 00200H
|
|
CxXmm7 equ 00210H
|
|
CxXmm8 equ 00220H
|
|
CxXmm9 equ 00230H
|
|
CxXmm10 equ 00240H
|
|
CxXmm11 equ 00250H
|
|
CxXmm12 equ 00260H
|
|
CxXmm13 equ 00270H
|
|
CxXmm14 equ 00280H
|
|
CxXmm15 equ 00290H
|
|
CxDebugControl equ 004A8H
|
|
CxLastBranchToRip equ 004B0H
|
|
CxLastBranchFromRip equ 004B8H
|
|
CxLastExceptionToRip equ 004C0H
|
|
CxLastExceptionFromRip equ 004C8H
|
|
CxVectorControl equ 004A0H
|
|
CxVectorRegister equ 00300H
|
|
CONTEXT_FRAME_LENGTH equ 004D0H
|
|
CONTEXT_EX_LENGTH equ 00020H
|
|
|
|
;
|
|
; Debug Control Register Masks
|
|
;
|
|
|
|
DR7_LEGAL equ 0FFFF0355H
|
|
DR7_ACTIVE equ 00355H
|
|
DR7_TRACE_BRANCH equ 00200H
|
|
DR7_LAST_BRANCH equ 00100H
|
|
DEBUG_ACTIVE_DR7 equ 00001H
|
|
DEBUG_ACTIVE_INSTRUMENTED equ 00002H
|
|
DEBUG_ACTIVE_DBG_INSTRUMENTED equ 00003H
|
|
DEBUG_ACTIVE_MINIMAL_THREAD equ 00004H
|
|
DEBUG_ACTIVE_SET_CONTEXT_STATE_LOCK_BIT equ 0001BH
|
|
DEBUG_ACTIVE_SET_CONTEXT_STATE_LOCK equ 08000000H
|
|
|
|
;
|
|
; Continue Argument Structure Definitions
|
|
;
|
|
|
|
KCONTINUE_INVALID equ 00004H
|
|
KCONTINUE_ARGUMENT_LENGTH equ 00020H
|
|
|
|
;
|
|
; SK Shadow Stack Assist Operation Definitions
|
|
;
|
|
|
|
SkShadowStackAssistDebugTrapCopyFrame equ 00002H
|
|
|
|
;
|
|
; 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
|
|
DcScopeIndex equ 00048H
|
|
|
|
;
|
|
; Legacy Floating Save Area Structure Offset definitions
|
|
;
|
|
|
|
LfControlWord equ 00000H
|
|
LfStatusWord equ 00002H
|
|
LfTagWord equ 00004H
|
|
LfErrorOpcode equ 00006H
|
|
LfErrorOffset equ 00008H
|
|
LfErrorSelector equ 0000CH
|
|
LfDataOffset equ 00010H
|
|
LfDataSelector equ 00014H
|
|
LfMxCsr equ 00018H
|
|
LfMxCsr_Mask equ 0001CH
|
|
LfFloatRegisters equ 00020H
|
|
LfXmmRegisters equ 000A0H
|
|
LfFloatSaveLength equ 00200H
|
|
X87ErrorOffset equ 0000CH
|
|
X87FloatSaveLength equ 0006CH
|
|
|
|
|
|
;
|
|
; 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
|
|
PsMsrGsBase equ 000A8H
|
|
PsMsrGsSwap equ 000B0H
|
|
PsMsrStar equ 000B8H
|
|
PsMsrLStar equ 000C0H
|
|
PsMsrCStar equ 000C8H
|
|
PsMsrSyscallMask equ 000D0H
|
|
PsXcr0 equ 000D8H
|
|
PsMsrFsBase equ 000E0H
|
|
PsContextFrame equ 000F0H
|
|
PsDebugControl equ 00078H
|
|
PsLastBranchToRip equ 00080H
|
|
PsLastBranchFromRip equ 00088H
|
|
PsLastExceptionToRip equ 00090H
|
|
PsLastExceptionFromRip equ 00098H
|
|
PsCr8 equ 000A0H
|
|
ProcessorStateLength equ 005C0H
|
|
|
|
;
|
|
; Processor Start Block Offset Definitions
|
|
;
|
|
|
|
PsbCompletionFlag equ 00004H
|
|
PsbGdt32 equ 0000CH
|
|
PsbIdt32 equ 00012H
|
|
PsbGdt equ 00018H
|
|
PsbTiledMemoryMap equ 00058H
|
|
PsbPmTarget equ 00060H
|
|
PsbLmTarget equ 00070H
|
|
PsbLmIdentityTarget equ 00066H
|
|
PsbSelfMap equ 00078H
|
|
PsbMsrPat equ 00080H
|
|
PsbMsrEFER equ 00088H
|
|
PsbProcessorState equ 00090H
|
|
PsbFlags equ 00008H
|
|
PROCESSOR_START_FLAG_FORCE_ENABLE_NX equ 00001H
|
|
PROCESSOR_START_FLAG_LA57 equ 00002H
|
|
PROCESSOR_START_FLAG_HIDDEN equ 00004H
|
|
ProcessorStartBlockLength equ 00650H
|
|
XHF_NOEXECUTE equ 0100000H
|
|
|
|
;
|
|
; MCE Recovery Context Offset Definitions
|
|
;
|
|
|
|
MrcFlags equ 00000H
|
|
MrcPhysicalAddress equ 00008H
|
|
MrcRecord equ 00008H
|
|
MceRecoveryContextLength equ 00010H
|
|
|
|
;
|
|
; MCE Recovery Context Flags Definitions
|
|
;
|
|
|
|
KMRC_ALTERNATE_CONTEXT equ 00001H
|
|
KMRC_WORK_ITEM equ 00002H
|
|
KMRC_OFFLINE_PAGE equ 00004H
|
|
KMRC_TERMINATE_PROCESS equ 00008H
|
|
KMRC_KERNEL_CONSUMER equ 00010H
|
|
|
|
;
|
|
; KTHREAD
|
|
;
|
|
|
|
ThNpxState equ 00250H
|
|
ThThreadFlags2 equ 00200H
|
|
ThSpecCtrl equ 0007FH
|
|
KTHREAD_RUNNING_NON_RETPOLINE_CODE_BIT equ 00001H
|
|
KTHREAD_RUNNING_NON_RETPOLINE_CODE equ 00002H
|
|
ThKernelShadowStack equ 00408H
|
|
ThKernelShadowStackBase equ 00418H
|
|
ThKernelShadowStackInitial equ 00410H
|
|
ThKernelShadowStackLimit equ 00420H
|
|
ThExtendedFeatureDisableMask equ 00428H
|
|
|
|
;
|
|
; ETHREAD
|
|
;
|
|
|
|
ThSetContextState equ 00668H
|
|
ThUserFsBase equ 00638H
|
|
ThUserGsBase equ 00640H
|
|
PICO_SYSTEM_CALL equ 00008H
|
|
|
|
;
|
|
; EPROCESS
|
|
;
|
|
|
|
EpDebugPort equ 00578H
|
|
EpWoW64Process equ 00580H
|
|
EpFlags3 equ 0087CH
|
|
PS_PROCESS_FLAGS3_SECURITY_DOMAIN_CHANGED_V equ 00015H
|
|
PS_PROCESS_MITIGATION_FLAGS2_CET_RELATED equ 0C0F6C000H
|
|
;
|
|
;
|
|
|
|
;
|
|
; Machine type definitions (Temporarily)
|
|
;
|
|
|
|
MACHINE_TYPE_ISA equ 00000H
|
|
MACHINE_TYPE_EISA equ 00001H
|
|
MACHINE_TYPE_MCA equ 00002H
|
|
|
|
;
|
|
; KeFeatureBits defines
|
|
;
|
|
|
|
KF_RDTSC equ 00002H
|
|
KF_RDTSCP equ 00000000400000000H
|
|
KF_CR4 equ 00004H
|
|
KF_GLOBAL_PAGE equ 00010H
|
|
KF_LARGE_PAGE equ 00020H
|
|
KF_CMPXCHG8B equ 00080H
|
|
KF_FAST_SYSCALL equ 01000H
|
|
KF_BRANCH equ 020000H
|
|
KF_XSTATE equ 0800000H
|
|
KF_XSAVEOPT_BIT equ 0000FH
|
|
KF_XSTATE_BIT equ 00017H
|
|
KF_XSAVES_BIT equ 00026H
|
|
KF_RDWRFSGSBASE_BIT equ 0001CH
|
|
KF_CET_SS equ 00000400000000000H
|
|
KF_XFD equ 00080000000000000H
|
|
KF_FPU_LEAKAGE_BIT equ 00029H
|
|
KF_CAT_BIT equ 0002CH
|
|
KF_XFD_BIT equ 00037H
|
|
|
|
;
|
|
; LoaderParameterBlock offsets relative to base
|
|
;
|
|
|
|
LpbKernelStack equ 00080H
|
|
LpbPrcb equ 00088H
|
|
LpbProcess equ 00090H
|
|
LpbThread equ 00098H
|
|
PAGE_SIZE equ 01000H
|
|
|
|
;
|
|
; Kernel Mode Callout Frame Definitions
|
|
;
|
|
|
|
CuTrapFrame equ 000D0H
|
|
CuOutputBuffer equ 000D8H
|
|
CuOutputLength equ 000E0H
|
|
|
|
;
|
|
; Enclave call dispatch frame
|
|
;
|
|
|
|
EcEnclaveNumber equ 00020H
|
|
EcParameterAddress equ 00028H
|
|
EcParameterValue equ 00030H
|
|
EcOriginalReturn equ 00038H
|
|
EcFramePointer equ 00040H
|
|
EcReturnAddress equ 00048H
|
|
|
|
;
|
|
; Hypervisor Enlightenment Definitions
|
|
;
|
|
|
|
HV_MMU_USE_HYPERCALL_FOR_ADDRESS_SWITCH equ 00001H
|
|
HV_MMU_USE_HYPERCALL_FOR_LOCAL_FLUSH equ 00002H
|
|
HV_MMU_USE_HYPERCALL_FOR_REMOTE_FLUSH equ 00004H
|
|
HV_APIC_ENLIGHTENED equ 00010H
|
|
HV_KE_USE_HYPERCALL_FOR_LONG_SPIN_WAIT equ 00040H
|
|
HV_DEPRECATE_AUTO_EOI equ 01000H
|
|
HV_X64_MSR_EOI equ 040000070H
|
|
HV_X64_MSR_ICR equ 040000071H
|
|
HV_X64_MSR_TSC_FREQUENCY equ 040000022H
|
|
APIC_DELIVER_NMI equ 00400H
|
|
LAPIC_ICR_SELF equ 040000H
|
|
HV_VIRTUAL_APIC_NO_EOI_REQUIRED equ 00000H
|
|
HvApicFlags equ 00000H
|
|
HvVirtualFaultCode equ 00044H
|
|
HvVirtualFaultParam equ 00048H
|
|
HvExtVirtualizationFaultEpf equ 00001H
|
|
|
|
;
|
|
; IO Status Block Offset Definitions
|
|
;
|
|
|
|
IoStatus equ 00000H
|
|
IoPointer equ 00000H
|
|
IoInformation equ 00008H
|
|
|
|
;
|
|
; KAFFINITY_EX size
|
|
;
|
|
|
|
AffinityExLength equ 00108H
|
|
|
|
;
|
|
; WoW Compatibility mode transition thunk
|
|
;
|
|
|
|
ServiceCpupReturnFromSimulatedCode equ 0001FH
|
|
HV_VECTOR equ 00030H
|
|
;
|