mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
- Update ASM header file with more offsets.
svn path=/trunk/; revision=16649
This commit is contained in:
parent
f25f86cc02
commit
22ef1b4558
1 changed files with 182 additions and 122 deletions
|
@ -1,122 +1,182 @@
|
|||
/*
|
||||
* Definitions for the offsets of members in the KV86M_REGISTERS
|
||||
*/
|
||||
#define KV86M_REGISTERS_EBP (0x0)
|
||||
#define KV86M_REGISTERS_EDI (0x4)
|
||||
#define KV86M_REGISTERS_ESI (0x8)
|
||||
#define KV86M_REGISTERS_EDX (0xC)
|
||||
#define KV86M_REGISTERS_ECX (0x10)
|
||||
#define KV86M_REGISTERS_EBX (0x14)
|
||||
#define KV86M_REGISTERS_EAX (0x18)
|
||||
#define KV86M_REGISTERS_DS (0x1C)
|
||||
#define KV86M_REGISTERS_ES (0x20)
|
||||
#define KV86M_REGISTERS_FS (0x24)
|
||||
#define KV86M_REGISTERS_GS (0x28)
|
||||
#define KV86M_REGISTERS_EIP (0x2C)
|
||||
#define KV86M_REGISTERS_CS (0x30)
|
||||
#define KV86M_REGISTERS_EFLAGS (0x34)
|
||||
#define KV86M_REGISTERS_ESP (0x38)
|
||||
#define KV86M_REGISTERS_SS (0x3C)
|
||||
|
||||
#define TF_SAVED_EXCEPTION_STACK (0x8C)
|
||||
#define TF_REGS (0x90)
|
||||
#define TF_ORIG_EBP (0x94)
|
||||
|
||||
|
||||
/* TSS Offsets */
|
||||
#define KTSS_ESP0 (0x4)
|
||||
#define KTSS_CR3 (0x1C)
|
||||
#define KTSS_EFLAGS (0x24)
|
||||
#define KTSS_IOMAPBASE (0x66)
|
||||
|
||||
/*
|
||||
* Defines for accessing KPCR and KTHREAD structure members
|
||||
*/
|
||||
#define KTHREAD_INITIAL_STACK 0x18
|
||||
#define KTHREAD_STACK_LIMIT 0x1C
|
||||
#define KTHREAD_TEB 0x20
|
||||
#define KTHREAD_KERNEL_STACK 0x28
|
||||
#define KTHREAD_NPX_STATE 0x31
|
||||
#define KTHREAD_STATE 0x2D
|
||||
#define KTHREAD_APCSTATE_PROCESS 0x34 + 0x10
|
||||
#define KTHREAD_PENDING_USER_APC 0x34 + 0x16
|
||||
#define KTHREAD_PENDING_KERNEL_APC 0x34 + 0x15
|
||||
#define KTHREAD_CONTEXT_SWITCHES 0x4C
|
||||
#define KTHREAD_WAIT_IRQL 0x54
|
||||
#define KTHREAD_SERVICE_TABLE 0xDC
|
||||
#define KTHREAD_PREVIOUS_MODE 0x137
|
||||
#define KTHREAD_TRAP_FRAME 0x128
|
||||
#define KTHREAD_CALLBACK_STACK 0x120
|
||||
|
||||
#define KPROCESS_DIRECTORY_TABLE_BASE 0x18
|
||||
#define KPROCESS_LDT_DESCRIPTOR0 0x20
|
||||
#define KPROCESS_LDT_DESCRIPTOR1 0x24
|
||||
#define KPROCESS_IOPM_OFFSET 0x30
|
||||
|
||||
#define KPCR_EXCEPTION_LIST 0x0
|
||||
#define KPCR_INITIAL_STACK 0x4
|
||||
#define KPCR_STACK_LIMIT 0x8
|
||||
#define KPCR_SELF 0x1C
|
||||
#define KPCR_GDT 0x3C
|
||||
#define KPCR_TSS 0x40
|
||||
#define KPCR_CURRENT_THREAD 0x124
|
||||
#define KPCR_NPX_THREAD 0x2F4
|
||||
|
||||
/* FPU Save Area Offsets */
|
||||
#define FN_CONTROL_WORD 0x0
|
||||
#define FN_STATUS_WORD 0x4
|
||||
#define FN_TAG_WORD 0x8
|
||||
#define FN_DATA_SELECTOR 0x18
|
||||
#define FN_CR0_NPX_STATE 0x20C
|
||||
#define SIZEOF_FX_SAVE_AREA 528
|
||||
|
||||
/* Trap Frame Offsets */
|
||||
#define KTRAP_FRAME_DEBUGEBP (0x0)
|
||||
#define KTRAP_FRAME_DEBUGEIP (0x4)
|
||||
#define KTRAP_FRAME_DEBUGARGMARK (0x8)
|
||||
#define KTRAP_FRAME_DEBUGPOINTER (0xC)
|
||||
#define KTRAP_FRAME_TEMPSS (0x10)
|
||||
#define KTRAP_FRAME_TEMPESP (0x14)
|
||||
#define KTRAP_FRAME_DR0 (0x18)
|
||||
#define KTRAP_FRAME_DR1 (0x1C)
|
||||
#define KTRAP_FRAME_DR2 (0x20)
|
||||
#define KTRAP_FRAME_DR3 (0x24)
|
||||
#define KTRAP_FRAME_DR6 (0x28)
|
||||
#define KTRAP_FRAME_DR7 (0x2C)
|
||||
#define KTRAP_FRAME_GS (0x30)
|
||||
#define KTRAP_FRAME_RESERVED1 (0x32)
|
||||
#define KTRAP_FRAME_ES (0x34)
|
||||
#define KTRAP_FRAME_RESERVED2 (0x36)
|
||||
#define KTRAP_FRAME_DS (0x38)
|
||||
#define KTRAP_FRAME_RESERVED3 (0x3A)
|
||||
#define KTRAP_FRAME_EDX (0x3C)
|
||||
#define KTRAP_FRAME_ECX (0x40)
|
||||
#define KTRAP_FRAME_EAX (0x44)
|
||||
#define KTRAP_FRAME_PREVIOUS_MODE (0x48)
|
||||
#define KTRAP_FRAME_EXCEPTION_LIST (0x4C)
|
||||
#define KTRAP_FRAME_FS (0x50)
|
||||
#define KTRAP_FRAME_RESERVED4 (0x52)
|
||||
#define KTRAP_FRAME_EDI (0x54)
|
||||
#define KTRAP_FRAME_ESI (0x58)
|
||||
#define KTRAP_FRAME_EBX (0x5C)
|
||||
#define KTRAP_FRAME_EBP (0x60)
|
||||
#define KTRAP_FRAME_ERROR_CODE (0x64)
|
||||
#define KTRAP_FRAME_EIP (0x68)
|
||||
#define KTRAP_FRAME_CS (0x6C)
|
||||
#define KTRAP_FRAME_EFLAGS (0x70)
|
||||
#define KTRAP_FRAME_ESP (0x74)
|
||||
#define KTRAP_FRAME_SS (0x78)
|
||||
#define KTRAP_FRAME_RESERVED5 (0x7A)
|
||||
#define KTRAP_FRAME_V86_ES (0x7C)
|
||||
#define KTRAP_FRAME_RESERVED6 (0x7E)
|
||||
#define KTRAP_FRAME_V86_DS (0x80)
|
||||
#define KTRAP_FRAME_RESERVED7 (0x82)
|
||||
#define KTRAP_FRAME_V86_FS (0x84)
|
||||
#define KTRAP_FRAME_RESERVED8 (0x86)
|
||||
#define KTRAP_FRAME_V86_GS (0x88)
|
||||
#define KTRAP_FRAME_RESERVED9 (0x8A)
|
||||
#define KTRAP_FRAME_SIZE (0x8C)
|
||||
|
||||
/* User Shared Data */
|
||||
#define KUSER_SHARED_SYSCALL 0x7FFE0300
|
||||
#define KUSER_SHARED_SYSCALL_RET 0x7FFE0304
|
||||
/*
|
||||
* FIXME: Will be moved to main include directory soon
|
||||
*/
|
||||
|
||||
/*
|
||||
* Definitions for the offsets of members in the KV86M_REGISTERS
|
||||
*/
|
||||
#define KV86M_REGISTERS_EBP (0x0)
|
||||
#define KV86M_REGISTERS_EDI (0x4)
|
||||
#define KV86M_REGISTERS_ESI (0x8)
|
||||
#define KV86M_REGISTERS_EDX (0xC)
|
||||
#define KV86M_REGISTERS_ECX (0x10)
|
||||
#define KV86M_REGISTERS_EBX (0x14)
|
||||
#define KV86M_REGISTERS_EAX (0x18)
|
||||
#define KV86M_REGISTERS_DS (0x1C)
|
||||
#define KV86M_REGISTERS_ES (0x20)
|
||||
#define KV86M_REGISTERS_FS (0x24)
|
||||
#define KV86M_REGISTERS_GS (0x28)
|
||||
#define KV86M_REGISTERS_EIP (0x2C)
|
||||
#define KV86M_REGISTERS_CS (0x30)
|
||||
#define KV86M_REGISTERS_EFLAGS (0x34)
|
||||
#define KV86M_REGISTERS_ESP (0x38)
|
||||
#define KV86M_REGISTERS_SS (0x3C)
|
||||
|
||||
#define TF_SAVED_EXCEPTION_STACK (0x8C)
|
||||
#define TF_REGS (0x90)
|
||||
#define TF_ORIG_EBP (0x94)
|
||||
|
||||
|
||||
/* TSS Offsets */
|
||||
#define KTSS_ESP0 (0x4)
|
||||
#define KTSS_CR3 (0x1C)
|
||||
#define KTSS_EFLAGS (0x24)
|
||||
#define KTSS_IOMAPBASE (0x66)
|
||||
|
||||
/*
|
||||
* Defines for accessing KPCR and KTHREAD structure members
|
||||
*/
|
||||
#define KTHREAD_INITIAL_STACK 0x18
|
||||
#define KTHREAD_STACK_LIMIT 0x1C
|
||||
#define KTHREAD_TEB 0x20
|
||||
#define KTHREAD_KERNEL_STACK 0x28
|
||||
#define KTHREAD_NPX_STATE 0x31
|
||||
#define KTHREAD_STATE 0x2D
|
||||
#define KTHREAD_APCSTATE_PROCESS 0x34 + 0x10
|
||||
#define KTHREAD_PENDING_USER_APC 0x34 + 0x16
|
||||
#define KTHREAD_PENDING_KERNEL_APC 0x34 + 0x15
|
||||
#define KTHREAD_CONTEXT_SWITCHES 0x4C
|
||||
#define KTHREAD_WAIT_IRQL 0x54
|
||||
#define KTHREAD_SERVICE_TABLE 0xDC
|
||||
#define KTHREAD_PREVIOUS_MODE 0x137
|
||||
#define KTHREAD_TRAP_FRAME 0x128
|
||||
#define KTHREAD_CALLBACK_STACK 0x120
|
||||
|
||||
#define KPROCESS_DIRECTORY_TABLE_BASE 0x18
|
||||
#define KPROCESS_LDT_DESCRIPTOR0 0x20
|
||||
#define KPROCESS_LDT_DESCRIPTOR1 0x24
|
||||
#define KPROCESS_IOPM_OFFSET 0x30
|
||||
|
||||
#define KPCR_EXCEPTION_LIST 0x0
|
||||
#define KPCR_INITIAL_STACK 0x4
|
||||
#define KPCR_STACK_LIMIT 0x8
|
||||
#define KPCR_SELF 0x1C
|
||||
#define KPCR_GDT 0x3C
|
||||
#define KPCR_TSS 0x40
|
||||
#define KPCR_CURRENT_THREAD 0x124
|
||||
#define KPCR_NPX_THREAD 0x2F4
|
||||
|
||||
/* FPU Save Area Offsets */
|
||||
#define FN_CONTROL_WORD 0x0
|
||||
#define FN_STATUS_WORD 0x4
|
||||
#define FN_TAG_WORD 0x8
|
||||
#define FN_DATA_SELECTOR 0x18
|
||||
#define FN_CR0_NPX_STATE 0x20C
|
||||
#define SIZEOF_FX_SAVE_AREA 528
|
||||
|
||||
/* Trap Frame Offsets */
|
||||
#define KTRAP_FRAME_DEBUGEBP (0x0)
|
||||
#define KTRAP_FRAME_DEBUGEIP (0x4)
|
||||
#define KTRAP_FRAME_DEBUGARGMARK (0x8)
|
||||
#define KTRAP_FRAME_DEBUGPOINTER (0xC)
|
||||
#define KTRAP_FRAME_TEMPSS (0x10)
|
||||
#define KTRAP_FRAME_TEMPESP (0x14)
|
||||
#define KTRAP_FRAME_DR0 (0x18)
|
||||
#define KTRAP_FRAME_DR1 (0x1C)
|
||||
#define KTRAP_FRAME_DR2 (0x20)
|
||||
#define KTRAP_FRAME_DR3 (0x24)
|
||||
#define KTRAP_FRAME_DR6 (0x28)
|
||||
#define KTRAP_FRAME_DR7 (0x2C)
|
||||
#define KTRAP_FRAME_GS (0x30)
|
||||
#define KTRAP_FRAME_RESERVED1 (0x32)
|
||||
#define KTRAP_FRAME_ES (0x34)
|
||||
#define KTRAP_FRAME_RESERVED2 (0x36)
|
||||
#define KTRAP_FRAME_DS (0x38)
|
||||
#define KTRAP_FRAME_RESERVED3 (0x3A)
|
||||
#define KTRAP_FRAME_EDX (0x3C)
|
||||
#define KTRAP_FRAME_ECX (0x40)
|
||||
#define KTRAP_FRAME_EAX (0x44)
|
||||
#define KTRAP_FRAME_PREVIOUS_MODE (0x48)
|
||||
#define KTRAP_FRAME_EXCEPTION_LIST (0x4C)
|
||||
#define KTRAP_FRAME_FS (0x50)
|
||||
#define KTRAP_FRAME_RESERVED4 (0x52)
|
||||
#define KTRAP_FRAME_EDI (0x54)
|
||||
#define KTRAP_FRAME_ESI (0x58)
|
||||
#define KTRAP_FRAME_EBX (0x5C)
|
||||
#define KTRAP_FRAME_EBP (0x60)
|
||||
#define KTRAP_FRAME_ERROR_CODE (0x64)
|
||||
#define KTRAP_FRAME_EIP (0x68)
|
||||
#define KTRAP_FRAME_CS (0x6C)
|
||||
#define KTRAP_FRAME_EFLAGS (0x70)
|
||||
#define KTRAP_FRAME_ESP (0x74)
|
||||
#define KTRAP_FRAME_SS (0x78)
|
||||
#define KTRAP_FRAME_RESERVED5 (0x7A)
|
||||
#define KTRAP_FRAME_V86_ES (0x7C)
|
||||
#define KTRAP_FRAME_RESERVED6 (0x7E)
|
||||
#define KTRAP_FRAME_V86_DS (0x80)
|
||||
#define KTRAP_FRAME_RESERVED7 (0x82)
|
||||
#define KTRAP_FRAME_V86_FS (0x84)
|
||||
#define KTRAP_FRAME_RESERVED8 (0x86)
|
||||
#define KTRAP_FRAME_V86_GS (0x88)
|
||||
#define KTRAP_FRAME_RESERVED9 (0x8A)
|
||||
#define KTRAP_FRAME_SIZE (0x8C)
|
||||
|
||||
/* User Shared Data */
|
||||
#define KUSER_SHARED_DATA 0x7FFE0000
|
||||
#define KUSER_SHARED_PROCESSOR_FEATURES KUSER_SHARED_DATA + 0x274
|
||||
#define KUSER_SHARED_SYSCALL KUSER_SHARED_DATA + 0x300
|
||||
#define KUSER_SHARED_SYSCALL_RET KUSER_SHARED_DATA + 0x304
|
||||
#define PROCESSOR_FEATURE_FXSR KUSER_SHARED_PROCESSOR_FEATURES + 0x4
|
||||
|
||||
/* CONTEXT CONSTANTS */
|
||||
#define CONTEXT_FULL 0x10007
|
||||
#define CONTEXT_FLOATING_POINT 0xF
|
||||
#define CONTEXT_FLAGS 0x0
|
||||
#define CONTEXT_DR6 0x14
|
||||
#define CONTEXT_FLOAT_SAVE 0x1C
|
||||
#define CONTEXT_EDI 0x9C
|
||||
#define CONTEXT_ESI 0xA0
|
||||
#define CONTEXT_EBX 0xA4
|
||||
#define CONTEXT_EDX 0xA8
|
||||
#define CONTEXT_ECX 0xAC
|
||||
#define CONTEXT_EAX 0xB0
|
||||
#define CONTEXT_EBP 0xB4
|
||||
#define CONTEXT_EIP 0xB8
|
||||
#define CONTEXT_ESP 0xC4
|
||||
#define CONTEXT_FLOAT_SAVE_CONTROL_WORD CONTEXT_FLOAT_SAVE + FN_CONTROL_WORD
|
||||
#define CONTEXT_FLOAT_SAVE_STATUS_WORD CONTEXT_FLOAT_SAVE + FN_STATUS_WORD
|
||||
#define CONTEXT_FLOAT_SAVE_TAG_WORD CONTEXT_FLOAT_SAVE + FN_TAG_WORD
|
||||
|
||||
/* TEB CONSTANTS */
|
||||
#define TEB_EXCEPTION_LIST 0x0
|
||||
#define TEB_STACK_BASE 0x4
|
||||
#define TEB_STACK_LIMIT 0x8
|
||||
#define TEB_FIBER_DATA 0x10
|
||||
#define TEB_ACTIVATION_CONTEXT_STACK_POINTER 0x1A8
|
||||
#define TEB_DEALLOCATION_STACK 0xE0C
|
||||
#define TEB_GUARANTEED_STACK_BYTES 0xF78
|
||||
#define TEB_FLS_DATA 0xFB4
|
||||
|
||||
/* FIBER CONSTANTS */
|
||||
#define FIBER_PARAMETER 0x0
|
||||
#define FIBER_EXCEPTION_LIST 0x4
|
||||
#define FIBER_STACK_BASE 0x8
|
||||
#define FIBER_STACK_LIMIT 0xC
|
||||
#define FIBER_DEALLOCATION_STACK 0x10
|
||||
#define FIBER_CONTEXT 0x14
|
||||
#define FIBER_GUARANTEED_STACK_BYTES 0x2E0
|
||||
#define FIBER_FLS_DATA 0x2E4
|
||||
#define FIBER_ACTIVATION_CONTEXT_STACK 0x2E8
|
||||
#define FIBER_CONTEXT_FLAGS FIBER_CONTEXT + CONTEXT_FLAGS
|
||||
#define FIBER_CONTEXT_EAX FIBER_CONTEXT + CONTEXT_EAX
|
||||
#define FIBER_CONTEXT_EBX FIBER_CONTEXT + CONTEXT_EBX
|
||||
#define FIBER_CONTEXT_ECX FIBER_CONTEXT + CONTEXT_ECX
|
||||
#define FIBER_CONTEXT_EDX FIBER_CONTEXT + CONTEXT_EDX
|
||||
#define FIBER_CONTEXT_ESI FIBER_CONTEXT + CONTEXT_ESI
|
||||
#define FIBER_CONTEXT_EDI FIBER_CONTEXT + CONTEXT_EDI
|
||||
#define FIBER_CONTEXT_EBP FIBER_CONTEXT + CONTEXT_EBP
|
||||
#define FIBER_CONTEXT_ESP FIBER_CONTEXT + CONTEXT_ESP
|
||||
#define FIBER_CONTEXT_DR6 FIBER_CONTEXT + CONTEXT_DR6
|
||||
#define FIBER_CONTEXT_FLOAT_SAVE_STATUS_WORD FIBER_CONTEXT + CONTEXT_FLOAT_SAVE_STATUS_WORD
|
||||
#define FIBER_CONTEXT_FLOAT_SAVE_CONTROL_WORD FIBER_CONTEXT + CONTEXT_FLOAT_SAVE_CONTROL_WORD
|
||||
#define FIBER_CONTEXT_FLOAT_SAVE_TAG_WORD FIBER_CONTEXT + CONTEXT_FLOAT_SAVE_TAG_WORD
|
||||
|
|
Loading…
Reference in a new issue