#include "kxia64.h" #include "regia64.h" // // Pointer size in bytes // #define SizeofPointer 0x8 // // Process State Enumerated Type Values // #define ProcessInMemory 0x0 #define ProcessOutOfMemory 0x1 #define ProcessInTransition 0x2 // // Thread State Enumerated Type Values // #define Initialized 0x0 #define Ready 0x1 #define Running 0x2 #define Standby 0x3 #define Terminated 0x4 #define Waiting 0x5 // // Wait Reason and Wait Type Enumerated Type Values // #define WrExecutive 0x0 #define WrEventPair 0xe #define WaitAny 0x1 #define WaitAll 0x0 // // Apc State Structure Offset Definitions // #define AsApcListHead 0x0 #define AsProcess 0x20 #define AsKernelApcInProgress 0x28 #define AsKernelApcPending 0x29 #define AsUserApcPending 0x2a // // Bug Check Code Definitions // #define APC_INDEX_MISMATCH 0x1 #define ATTEMPTED_SWITCH_FROM_DPC 0xb8 #define DATA_BUS_ERROR 0x2e #define DATA_COHERENCY_EXCEPTION 0x55 #define HAL1_INITIALIZATION_FAILED 0x61 #define INSTRUCTION_BUS_ERROR 0x2f #define INSTRUCTION_COHERENCY_EXCEPTION 0x56 #define INTERRUPT_EXCEPTION_NOT_HANDLED 0x3d #define INTERRUPT_UNWIND_ATTEMPTED 0x3c #define INVALID_AFFINITY_SET 0x3 #define INVALID_DATA_ACCESS_TRAP 0x4 #define IRQL_GT_ZERO_AT_SYSTEM_SERVICE 0x4a #define IRQL_NOT_LESS_OR_EQUAL 0xa #define KMODE_EXCEPTION_NOT_HANDLED 0x1e #define NMI_HARDWARE_FAILURE 0x80 #define NO_USER_MODE_CONTEXT 0xe #define PAGE_FAULT_WITH_INTERRUPTS_OFF 0x49 #define PANIC_STACK_SWITCH 0x2b #define SPIN_LOCK_INIT_FAILURE 0x81 #define SYSTEM_EXIT_OWNED_MUTEX 0x39 #define SYSTEM_SERVICE_EXCEPTION 0x3b #define SYSTEM_UNWIND_PREVIOUS_USER 0x3a #define TRAP_CAUSE_UNKNOWN 0x12 #define UNEXPECTED_KERNEL_MODE_TRAP 0x7f #define HARDWARE_INTERRUPT_STORM 0xf2 // // Breakpoint type definitions // #define DBG_STATUS_CONTROL_C 0x1 // // Client Id Structure Offset Definitions // #define CidUniqueProcess 0x0 #define CidUniqueThread 0x8 // // Critical Section Structure Offset Definitions // #define CsDebugInfo 0x0 #define CsLockCount 0x8 #define CsRecursionCount 0xc #define CsOwningThread 0x10 #define CsLockSemaphore 0x18 #define CsSpinCount 0x20 // // Critical Section Debug Information Structure Offset Definitions // #define CsType 0x0 #define CsCreatorBackTraceIndex 0x2 #define CsCriticalSection 0x8 #define CsProcessLocksList 0x10 #define CsEntryCount 0x20 #define CsContentionCount 0x24 // // Exception Record Offset, Flag, and Enumerated Type Definitions // #define EXCEPTION_NONCONTINUABLE 0x1 #define EXCEPTION_UNWINDING 0x2 #define EXCEPTION_EXIT_UNWIND 0x4 #define EXCEPTION_STACK_INVALID 0x8 #define EXCEPTION_NESTED_CALL 0x10 #define EXCEPTION_TARGET_UNWIND 0x20 #define EXCEPTION_COLLIDED_UNWIND 0x40 #define EXCEPTION_UNWIND 0x66 #define EXCEPTION_EXECUTE_HANDLER 0x1 #define EXCEPTION_CONTINUE_SEARCH 0x0 #define EXCEPTION_CONTINUE_EXECUTION 0xffffffff #define ExceptionContinueExecution 0x0 #define ExceptionContinueSearch 0x1 #define ExceptionNestedException 0x2 #define ExceptionCollidedUnwind 0x3 #define ErExceptionCode 0x0 #define ErExceptionFlags 0x4 #define ErExceptionRecord 0x8 #define ErExceptionAddress 0x10 #define ErNumberParameters 0x18 #define ErExceptionInformation 0x20 #define ExceptionRecordLength 0xa0 // // Fast Mutex Structure Offset Definitions // #define FmCount 0x0 #define FmOwner 0x8 #define FmContention 0x10 #define FmEvent 0x18 #define FmOldIrql 0x30 // // Interrupt Priority Request Level Definitions // #define PASSIVE_LEVEL 0x0 #define APC_LEVEL 0x1 #define DISPATCH_LEVEL 0x2 #define IPI_LEVEL 0xe #define POWER_LEVEL 0xf #define PROFILE_LEVEL 0xf #define HIGH_LEVEL 0xf #ifdef NT_UP #define SYNCH_LEVEL 0x2 #else #define SYNCH_LEVEL 0xd #endif // // Large Integer Structure Offset Definitions // #define LiLowPart 0x0 #define LiHighPart 0x4 // // List Entry Structure Offset Definitions // #define LsFlink 0x0 #define LsBlink 0x8 // // String Structure Offset Definitions // #define StrLength 0x0 #define StrMaximumLength 0x2 #define StrBuffer 0x8 // // Time Structure Offset Definitions // #define TmLowTime 0x0 #define TmHighTime 0x4 // // Thread Switch Counter Offset Definitions // #define TwFindAny 0x0 #define TwFindIdeal 0x4 #define TwFindLast 0x8 #define TwIdleAny 0xc #define TwIdleCurrent 0x10 #define TwIdleIdeal 0x14 #define TwIdleLast 0x18 #define TwPreemptAny 0x1c #define TwPreemptCurrent 0x20 #define TwPreemptLast 0x24 #define TwSwitchToIdle 0x28 // // Status Code Definitions // #define STATUS_IA64_INVALID_STACK 0xc0000028 #define STATUS_ACCESS_VIOLATION 0xc0000005 #define STATUS_ARRAY_BOUNDS_EXCEEDED 0xc000008c #define STATUS_BAD_COMPRESSION_BUFFER 0xc0000242 #define STATUS_BREAKPOINT 0x80000003 #define STATUS_DATATYPE_MISALIGNMENT 0x80000002 #define STATUS_FLOAT_DENORMAL_OPERAND 0xc000008d #define STATUS_FLOAT_DIVIDE_BY_ZERO 0xc000008e #define STATUS_FLOAT_INEXACT_RESULT 0xc000008f #define STATUS_FLOAT_INVALID_OPERATION 0xc0000090 #define STATUS_FLOAT_OVERFLOW 0xc0000091 #define STATUS_FLOAT_STACK_CHECK 0xc0000092 #define STATUS_FLOAT_UNDERFLOW 0xc0000093 #define STATUS_FLOAT_MULTIPLE_FAULTS 0xc00002b4 #define STATUS_FLOAT_MULTIPLE_TRAPS 0xc00002b5 #define STATUS_GUARD_PAGE_VIOLATION 0x80000001 #define STATUS_ILLEGAL_FLOAT_CONTEXT 0xc000014a #define STATUS_ILLEGAL_INSTRUCTION 0xc000001d #define STATUS_INSTRUCTION_MISALIGNMENT 0xc00000aa #define STATUS_INVALID_HANDLE 0xc0000008 #define STATUS_INVALID_LOCK_SEQUENCE 0xc000001e #define STATUS_INVALID_OWNER 0xc000005a #define STATUS_INVALID_PARAMETER_1 0xc00000ef #define STATUS_INVALID_SYSTEM_SERVICE 0xc000001c #define STATUS_INTEGER_DIVIDE_BY_ZERO 0xc0000094 #define STATUS_INTEGER_OVERFLOW 0xc0000095 #define STATUS_IN_PAGE_ERROR 0xc0000006 #define STATUS_KERNEL_APC 0x100 #define STATUS_LONGJUMP 0x80000026 #define STATUS_NO_CALLBACK_ACTIVE 0xc0000258 #define STATUS_NO_EVENT_PAIR 0xc000014e #define STATUS_PRIVILEGED_INSTRUCTION 0xc0000096 #define STATUS_SINGLE_STEP 0x80000004 #define STATUS_STACK_OVERFLOW 0xc00000fd #define STATUS_SUCCESS 0x0 #define STATUS_THREAD_IS_TERMINATING 0xc000004b #define STATUS_TIMEOUT 0x102 #define STATUS_UNWIND 0xc0000027 #define STATUS_UNWIND_CONSOLIDATE 0x80000029 #define STATUS_WAKE_SYSTEM_DEBUGGER 0x80000007 // // APC Object Structure Offset Definitions // #define ApType 0x0 #define ApSize 0x2 #define ApThread 0x8 #define ApApcListEntry 0x10 #define ApKernelRoutine 0x20 #define ApRundownRoutine 0x28 #define ApNormalRoutine 0x30 #define ApNormalContext 0x38 #define ApSystemArgument1 0x40 #define ApSystemArgument2 0x48 #define ApApcStateIndex 0x50 #define ApApcMode 0x51 #define ApInserted 0x52 #define ApcObjectLength 0x58 // // DPC object Structure Offset Definitions // #define DpType 0x0 #define DpNumber 0x2 #define DpImportance 0x3 #define DpDpcListEntry 0x8 #define DpDeferredRoutine 0x18 #define DpDeferredContext 0x20 #define DpSystemArgument1 0x28 #define DpSystemArgument2 0x30 #define DpLock 0x38 #define DpcObjectLength 0x40 // // Device Queue Object Structure Offset Definitions // #define DvType 0x0 #define DvSize 0x2 #define DvDeviceListHead 0x8 #define DvSpinLock 0x18 #define DvBusy 0x20 #define DeviceQueueObjectLength 0x28 // // Device Queue Entry Structure Offset Definitions // #define DeDeviceListEntry 0x0 #define DeSortKey 0x10 #define DeInserted 0x14 #define DeviceQueueEntryLength 0x18 // // Event Object Structure Offset Definitions // #define EvType 0x0 #define EvSize 0x2 #define EvSignalState 0x4 #define EvWaitListHead 0x8 #define EventObjectLength 0x18 // // Event Pair Object Structure Offset Definitions // #define EpType 0x0 #define EpSize 0x2 #define EpEventLow 0x8 #define EpEventHigh 0x20 #define SET_LOW_WAIT_HIGH 0xffffffd0 #define SET_HIGH_WAIT_LOW 0xffffffe8 #define SET_EVENT_PAIR_MASK 0x18 // // Interrupt Object Structure Offset Definitions // #define InLevelSensitive 0x0 #define InLatched 0x1 #define InType 0x0 #define InSize 0x2 #define InInterruptListEntry 0x8 #define InServiceRoutine 0x18 #define InServiceContext 0x20 #define InSpinLock 0x28 #define InTickCount 0x30 #define InActualLock 0x38 #define InDispatchAddress 0x40 #define InVector 0x48 #define InIrql 0x4c #define InSynchronizeIrql 0x4d #define InFloatingSave 0x4e #define InConnected 0x4f #define InNumber 0x50 #define InShareVector 0x51 #define InMode 0x54 #define InServiceCount 0x58 #define InDispatchCount 0x5c #define InDispatchCode 0x60 #define InterruptObjectLength 0x70 // // Process Object Structure Offset Definitions // #define PrType 0x0 #define PrSize 0x2 #define PrSignalState 0x4 #define PrProfileListHead 0x18 #define PrDirectoryTableBase 0x28 #define PrProcessRegion 0x38 #define PrSessionMapInfo 0x48 #define PrSessionParentBase 0x50 #define PrActiveProcessors 0x58 #define PrKernelTime 0x60 #define PrUserTime 0x64 #define PrReadyListHead 0x68 #define PrSwapListEntry 0x78 #define PrThreadListHead 0x88 #define PrProcessLock 0x98 #define PrAffinity 0xa0 #define PrStackCount 0xa8 #define PrBasePriority 0xaa #define PrThreadQuantum 0xab #define PrAutoAlignment 0xac #define PrState 0xad #define ProcessObjectLength 0xc0 #define ExtendedProcessObjectLength 0x3d0 // // Profile Object Structure Offset Definitions // #define PfType 0x0 #define PfSize 0x2 #define PfProfileListEntry 0x8 #define PfProcess 0x18 #define PfRangeBase 0x20 #define PfRangeLimit 0x28 #define PfBucketShift 0x30 #define PfBuffer 0x38 #define PfSegment 0x40 #define PfAffinity 0x48 #define PfSource 0x50 #define PfStarted 0x52 #define ProfileObjectLength 0x58 // // Queue Object Structure Offset Definitions // #define QuType 0x0 #define QuSize 0x2 #define QuSignalState 0x4 #define QuEntryListHead 0x18 #define QuCurrentCount 0x28 #define QuMaximumCount 0x2c #define QuThreadListHead 0x30 #define QueueObjectLength 0x40 // // Thread Object Structure Offset Definitions // #define EeKernelEventPair 0x0 #define EtCid 0x3a0 #define EtEthreadLength 0x460 #define ThType 0x0 #define ThSize 0x2 #define ThSignalState 0x4 #define ThMutantListHead 0x18 #define ThInitialStack 0x28 #define ThStackLimit 0x30 #define ThTeb 0x50 #define ThTlsArray 0x58 #define ThKernelStack 0x60 #define ThDebugActive 0x70 #define ThState 0x71 #define ThAlerted 0x72 #define ThIopl 0x74 #define ThNpxState 0x75 #define ThSaturation 0x76 #define ThPriority 0x77 #define ThApcState 0x78 #define ThIdleSwapBlock 0xac #define ThContextSwitches 0xa8 #define ThWaitStatus 0xb0 #define ThWaitIrql 0xb8 #define ThWaitMode 0xb9 #define ThWaitNext 0xba #define ThWaitReason 0xbb #define ThWaitBlockList 0xc0 #define ThWaitListEntry 0xc8 #define ThWaitTime 0xd8 #define ThBasePriority 0xdc #define ThDecrementCount 0xdd #define ThPriorityDecrement 0xde #define ThQuantum 0xdf #define ThWaitBlock 0xe0 #define ThKernelApcDisable 0x1a8 #define ThUserAffinity 0x1b0 #define ThSystemAffinityActive 0x1b8 #define ThServiceTable 0x1c0 #define ThQueue 0x1c8 #define ThApcQueueLock 0x1d0 #define ThTimer 0x1d8 #define ThQueueListEntry 0x218 #define ThAffinity 0x230 #define ThPreempted 0x238 #define ThProcessReadyQueue 0x239 #define ThKernelStackResident 0x23a #define ThNextProcessor 0x23b #define ThCallbackStack 0x240 #define ThWin32Thread 0x250 #define ThTrapFrame 0x258 #define ThApcStatePointer 0x260 #define ThPreviousMode 0x270 #define ThEnableStackSwap 0x271 #define ThLargeStack 0x272 #define ThKernelTime 0x274 #define ThUserTime 0x278 #define ThSavedApcState 0x280 #define ThAlertable 0x2b0 #define ThApcStateIndex 0x2b1 #define ThApcQueueable 0x2b2 #define ThAutoAlignment 0x2b3 #define ThStackBase 0x2b8 #define ThSuspendApc 0x2c0 #define ThSuspendSemaphore 0x318 #define ThThreadListEntry 0x338 #define ThFreezeCount 0x348 #define ThSuspendCount 0x349 #define ThIdealProcessor 0x34a #define ThDisableBoost 0x34b #define ThSoftAffinity 0x228 #define ThInitialBStore 0x38 #define ThBStoreLimit 0x40 #define ThNumber 0x48 #define ThKernelBStore 0x68 #define ThCallbackBStore 0x248 #define ThreadObjectLength 0x350 #define ExtendedThreadObjectLength 0x460 #define EVENT_WAIT_BLOCK_OFFSET 0x140 // // Timer object Structure Offset Definitions // #define TiType 0x0 #define TiSize 0x2 #define TiInserted 0x3 #define TiSignalState 0x4 #define TiDueTime 0x18 #define TiTimerListEntry 0x20 #define TiDpc 0x30 #define TiPeriod 0x38 #define TimerObjectLength 0x40 #define TIMER_TABLE_SIZE 0x100 // // Wait Block Structure Offset Definitions // #define WbWaitListEntry 0x0 #define WbThread 0x10 #define WbObject 0x18 #define WbNextWaitBlock 0x20 #define WbWaitKey 0x28 #define WbWaitType 0x2a // // Fiber Structure Offset Definitions // #define FbFiberData 0x0 #define FbExceptionList 0x8 #define FbStackBase 0x10 #define FbStackLimit 0x18 #define FbDeallocationStack 0x20 #define FbFiberContext 0x30 #define FbWx86Tib 0xaa0 #define FbDeallocationBStore 0xaa8 #define FbBStoreLimit 0xab0 // // Process Environment Block Structure Offset Definitions // #define PeKernelCallbackTable 0x58 // // System Service Descriptor Table Structure Definitions // #define NUMBER_SERVICE_TABLES 0x4 #define SERVICE_NUMBER_MASK 0xfff #define SERVICE_TABLE_SHIFT 0x7 #define SERVICE_TABLE_MASK 0x60 #define SERVICE_TABLE_TEST 0x20 #define SdBase 0x0 #define SdCount 0x8 #define SdLimit 0x10 #define SdTableBaseGpOffset 0x14 #define SdNumber 0x18 // // Thread Environment Block Structure Offset Definitions // #define TeCmTeb 0x0 #define TeStackBase 0x8 #define TeStackLimit 0x10 #define TeFiberData 0x20 #define TeSelf 0x30 #define TeEnvironmentPointer 0x38 #define TeClientId 0x40 #define TeActiveRpcHandle 0x50 #define TeThreadLocalStoragePointer 0x58 #define TeCountOfOwnedCriticalSections 0x6c #define TePeb 0x60 #define TeCsrClientThread 0x70 #define TeWOW32Reserved 0x100 #define TeSoftFpcr 0x10c #define TeExceptionCode 0x2c0 #define TeGdiClientPID 0x7f0 #define TeGdiClientTID 0x7f4 #define TeGdiThreadLocalInfo 0x7f8 #define TeglDispatchTable 0x9f0 #define TeglReserved1 0x1138 #define TeglReserved2 0x1220 #define TeglSectionInfo 0x1228 #define TeglSection 0x1230 #define TeglTable 0x1238 #define TeglCurrentRC 0x1240 #define TeglContext 0x1248 #define TeDeallocationStack 0x1478 #define TeTlsSlots 0x1480 #define TeVdm 0x1690 #define TeGdiBatchCount 0x1740 #define TeInstrumentation 0x16b8 #define TeExceptionList 0x0 #define TeDeallocationBStore 0x1788 #define TeBStoreLimit 0x1790 #define TeDbgSsReserved 0x16a0 #define ThreadEnvironmentBlockLength 0x17c8 #define CmThreadEnvironmentBlockOffset 0x2000 // // Lock Queue Structure Offset Definitions // #define LOCK_QUEUE_WAIT 0x1 #define LOCK_QUEUE_OWNER 0x2 #define LOCK_QUEUE_HEADER_SIZE 0x10 #define LockQueueDispatcherLock 0x0 #define LockQueueContextSwapLock 0x1 #define LqNext 0x0 #define LqLock 0x8 #define LqhNext 0x0 #define LqhLock 0x8 #define LqhOldIrql 0x10 // // Performance Definitions // #define PERF_CONTEXTSWAP_OFFSET 0x4 #define PERF_CONTEXTSWAP_FLAG 0x4 #define PERF_DPC_OFFSET 0x4 #define PERF_DPC_FLAG 0x80 #define PERF_INTERRUPT_OFFSET 0x4 #define PERF_INTERRUPT_FLAG 0x4000 // // EPROCESS offset used for debugging. // #define PrWow64Process 0x2e8 // // Processor OS_MCA HandOff Structure Offset Definitions // #define SalHandOffPalProcEntryPoint 0x0 #define SalHandOffSalProcEntryPoint 0x8 #define SalHandOffSalGlobalPointer 0x10 #define SalHandOffRendezVousResult 0x18 #define SalHandOffSalReturnAddress 0x20 #define SalHandOffMinStateSavePtr 0x28 // // Processor OS_INIT HandOff Structure Offset Definitions // #define OsHandOffResult 0x0 #define OsHandOffSalGlobalPointer 0x8 #define OsHandOffMinStateSavePtr 0x10 #define OsHandOffSalReturnAddress 0x18 #define OsHandOffNewContextFlag 0x20 // // SAL Event Resouces Structure Offset Definitions // #define SerSalToOsHandOff 0x0 #define SerOsToSalHandOff 0x30 #define SerStateDumpPhysical 0x60 #define SerBackStore 0x68 #define SerBackStoreLimit 0x70 #define SerStack 0x78 #define SerStackLimit 0x80 #define SerPTOM 0x88 #define SerStackFrame 0x90 #define SerEventPool 0xd0 #define SerEventPoolSize 0xd8 #define SER_EVENT_STACK_FRAME_ENTRIES 0x8 // // PAL mini-save area Structure Offset Definitions // #define PmsIntNats 0x0 #define PmsIntGp 0x8 #define PmsIntT0 0x10 #define PmsIntT1 0x18 #define PmsIntS0 0x20 #define PmsIntS1 0x28 #define PmsIntS2 0x30 #define PmsIntS3 0x38 #define PmsIntV0 0x40 #define PmsIntT2 0x48 #define PmsIntT3 0x50 #define PmsIntT4 0x58 #define PmsIntSp 0x60 #define PmsIntTeb 0x68 #define PmsIntT5 0x70 #define PmsIntT6 0x78 #define PmsB0R16 0x80 #define PmsIntT7 0x100 #define PmsIntT8 0x108 #define PmsIntT9 0x110 #define PmsIntT10 0x118 #define PmsIntT11 0x120 #define PmsIntT12 0x128 #define PmsIntT13 0x130 #define PmsIntT14 0x138 #define PmsIntT15 0x140 #define PmsIntT16 0x148 #define PmsIntT17 0x150 #define PmsIntT18 0x158 #define PmsIntT19 0x160 #define PmsIntT20 0x168 #define PmsIntT21 0x170 #define PmsIntT22 0x178 #define PmsPreds 0x180 #define PmsBrRp 0x188 #define PmsRsRSC 0x190 #define PmsStIIP 0x198 #define PmsStIPSR 0x1a0 #define PmsStIFS 0x1a8 #define PmsXIP 0x1b0 #define PmsXPSR 0x1b8 #define PmsXFS 0x1c0 #define PalMiniSaveLength 0x1d0 // // Processor Control Registers Structure Offset Definitions // #define PCR_MINOR_VERSION 0x1 #define PCR_MAJOR_VERSION 0x1 #define PcMinorVersion 0x0 #define PcMajorVersion 0x4 #define PcInterruptRoutine 0x300 #define PcFirstLevelDcacheSize 0x8 #define PcFirstLevelDcacheFillSize 0xc #define PcFirstLevelIcacheSize 0x10 #define PcFirstLevelIcacheFillSize 0x14 #define PcSecondLevelDcacheSize 0x18 #define PcSecondLevelDcacheFillSize 0x1c #define PcSecondLevelIcacheSize 0x20 #define PcSecondLevelIcacheFillSize 0x24 #define PcPrcb 0xb18 #define PcDcacheAlignment 0x28 #define PcDcacheFillSize 0x2c #define PcIcacheAlignment 0x30 #define PcIcacheFillSize 0x34 #define PcProcessorId 0x38 #define PcProfileInterval 0x3c #define PcProfileCount 0x40 #define PcStallExecutionCount 0x44 #define PcStallScaleFactor 0x48 #define PcNumber 0xb28 #define PcDebugActive 0xb29 #define PcKernelDebugActive 0xb2a #define PcCurrentIrql 0xb2b #define PcSoftwareInterruptPending 0xb2c #define PcApcInterrupt 0xb2c #define PcDispatchInterrupt 0xb2d #define PcIrqlMask 0x280 #define PcIrqlTable 0x2c0 #define PcSetMember 0xb08 #define PcCurrentThread 0xb20 #define PcNotMember 0xb10 #define PcSystemReserved 0x50 #define PcHalReserved 0x80 #define PcKernelGP 0xb58 #define PcInitialStack 0xb60 #define PcInitialBStore 0xb68 #define PcStackLimit 0xb70 #define PcBStoreLimit 0xb78 #define PcPanicStack 0xb80 #define PcSavedIIM 0xb88 #define PcSavedIFA 0xb90 #define PcForwardProgressBuffer 0xb98 #define PcEOITable 0xb30 #define PcInOsMca 0xb38 #define PcInOsInit 0xb39 #define PcInOsCmc 0xb3a #define PcInOsCpe 0xb3b #define PcOsMcaResourcePtr 0xb40 #define PcHighFpOwner 0xb50 #define PcInterruptionCount 0x4c #define PcPteUbase 0xc20 #define PcPteKbase 0xc28 #define PcPteSbase 0xc30 #define PcPdeUbase 0xc38 #define PcPdeKbase 0xc40 #define PcPdeSbase 0xc48 #define PcPdeUtbase 0xc50 #define PcPdeKtbase 0xc58 #define PcPdeStbase 0xc60 #define MAX_NUMBER_OF_IHISTORY_RECORDS 0x80 #define ProcessorControlRegisterLength 0xe30 #define UsTickCountLow 0x0 #define UsTickCountMultiplier 0x4 #define UsInterruptTime 0x8 #define UsSystemTime 0x14 // // Processor Block Structure Offset Definitions // #define PRCB_MINOR_VERSION 0x1 #define PRCB_MAJOR_VERSION 0x1 #define PbMinorVersion 0x0 #define PbMajorVersion 0x2 #define PbCurrentThread 0x8 #define PbNextThread 0x10 #define PbIdleThread 0x18 #define PbNumber 0x20 #define PbBuildType 0x22 #define PbSetMember 0x28 #define PbRestartBlock 0x30 #define PbPcrPage 0x38 #define PbProcessorModel 0x50 #define PbProcessorRevision 0x54 #define PbProcessorFamily 0x58 #define PbProcessorSerialNumber 0x60 #define PbProcessorFeatureBits 0x68 #define PbProcessorVendorString 0x70 #define PbSystemReserved 0x80 #define PbHalReserved 0xc0 #define PbWakeIdle 0x21 #define PbDpcTime 0x140 #define PbInterruptTime 0x144 #define PbKernelTime 0x148 #define PbUserTime 0x14c #define PbAdjustDpcThreshold 0x1888 #define PbInterruptCount 0x150 #define PbDispatchInterruptCount 0x154 #define PbIpiFrozen 0x188 #define PbProcessorState 0x190 #define PbCcFastReadNoWait 0x1050 #define PbCcFastReadWait 0x1054 #define PbCcFastReadNotPossible 0x1058 #define PbCcCopyReadNoWait 0x105c #define PbCcCopyReadWait 0x1060 #define PbCcCopyReadNoWaitMiss 0x1064 #define PbAlignmentFixupCount 0x1068 #define PbContextSwitches 0x106c #define PbDcacheFlushCount 0x1070 #define PbExceptionDispatchCount 0x1074 #define PbFirstLevelTbFills 0x1078 #define PbFloatingEmulationCount 0x107c #define PbIcacheFlushCount 0x1080 #define PbSecondLevelTbFills 0x1084 #define PbSystemCalls 0x1088 #define PbLockQueue 0x15e8 #define PbReservedCounter 0x108c #define PbPacketBarrier 0x16fc #define PbCurrentPacket 0x1700 #define PbTargetSet 0x1718 #define PbWorkerRoutine 0x1720 #define PbCachePad1 0x1730 #define PbRequestSummary 0x1780 #define PbSignalDone 0x1788 #define PbDpcInterruptRequested 0x1800 #define PbMaximumDpcQueueDepth 0x1880 #define PbMinimumDpcRate 0x1884 #define PbIpiCounts 0x18c8 #define PbStartCount 0x1890 #define PbDpcLock 0x18a8 #define PbDpcListHead 0x1898 #define PbDpcQueueDepth 0x18c0 #define PbDpcCount 0x18b0 #define PbDpcLastCount 0x18b4 #define PbDpcRequestRate 0x188c #define PbDpcRoutineActive 0x18bc #define PbQuantumEnd 0x18b8 #define PbSkipTick 0x18c4 #define ProcessorBlockLength 0x1a40 // // Immediate Interprocessor Command Definitions // #define IPI_APC 0x1 #define IPI_DPC 0x2 #define IPI_FREEZE 0x4 #define IPI_PACKET_READY 0x8 // // Interprocessor Interrupt Count Structure Offset Definitions // #define IcFreeze 0x0 #define IcPacket 0x4 #define IcDPC 0x8 #define IcAPC 0xc #define IcFlushSingleTb 0x10 #define IcFlushMultipleTb 0x14 #define IcFlushEntireTb 0x18 #define IcGenericCall 0x1c #define IcChangeColor 0x20 #define IcSweepDcache 0x24 #define IcSweepIcache 0x28 #define IcSweepIcacheRange 0x2c #define IcFlushIoBuffers 0x30 #define IcGratuitousDPC 0x34 // // Context Frame Offset and Flag Definitions // #define CONTEXT_FULL 0x8002f #define CONTEXT_CONTROL 0x80001 #define CONTEXT_INTEGER 0x80008 #define CONTEXT_LOWER_FLOATING_POINT 0x80002 #define CONTEXT_HIGHER_FLOATING_POINT 0x80004 #define CONTEXT_FLOATING_POINT 0x80006 #define CONTEXT_DEBUG 0x80010 #define CONTEXT_IA32_CONTROL 0x80020 #define CxContextFlags 0x0 #define CxDbI0 0x10 #define CxDbI1 0x18 #define CxDbI2 0x20 #define CxDbI3 0x28 #define CxDbI4 0x30 #define CxDbI5 0x38 #define CxDbI6 0x40 #define CxDbI7 0x48 #define CxDbD0 0x50 #define CxDbD1 0x58 #define CxDbD2 0x60 #define CxDbD3 0x68 #define CxDbD4 0x70 #define CxDbD5 0x78 #define CxDbD6 0x80 #define CxDbD7 0x88 #define CxFltS0 0x90 #define CxFltS1 0xa0 #define CxFltS2 0xb0 #define CxFltS3 0xc0 #define CxFltT0 0xd0 #define CxFltT1 0xe0 #define CxFltT2 0xf0 #define CxFltT3 0x100 #define CxFltT4 0x110 #define CxFltT5 0x120 #define CxFltT6 0x130 #define CxFltT7 0x140 #define CxFltT8 0x150 #define CxFltT9 0x160 #define CxFltS4 0x170 #define CxFltS5 0x180 #define CxFltS6 0x190 #define CxFltS7 0x1a0 #define CxFltS8 0x1b0 #define CxFltS9 0x1c0 #define CxFltS10 0x1d0 #define CxFltS11 0x1e0 #define CxFltS12 0x1f0 #define CxFltS13 0x200 #define CxFltS14 0x210 #define CxFltS15 0x220 #define CxFltS16 0x230 #define CxFltS17 0x240 #define CxFltS18 0x250 #define CxFltS19 0x260 #define CxFltF32 0x270 #define CxFltF33 0x280 #define CxFltF34 0x290 #define CxFltF35 0x2a0 #define CxFltF36 0x2b0 #define CxFltF37 0x2c0 #define CxFltF38 0x2d0 #define CxFltF39 0x2e0 #define CxFltF40 0x2f0 #define CxFltF41 0x300 #define CxFltF42 0x310 #define CxFltF43 0x320 #define CxFltF44 0x330 #define CxFltF45 0x340 #define CxFltF46 0x350 #define CxFltF47 0x360 #define CxFltF48 0x370 #define CxFltF49 0x380 #define CxFltF50 0x390 #define CxFltF51 0x3a0 #define CxFltF52 0x3b0 #define CxFltF53 0x3c0 #define CxFltF54 0x3d0 #define CxFltF55 0x3e0 #define CxFltF56 0x3f0 #define CxFltF57 0x400 #define CxFltF58 0x410 #define CxFltF59 0x420 #define CxFltF60 0x430 #define CxFltF61 0x440 #define CxFltF62 0x450 #define CxFltF63 0x460 #define CxFltF64 0x470 #define CxFltF65 0x480 #define CxFltF66 0x490 #define CxFltF67 0x4a0 #define CxFltF68 0x4b0 #define CxFltF69 0x4c0 #define CxFltF70 0x4d0 #define CxFltF71 0x4e0 #define CxFltF72 0x4f0 #define CxFltF73 0x500 #define CxFltF74 0x510 #define CxFltF75 0x520 #define CxFltF76 0x530 #define CxFltF77 0x540 #define CxFltF78 0x550 #define CxFltF79 0x560 #define CxFltF80 0x570 #define CxFltF81 0x580 #define CxFltF82 0x590 #define CxFltF83 0x5a0 #define CxFltF84 0x5b0 #define CxFltF85 0x5c0 #define CxFltF86 0x5d0 #define CxFltF87 0x5e0 #define CxFltF88 0x5f0 #define CxFltF89 0x600 #define CxFltF90 0x610 #define CxFltF91 0x620 #define CxFltF92 0x630 #define CxFltF93 0x640 #define CxFltF94 0x650 #define CxFltF95 0x660 #define CxFltF96 0x670 #define CxFltF97 0x680 #define CxFltF98 0x690 #define CxFltF99 0x6a0 #define CxFltF100 0x6b0 #define CxFltF101 0x6c0 #define CxFltF102 0x6d0 #define CxFltF103 0x6e0 #define CxFltF104 0x6f0 #define CxFltF105 0x700 #define CxFltF106 0x710 #define CxFltF107 0x720 #define CxFltF108 0x730 #define CxFltF109 0x740 #define CxFltF110 0x750 #define CxFltF111 0x760 #define CxFltF112 0x770 #define CxFltF113 0x780 #define CxFltF114 0x790 #define CxFltF115 0x7a0 #define CxFltF116 0x7b0 #define CxFltF117 0x7c0 #define CxFltF118 0x7d0 #define CxFltF119 0x7e0 #define CxFltF120 0x7f0 #define CxFltF121 0x800 #define CxFltF122 0x810 #define CxFltF123 0x820 #define CxFltF124 0x830 #define CxFltF125 0x840 #define CxFltF126 0x850 #define CxFltF127 0x860 #define CxStFPSR 0x870 #define CxIntGp 0x878 #define CxIntT0 0x880 #define CxIntT1 0x888 #define CxIntS0 0x890 #define CxIntS1 0x898 #define CxIntS2 0x8a0 #define CxIntS3 0x8a8 #define CxIntV0 0x8b0 #define CxIntT2 0x8b8 #define CxIntT3 0x8c0 #define CxIntT4 0x8c8 #define CxIntSp 0x8d0 #define CxIntTeb 0x8d8 #define CxIntT5 0x8e0 #define CxIntT6 0x8e8 #define CxIntT7 0x8f0 #define CxIntT8 0x8f8 #define CxIntT9 0x900 #define CxIntT10 0x908 #define CxIntT11 0x910 #define CxIntT12 0x918 #define CxIntT13 0x920 #define CxIntT14 0x928 #define CxIntT15 0x930 #define CxIntT16 0x938 #define CxIntT17 0x940 #define CxIntT18 0x948 #define CxIntT19 0x950 #define CxIntT20 0x958 #define CxIntT21 0x960 #define CxIntT22 0x968 #define CxIntNats 0x970 #define CxPreds 0x978 #define CxBrRp 0x980 #define CxBrS0 0x988 #define CxBrS1 0x990 #define CxBrS2 0x998 #define CxBrS3 0x9a0 #define CxBrS4 0x9a8 #define CxBrT0 0x9b0 #define CxBrT1 0x9b8 #define CxApUNAT 0x9c0 #define CxApLC 0x9c8 #define CxApEC 0x9d0 #define CxApCCV 0x9d8 #define CxApDCR 0x9e0 #define CxRsPFS 0x9e8 #define CxRsBSP 0x9f0 #define CxRsBSPSTORE 0x9f8 #define CxRsRSC 0xa00 #define CxRsRNAT 0xa08 #define CxStIPSR 0xa10 #define CxStIIP 0xa18 #define CxStIFS 0xa20 #define CxStFCR 0xa28 #define CxEflag 0xa30 #define CxSegCSD 0xa38 #define CxSegSSD 0xa40 #define CxCflag 0xa48 #define CxStFSR 0xa50 #define CxStFIR 0xa58 #define CxStFDR 0xa60 #define ContextFrameLength 0xa70 // // Dispatcher Context Structure Offset Definitions // #define DcControlPc 0x10 #define DcFunctionEntry 0x20 #define DcEstablisherFrame 0x0 #define DcContextRecord 0x28 // // Debug Register Offset Definitions and Length // #define TsAr21 0x0 #define TsAr24 0x8 #define TsAr25 0x10 #define TsAr26 0x18 #define TsAr27 0x20 #define TsAr28 0x28 #define TsAr29 0x30 #define TsAr30 0x38 // // Higher FP Volatile Offset Definitions and Length // #define HiFltF32 0x0 #define HiFltF33 0x10 #define HiFltF34 0x20 #define HiFltF35 0x30 #define HiFltF36 0x40 #define HiFltF37 0x50 #define HiFltF38 0x60 #define HiFltF39 0x70 #define HiFltF40 0x80 #define HiFltF41 0x90 #define HiFltF42 0xa0 #define HiFltF43 0xb0 #define HiFltF44 0xc0 #define HiFltF45 0xd0 #define HiFltF46 0xe0 #define HiFltF47 0xf0 #define HiFltF48 0x100 #define HiFltF49 0x110 #define HiFltF50 0x120 #define HiFltF51 0x130 #define HiFltF52 0x140 #define HiFltF53 0x150 #define HiFltF54 0x160 #define HiFltF55 0x170 #define HiFltF56 0x180 #define HiFltF57 0x190 #define HiFltF58 0x1a0 #define HiFltF59 0x1b0 #define HiFltF60 0x1c0 #define HiFltF61 0x1d0 #define HiFltF62 0x1e0 #define HiFltF63 0x1f0 #define HiFltF64 0x200 #define HiFltF65 0x210 #define HiFltF66 0x220 #define HiFltF67 0x230 #define HiFltF68 0x240 #define HiFltF69 0x250 #define HiFltF70 0x260 #define HiFltF71 0x270 #define HiFltF72 0x280 #define HiFltF73 0x290 #define HiFltF74 0x2a0 #define HiFltF75 0x2b0 #define HiFltF76 0x2c0 #define HiFltF77 0x2d0 #define HiFltF78 0x2e0 #define HiFltF79 0x2f0 #define HiFltF80 0x300 #define HiFltF81 0x310 #define HiFltF82 0x320 #define HiFltF83 0x330 #define HiFltF84 0x340 #define HiFltF85 0x350 #define HiFltF86 0x360 #define HiFltF87 0x370 #define HiFltF88 0x380 #define HiFltF89 0x390 #define HiFltF90 0x3a0 #define HiFltF91 0x3b0 #define HiFltF92 0x3c0 #define HiFltF93 0x3d0 #define HiFltF94 0x3e0 #define HiFltF95 0x3f0 #define HiFltF96 0x400 #define HiFltF97 0x410 #define HiFltF98 0x420 #define HiFltF99 0x430 #define HiFltF100 0x440 #define HiFltF101 0x450 #define HiFltF102 0x460 #define HiFltF103 0x470 #define HiFltF104 0x480 #define HiFltF105 0x490 #define HiFltF106 0x4a0 #define HiFltF107 0x4b0 #define HiFltF108 0x4c0 #define HiFltF109 0x4d0 #define HiFltF110 0x4e0 #define HiFltF111 0x4f0 #define HiFltF112 0x500 #define HiFltF113 0x510 #define HiFltF114 0x520 #define HiFltF115 0x530 #define HiFltF116 0x540 #define HiFltF117 0x550 #define HiFltF118 0x560 #define HiFltF119 0x570 #define HiFltF120 0x580 #define HiFltF121 0x590 #define HiFltF122 0x5a0 #define HiFltF123 0x5b0 #define HiFltF124 0x5c0 #define HiFltF125 0x5d0 #define HiFltF126 0x5e0 #define HiFltF127 0x5f0 // // Debug Register Offset Definitions and Length // #define DrDbI0 0x0 #define DrDbI1 0x8 #define DrDbI2 0x10 #define DrDbI3 0x18 #define DrDbI4 0x20 #define DrDbI5 0x28 #define DrDbI6 0x30 #define DrDbI7 0x38 #define DrDbD0 0x40 #define DrDbD1 0x48 #define DrDbD2 0x50 #define DrDbD3 0x58 #define DrDbD4 0x60 #define DrDbD5 0x68 #define DrDbD6 0x70 #define DrDbD7 0x78 #define TsAppRegisters 0x0 #define TsPerfRegisters 0x40 #define TsHigherFPVolatile 0x80 #define TsDebugRegisters 0x680 #define ThreadStateSaveAreaLength 0x700 // // Exception Frame Offset Definitions and Length // #define ExFltS0 0x60 #define ExFltS1 0x70 #define ExFltS2 0x80 #define ExFltS3 0x90 #define ExFltS4 0xa0 #define ExFltS5 0xb0 #define ExFltS6 0xc0 #define ExFltS7 0xd0 #define ExFltS8 0xe0 #define ExFltS9 0xf0 #define ExFltS10 0x100 #define ExFltS11 0x110 #define ExFltS12 0x120 #define ExFltS13 0x130 #define ExFltS14 0x140 #define ExFltS15 0x150 #define ExFltS16 0x160 #define ExFltS17 0x170 #define ExFltS18 0x180 #define ExFltS19 0x190 #define ExIntS0 0x18 #define ExIntS1 0x20 #define ExIntS2 0x28 #define ExIntS3 0x30 #define ExIntNats 0x10 #define ExBrS0 0x38 #define ExBrS1 0x40 #define ExBrS2 0x48 #define ExBrS3 0x50 #define ExBrS4 0x58 #define ExApEC 0x0 #define ExApLC 0x8 #define ExceptionFrameLength 0x1a0 // // Switch Frame Offset Definitions and Length // #define SwExFrame 0x30 #define SwPreds 0x0 #define SwRp 0x8 #define SwPFS 0x10 #define SwFPSR 0x18 #define SwBsp 0x20 #define SwRnat 0x28 #define SwitchFrameLength 0x1d0 // // Plabel structure offset definitions // #define PlEntryPoint 0x0 #define PlGlobalPointer 0x8 // // Jump Offset Definitions and Length // #define JbRegistration 0x18 #define JbTryLevel 0x1c #define JbCookie 0x20 #define JbUnwindFunc 0x24 #define JbUnwindData 0x28 #define JbFPSR 0x180 #define JbFltS0 0x40 #define JbFltS1 0x50 #define JbFltS2 0x60 #define JbFltS3 0x70 #define JbFltS4 0x80 #define JbFltS5 0x90 #define JbFltS6 0xa0 #define JbFltS7 0xb0 #define JbFltS8 0xc0 #define JbFltS9 0xd0 #define JbFltS10 0xe0 #define JbFltS11 0xf0 #define JbFltS12 0x100 #define JbFltS13 0x110 #define JbFltS14 0x120 #define JbFltS15 0x130 #define JbFltS16 0x140 #define JbFltS17 0x150 #define JbFltS18 0x160 #define JbFltS19 0x170 #define JbStIIP 0x188 #define JbBrS0 0x190 #define JbBrS1 0x198 #define JbBrS2 0x1a0 #define JbBrS3 0x1a8 #define JbBrS4 0x1b0 #define JbRsBSP 0x1d8 #define JbRsPFS 0x1e0 #define JbApUNAT 0x1e8 #define JbApLC 0x1f0 #define JbIntS0 0x1b8 #define JbIntS1 0x1c0 #define JbIntS2 0x1c8 #define JbIntS3 0x1d0 #define JbIntSp 0x1f8 #define JbIntNats 0x200 #define JbPreds 0x208 #define JumpBufferLength 0x210 // // Trap Frame Offset Definitions and Length // #define TrFltT0 0x50 #define TrFltT1 0x60 #define TrFltT2 0x70 #define TrFltT3 0x80 #define TrFltT4 0x90 #define TrFltT5 0xa0 #define TrFltT6 0xb0 #define TrFltT7 0xc0 #define TrFltT8 0xd0 #define TrFltT9 0xe0 #define TrIntGp 0xf0 #define TrIntT0 0xf8 #define TrIntT1 0x100 #define TrApUNAT 0x108 #define TrApCCV 0x110 #define TrApDCR 0x118 #define TrPreds 0x120 #define TrIntV0 0x128 #define TrIntT2 0x130 #define TrIntT3 0x138 #define TrIntT4 0x140 #define TrIntSp 0x148 #define TrIntTeb 0x150 #define TrIntT5 0x158 #define TrIntT6 0x160 #define TrIntT7 0x168 #define TrIntT8 0x170 #define TrIntT9 0x178 #define TrIntT10 0x180 #define TrIntT11 0x188 #define TrIntT12 0x190 #define TrIntT13 0x198 #define TrIntT14 0x1a0 #define TrIntT15 0x1a8 #define TrIntT16 0x1b0 #define TrIntT17 0x1b8 #define TrIntT18 0x1c0 #define TrIntT19 0x1c8 #define TrIntT20 0x1d0 #define TrIntT21 0x1d8 #define TrIntT22 0x1e0 #define TrIntNats 0x1e8 #define TrBrRp 0x1f0 #define TrBrT0 0x1f8 #define TrBrT1 0x200 #define TrRsPFS 0x228 #define TrRsBSP 0x210 #define TrRsRSC 0x208 #define TrRsRNAT 0x220 #define TrRsBSPSTORE 0x218 #define TrStIPSR 0x230 #define TrStISR 0x250 #define TrStIFA 0x258 #define TrStIIP 0x238 #define TrStIIPA 0x260 #define TrStIFS 0x240 #define TrStIIM 0x268 #define TrStIHA 0x270 #define TrStFPSR 0x248 #define TrOldIrql 0x278 #define TrPreviousMode 0x27c #define TrTrapFrame 0x280 #define TrHandler 0x328 #define TrEOFMarker 0x330 #define TrExceptionRecord 0x288 #define TrapFrameLength 0x340 #define TrapFrameArguments 0x40 #define KTRAP_FRAME_EOF 0xe0f0e0f0e0f0e000 // // Usermode callout kernel frame definitions // #define CuBrRp 0x0 #define CuRsPFS 0x8 #define CuPreds 0x10 #define CuApUNAT 0x18 #define CuApLC 0x20 #define CuIntS0 0x38 #define CuIntS1 0x40 #define CuIntS2 0x48 #define CuIntS3 0x50 #define CuBrS0 0x58 #define CuBrS1 0x60 #define CuBrS2 0x68 #define CuBrS3 0x70 #define CuBrS4 0x78 #define CuRsRNAT 0x28 #define CuIntNats 0x30 #define CuFltS0 0x80 #define CuFltS1 0x90 #define CuFltS2 0xa0 #define CuFltS3 0xb0 #define CuFltS4 0xc0 #define CuFltS5 0xd0 #define CuFltS6 0xe0 #define CuFltS7 0xf0 #define CuFltS8 0x100 #define CuFltS9 0x110 #define CuFltS10 0x120 #define CuFltS11 0x130 #define CuFltS12 0x140 #define CuFltS13 0x150 #define CuFltS14 0x160 #define CuFltS15 0x170 #define CuFltS16 0x180 #define CuFltS17 0x190 #define CuFltS18 0x1a0 #define CuFltS19 0x1b0 #define CuA0 0x1c0 #define CuA1 0x1c8 #define CuCbStk 0x1d0 #define CuInStack 0x1d8 #define CuCbBStore 0x1e0 #define CuInBStore 0x1e8 #define CuTrFrame 0x1f0 #define CuTrStIIP 0x1f8 #define CuFrameLength 0x200 // // Usermode callout user frame definitions // #define CkBuffer 0x0 #define CkLength 0x8 #define CkApiNumber 0xc #define CkIntSp 0x10 #define CkRsPFS 0x18 #define CkBrRp 0x20 // // Loader Parameter Block Offset Definitions // #define LpbLoadOrderListHead 0x0 #define LpbMemoryDescriptorListHead 0x10 #define LpbKernelStack 0x30 #define LpbPrcb 0x38 #define LpbProcess 0x40 #define LpbThread 0x48 #define LpbAcpiRsdt 0x108 #define LpbKernelPhysicalBase 0xc0 #define LpbKernelVirtualBase 0xc8 #define LpbInterruptStack 0xd0 #define LpbPanicStack 0xd8 #define LpbPcrPage 0xe0 #define LpbPdrPage 0xe8 #define LpbPcrPage2 0xf0 #define LpbMachineType 0xb8 // // Address Space Layout Definitions // #define UREGION_INDEX 0x0 #define KSEG0_BASE 0xe000000080000000 #define KSEG2_BASE 0xe0000000a0000000 #define KADDRESS_BASE 0xe000000000000000 #define UADDRESS_BASE 0x0 #define SADDRESS_BASE 0x2000000000000000 #define SYSTEM_BASE 0xe0000000c3000000 #define KSEG3_BASE 0x8000000000000000 #define KSEG3_LIMIT 0x8000100000000000 // // Page Table and Directory Entry Definitions // #define PAGE_SIZE 0x2000 #define PAGE_SHIFT 0xd #define PDI_SHIFT 0x17 #define PTI_SHIFT 0xd #define PTE_SHIFT 0x3 #define VHPT_PDE_BITS 0x28 // // Breakpoint Definitions // #define USER_BREAKPOINT 0x80002 #define KERNEL_BREAKPOINT 0x80001 #define BREAKPOINT_BREAKIN 0x80019 #define UNKNOWN_ERROR_BREAK 0x0 #define INTEGER_DIVIDE_BY_ZERO_BREAK 0x1 #define INTEGER_OVERFLOW_BREAK 0x2 #define RANGE_CHECK_BREAK 0x3 #define NULL_POINTER_DEFERENCE_BREAK 0x4 #define MISALIGNED_DATA_BREAK 0x5 #define DECIMAL_OVERFLOW_BREAK 0x6 #define DECIMAL_DIVIDE_BY_ZERO_BREAK 0x7 #define PACKED_DECIMAL_ERROR_BREAK 0x8 #define INVALID_ASCII_DIGIT_BREAK 0x9 #define INVALID_DECIMAL_DIGIT_BREAK 0xa #define PARAGRAPH_STACK_OVERFLOW_BREAK 0xb #define BREAKPOINT_PRINT 0x80014 #define BREAKPOINT_PROMPT 0x80015 #define BREAKPOINT_STOP 0x80016 #define BREAKPOINT_LOAD_SYMBOLS 0x80017 #define BREAKPOINT_UNLOAD_SYMBOLS 0x80018 #define BREAKPOINT_COMMAND_STRING 0x8001a // // IA64 Specific Definitions // #define BREAK_APP_BASE 0x40000 #define BREAK_DEBUG_BASE 0x80000 #define BREAK_SYSCALL_BASE 0x180000 #define BREAK_SYSCALL 0x180000 #define BREAK_FASTSYS_BASE 0x1c0000 #define BREAK_SET_LOW_WAIT_HIGH 0x1c0020 #define BREAK_SET_HIGH_WAIT_LOW 0x1c0010 #define SYSCALL_FRAME 0x0 #define INTERRUPT_FRAME 0x1 #define EXCEPTION_FRAME 0x2 #define CONTEXT_FRAME 0xa // // Miscellaneous Definitions // #define Executive 0x0 #define KernelMode 0x0 #define UserMode 0x1 #define FALSE 0x0 #define TRUE 0x1 #define KiPcr 0xe0000000ffff0000 #define KiPcr2 0xe0000000fffe0000 #define BASE_PRIORITY_THRESHOLD 0x8 #define EVENT_PAIR_INCREMENT 0x1 #define LOW_REALTIME_PRIORITY 0x10 #define KERNEL_STACK_SIZE 0x8000 #define KERNEL_BSTORE_SIZE 0x6000 #define KERNEL_LARGE_STACK_COMMIT 0x8000 #define KERNEL_LARGE_BSTORE_COMMIT 0x6000 #define MI_USER_PROBE_ADDRESS 0x000006fbffff0000 #define MM_EPC_VA 0xe0000000ffa00000 #define THREAD_QUANTUM 0x6 #define CLOCK_QUANTUM_DECREMENT 0x3 #define WAIT_QUANTUM_DECREMENT 0x1 #define READY_SKIP_QUANTUM 0x2 #define ROUND_TRIP_DECREMENT_COUNT 0x10 // // kernel special register frame offset definitions // #define KpsSpecialRegisters 0xa70 #define KsKernelDbI0 0x0 #define KsKernelDbI1 0x8 #define KsKernelDbI2 0x10 #define KsKernelDbI3 0x18 #define KsKernelDbI4 0x20 #define KsKernelDbI5 0x28 #define KsKernelDbI6 0x30 #define KsKernelDbI7 0x38 #define KsKernelDbD0 0x40 #define KsKernelDbD1 0x48 #define KsKernelDbD2 0x50 #define KsKernelDbD3 0x58 #define KsKernelDbD4 0x60 #define KsKernelDbD5 0x68 #define KsKernelDbD6 0x70 #define KsKernelDbD7 0x78 #define KsKernelPfC0 0x80 #define KsKernelPfC1 0x88 #define KsKernelPfC2 0x90 #define KsKernelPfC3 0x98 #define KsKernelPfC4 0xa0 #define KsKernelPfC5 0xa8 #define KsKernelPfC6 0xb0 #define KsKernelPfC7 0xb8 #define KsKernelPfD0 0xc0 #define KsKernelPfD1 0xc8 #define KsKernelPfD2 0xd0 #define KsKernelPfD3 0xd8 #define KsKernelPfD4 0xe0 #define KsKernelPfD5 0xe8 #define KsKernelPfD6 0xf0 #define KsKernelPfD7 0xf8 #define KsIntH16 0x100 #define KsIntH17 0x108 #define KsIntH18 0x110 #define KsIntH19 0x118 #define KsIntH20 0x120 #define KsIntH21 0x128 #define KsIntH22 0x130 #define KsIntH23 0x138 #define KsIntH24 0x140 #define KsIntH25 0x148 #define KsIntH26 0x150 #define KsIntH27 0x158 #define KsIntH28 0x160 #define KsIntH29 0x168 #define KsIntH30 0x170 #define KsIntH31 0x178 #define KsApCPUID0 0x180 #define KsApCPUID1 0x188 #define KsApCPUID2 0x190 #define KsApCPUID3 0x198 #define KsApCPUID4 0x1a0 #define KsApCPUID5 0x1a8 #define KsApCPUID6 0x1b0 #define KsApCPUID7 0x1b8 #define KsApKR0 0x1c0 #define KsApKR1 0x1c8 #define KsApKR2 0x1d0 #define KsApKR3 0x1d8 #define KsApKR4 0x1e0 #define KsApKR5 0x1e8 #define KsApKR6 0x1f0 #define KsApKR7 0x1f8 #define KsApITC 0x200 #define KsApITM 0x208 #define KsApIVA 0x210 #define KsApPTA 0x218 #define KsApGPTA 0x220 #define KsStISR 0x228 #define KsStIFA 0x230 #define KsStITIR 0x238 #define KsStIIPA 0x240 #define KsStIIM 0x248 #define KsStIHA 0x250 #define KsSaLID 0x258 #define KsSaIVR 0x260 #define KsSaTPR 0x268 #define KsSaEOI 0x270 #define KsSaIRR0 0x278 #define KsSaIRR1 0x280 #define KsSaIRR2 0x288 #define KsSaIRR3 0x290 #define KsSaITV 0x298 #define KsSaPMV 0x2a0 #define KsSaCMCV 0x2a8 #define KsSaLRR0 0x2b0 #define KsSaLRR1 0x2b8 #define KsRr0 0x2c0 #define KsRr1 0x2c8 #define KsRr2 0x2d0 #define KsRr3 0x2d8 #define KsRr4 0x2e0 #define KsRr5 0x2e8 #define KsRr6 0x2f0 #define KsRr7 0x2f8 #define KsPkr0 0x300 #define KsPkr1 0x308 #define KsPkr2 0x310 #define KsPkr3 0x318 #define KsPkr4 0x320 #define KsPkr5 0x328 #define KsPkr6 0x330 #define KsPkr7 0x338 #define KsPkr8 0x340 #define KsPkr9 0x348 #define KsPkr10 0x350 #define KsPkr11 0x358 #define KsPkr12 0x360 #define KsPkr13 0x368 #define KsPkr14 0x370 #define KsPkr15 0x378 #define KsTrI0 0x380 #define KsTrI1 0x388 #define KsTrI2 0x390 #define KsTrI3 0x398 #define KsTrI4 0x3a0 #define KsTrI5 0x3a8 #define KsTrI6 0x3b0 #define KsTrI7 0x3b8 #define KsTrD0 0x3c0 #define KsTrD1 0x3c8 #define KsTrD2 0x3d0 #define KsTrD3 0x3d8 #define KsTrD4 0x3e0 #define KsTrD5 0x3e8 #define KsTrD6 0x3f0 #define KsTrD7 0x3f8 #define KsSrMSR0 0x400 #define KsSrMSR1 0x408 #define KsSrMSR2 0x410 #define KsSrMSR3 0x418 #define KsSrMSR4 0x420 #define KsSrMSR5 0x428 #define KsSrMSR6 0x430 #define KsSrMSR7 0x438