Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

ia32def.h File Reference

Go to the source code of this file.

Defines

#define KERNELONLY   1
#define EXCEPTION_DIVIDED_BY_ZERO   0
#define EXCEPTION_DEBUG   1
#define EXCEPTION_NMI   2
#define EXCEPTION_INT3   3
#define EXCEPTION_BOUND_CHECK   5
#define EXCEPTION_INVALID_OPCODE   6
#define EXCEPTION_NPX_NOT_AVAILABLE   7
#define EXCEPTION_DOUBLE_FAULT   8
#define EXCEPTION_NPX_OVERRUN   9
#define EXCEPTION_INVALID_TSS   0x0A
#define EXCEPTION_SEGMENT_NOT_PRESENT   0x0B
#define EXCEPTION_STACK_FAULT   0x0C
#define EXCEPTION_GP_FAULT   0x0D
#define EXCEPTION_RESERVED_TRAP   0x0F
#define EXCEPTION_NPX_ERROR   0x010
#define EXCEPTION_ALIGNMENT_CHECK   0x011
#define BREAKPOINT_BREAK   0x00
#define EXCEPT_UNKNOWN_ACCESS   0
#define EXCEPT_LIMIT_ACCESS   0x10
#define ERR_0E_STORE   2
#define DR6_BS_MASK   0x4000
#define EFLAGS_TF_BIT   0x100
#define EFLAGS_OF_BIT   0x4000
#define TABLE_INDICATOR_MASK   4
#define POP_DS   0x01F
#define POP_ES   0x07
#define POP_FS   0x0A10F
#define POP_GS   0x0A90F
#define IRET_OP   0x0CF
#define CLI_OP   0x0FA
#define STI_OP   0x0FB
#define PUSHF_OP   0x09C
#define POPF_OP   0x09D
#define INTNN_OP   0x00CD
#define FRSTOR_ECX   0x0021DD9B
#define FWAIT_OP   0x009b
#define GATE_TYPE_386INT   0x0E00
#define GATE_TYPE_386TRAP   0x0F00
#define GATE_TYPE_TASK   0x0500
#define D_GATE   0
#define D_PRESENT   0x08000
#define D_DPL_3   0x06000
#define D_DPL_0   0
#define D_TRAP032   D_PRESENT+D_DPL_0+D_GATE+GATE_TYPE_386TRAP
#define D_TRAP332   D_PRESENT+D_DPL_3+D_GATE+GATE_TYPE_386TRAP
#define D_INT032   D_PRESENT+D_DPL_0+D_GATE+GATE_TYPE_386INT
#define D_INT332   D_PRESENT+D_DPL_3+D_GATE+GATE_TYPE_386INT
#define D_TASK   D_PRESENT+D_DPL_0+D_GATE+GATE_TYPE_TASK
#define TRAPCODE_TB   0x0004
#define TRAPCODE_SS   0x0008
#define TRAPCODE_B0   0x0010
#define TRAPCODE_B1   0x0020
#define TRAPCODE_B2   0x0040
#define TRAPCODE_B3   0x0080
#define INTERCEPT_OS   0x0002
#define INTERCEPT_AS   0x0004
#define INTERCEPT_LP   0x0008
#define INTERCEPT_RP   0x0010
#define INTERCEPT_NP   0x0020
#define INTERCEPT_SP   0x0040
#define INTERCEPT_SEG   0x0380
#define INTERCEPT_0F   0x0400
#define HARDWARE_VM   0x0800
#define HARDWARE_RM   0x1000
#define HARDWARE_PM   0x2000
#define HARDWARE_SS   0x4000
#define HARDWARE_UR   0x8000
#define MAX_INSTRUCTION_LENGTH   15
#define MAX_INSTRUCTION_PREFIX_LENGTH   4
#define MI_LOCK_PREFIX   0x0F0
#define MI_ADDR_PREFIX   0x067
#define MI_TWO_BYTE   0x0F
#define MI_HLT   0x0F4
#define MI_LTR_LLDT   0
#define MI_LGDT_LIDT_LMSW   0x01
#define MI_MODRM_MASK   0x38
#define MI_LLDT_MASK   0x10
#define MI_LTR_MASK   0x18
#define MI_LGDT_MASK   0x10
#define MI_LIDT_MASK   0x18
#define MI_LMSW_MASK   0x30
#define MI_SPECIAL_MOV_MASK   0x20
#define MI_REP_INS_OUTS   0x0F3
#define MI_MIN_INS_OUTS   0x06C
#define MI_MAX_INS_OUTS   0x06F
#define MI_LMSW_OPCODE   0x001
#define MI_CLTS_OPCODE   0x006
#define MI_GET_CRx_OPCODE   0x020
#define MI_SET_CRx_OPCODE   0x022
#define MI_GET_TRx_OPCODE   0x024
#define MI_SET_TRx_OPCODE   0x026
#define MI_REGMASK   0x038
#define MI_REGSHIFT   0x3
#define MI_REGLMSW   0x030
#define MI_MODMASK   0x0C0
#define MI_MODSHIFT   0x6
#define MI_MODMOVSPEC   0x0C0
#define MI_MODNONE   0
#define MI_RMMASK   0x007
#define MI_RMBP   0x006
#define MI_RMSIB   0x004
#define MI_SIB_BASEMASK   0x007
#define MI_SIB_BASENONE   0x005
#define MI_SIB_BASESHIFT   0
#define MI_SIB_INDEXMASK   0x038
#define MI_SIB_INDEXSHIFT   3
#define MI_SIB_INDEXNONE   0x020
#define MI_SIB_SSMASK   0x0c0
#define MI_SIB_SSSHIFT   0x6
#define FSW_INVALID_OPERATION   0x0001
#define FSW_DENORMAL   0x0002
#define FSW_ZERO_DIVIDE   0x0004
#define FSW_OVERFLOW   0x0008
#define FSW_UNDERFLOW   0x0010
#define FSW_PRECISION   0x0020
#define FSW_STACK_FAULT   0x0040
#define FSW_CONDITION_CODE_0   0x0100
#define FSW_CONDITION_CODE_1   0x0200
#define FSW_CONDITION_CODE_2   0x0400
#define FSW_CONDITION_CODE_3   0x4000
#define FSW_ERR_MASK   (FSW_INVALID_OPERATION | FSW_DENORMAL | FSW_ZERO_DIVIDE | FSW_OVERFLOW | FSW_UNDERFLOW | FSW_PRECISION | FSW_STACK_FAULT)
#define CPL_STATE(SegCs)   (SegCs & RPL_MASK)
#define EIP(frame)   ((ULONG) (frame)->StIIPA & 0xffffffff)
#define ESP(frame)   ((ULONG) (frame)->IntSp & 0xffffffff)
#define ECX(frame)   ((ULONG) (frame)->IntT2 & 0xffffffff)
#define EDX(frame)   ((ULONG) (frame)->IntT3 & 0xffffffff)
#define ISRCode(frame)   ((USHORT) ((frame)->StISR) & 0xffff)
#define ISRVector(frame)   ((UCHAR) ((frame)->StISR >> 16) & 0xff)
#define IF_IA32TRAP_DEBUG(ComponentFlag)   if (FALSE)


Define Documentation

#define BREAKPOINT_BREAK   0x00
 

Definition at line 51 of file ia32def.h.

Referenced by KdIsThisAKdTrap(), KdpTrap(), and KiIA32ExceptionBreak().

#define CLI_OP   0x0FA
 

Definition at line 93 of file ia32def.h.

#define CPL_STATE SegCs   )     (SegCs & RPL_MASK)
 

Definition at line 214 of file ia32def.h.

#define D_DPL_0   0
 

Definition at line 108 of file ia32def.h.

#define D_DPL_3   0x06000
 

Definition at line 107 of file ia32def.h.

#define D_GATE   0
 

Definition at line 105 of file ia32def.h.

#define D_INT032   D_PRESENT+D_DPL_0+D_GATE+GATE_TYPE_386INT
 

Definition at line 116 of file ia32def.h.

#define D_INT332   D_PRESENT+D_DPL_3+D_GATE+GATE_TYPE_386INT
 

Definition at line 117 of file ia32def.h.

#define D_PRESENT   0x08000
 

Definition at line 106 of file ia32def.h.

#define D_TASK   D_PRESENT+D_DPL_0+D_GATE+GATE_TYPE_TASK
 

Definition at line 118 of file ia32def.h.

#define D_TRAP032   D_PRESENT+D_DPL_0+D_GATE+GATE_TYPE_386TRAP
 

Definition at line 114 of file ia32def.h.

#define D_TRAP332   D_PRESENT+D_DPL_3+D_GATE+GATE_TYPE_386TRAP
 

Definition at line 115 of file ia32def.h.

#define DR6_BS_MASK   0x4000
 

Definition at line 69 of file ia32def.h.

#define ECX frame   )     ((ULONG) (frame)->IntT2 & 0xffffffff)
 

Definition at line 219 of file ia32def.h.

Referenced by KiIA32ExceptionBreak().

#define EDX frame   )     ((ULONG) (frame)->IntT3 & 0xffffffff)
 

Definition at line 220 of file ia32def.h.

Referenced by GetCycleCount32(), and KiIA32ExceptionBreak().

#define EFLAGS_OF_BIT   0x4000
 

Definition at line 76 of file ia32def.h.

#define EFLAGS_TF_BIT   0x100
 

Definition at line 75 of file ia32def.h.

Referenced by KiIA32ExceptionBreak(), and KiIA32ExceptionDebug().

#define EIP frame   )     ((ULONG) (frame)->StIIPA & 0xffffffff)
 

Definition at line 217 of file ia32def.h.

Referenced by KiIA32ExceptionAlignmentFault(), KiIA32ExceptionBound(), KiIA32ExceptionBreak(), KiIA32ExceptionDebug(), KiIA32ExceptionDivide(), KiIA32ExceptionFPFault(), KiIA32ExceptionGPFault(), KiIA32ExceptionInvalidOp(), KiIA32ExceptionKNI(), KiIA32ExceptionNoDevice(), KiIA32ExceptionOverflow(), KiIA32ExceptionSegmentNotPresent(), KiIA32ExceptionStack(), KiIA32InterceptGate(), KiIA32InterceptInstruction(), KiIA32InterceptLock(), KiIA32InterceptSystemFlag(), KiIA32InterruptionVectorHandler(), KiIA32InterruptVector(), and NpxNpReadCSEip().

#define ERR_0E_STORE   2
 

Definition at line 63 of file ia32def.h.

#define ESP frame   )     ((ULONG) (frame)->IntSp & 0xffffffff)
 

Definition at line 218 of file ia32def.h.

Referenced by KiIA32ExceptionStack().

#define EXCEPT_LIMIT_ACCESS   0x10
 

Definition at line 57 of file ia32def.h.

Referenced by KiIA32ExceptionStack().

#define EXCEPT_UNKNOWN_ACCESS   0
 

Definition at line 56 of file ia32def.h.

Referenced by KiIA32ExceptionStack().

#define EXCEPTION_ALIGNMENT_CHECK   0x011
 

Definition at line 49 of file ia32def.h.

#define EXCEPTION_BOUND_CHECK   5
 

Definition at line 38 of file ia32def.h.

#define EXCEPTION_DEBUG   1
 

Definition at line 35 of file ia32def.h.

#define EXCEPTION_DIVIDED_BY_ZERO   0
 

Definition at line 34 of file ia32def.h.

#define EXCEPTION_DOUBLE_FAULT   8
 

Definition at line 41 of file ia32def.h.

#define EXCEPTION_GP_FAULT   0x0D
 

Definition at line 46 of file ia32def.h.

#define EXCEPTION_INT3   3
 

Definition at line 37 of file ia32def.h.

#define EXCEPTION_INVALID_OPCODE   6
 

Definition at line 39 of file ia32def.h.

#define EXCEPTION_INVALID_TSS   0x0A
 

Definition at line 43 of file ia32def.h.

#define EXCEPTION_NMI   2
 

Definition at line 36 of file ia32def.h.

#define EXCEPTION_NPX_ERROR   0x010
 

Definition at line 48 of file ia32def.h.

#define EXCEPTION_NPX_NOT_AVAILABLE   7
 

Definition at line 40 of file ia32def.h.

#define EXCEPTION_NPX_OVERRUN   9
 

Definition at line 42 of file ia32def.h.

#define EXCEPTION_RESERVED_TRAP   0x0F
 

Definition at line 47 of file ia32def.h.

#define EXCEPTION_SEGMENT_NOT_PRESENT   0x0B
 

Definition at line 44 of file ia32def.h.

#define EXCEPTION_STACK_FAULT   0x0C
 

Definition at line 45 of file ia32def.h.

#define FRSTOR_ECX   0x0021DD9B
 

Definition at line 98 of file ia32def.h.

#define FSW_CONDITION_CODE_0   0x0100
 

Definition at line 206 of file ia32def.h.

#define FSW_CONDITION_CODE_1   0x0200
 

Definition at line 207 of file ia32def.h.

#define FSW_CONDITION_CODE_2   0x0400
 

Definition at line 208 of file ia32def.h.

#define FSW_CONDITION_CODE_3   0x4000
 

Definition at line 209 of file ia32def.h.

#define FSW_DENORMAL   0x0002
 

Definition at line 200 of file ia32def.h.

Referenced by KiIA32ExceptionNoDevice().

#define FSW_ERR_MASK   (FSW_INVALID_OPERATION | FSW_DENORMAL | FSW_ZERO_DIVIDE | FSW_OVERFLOW | FSW_UNDERFLOW | FSW_PRECISION | FSW_STACK_FAULT)
 

Definition at line 211 of file ia32def.h.

Referenced by KiIA32ExceptionNoDevice().

#define FSW_INVALID_OPERATION   0x0001
 

Definition at line 199 of file ia32def.h.

Referenced by KiIA32ExceptionNoDevice().

#define FSW_OVERFLOW   0x0008
 

Definition at line 202 of file ia32def.h.

Referenced by KiIA32ExceptionNoDevice().

#define FSW_PRECISION   0x0020
 

Definition at line 204 of file ia32def.h.

Referenced by KiIA32ExceptionNoDevice().

#define FSW_STACK_FAULT   0x0040
 

Definition at line 205 of file ia32def.h.

Referenced by KiIA32ExceptionNoDevice().

#define FSW_UNDERFLOW   0x0010
 

Definition at line 203 of file ia32def.h.

Referenced by KiIA32ExceptionNoDevice().

#define FSW_ZERO_DIVIDE   0x0004
 

Definition at line 201 of file ia32def.h.

Referenced by KiIA32ExceptionNoDevice().

#define FWAIT_OP   0x009b
 

Definition at line 99 of file ia32def.h.

#define GATE_TYPE_386INT   0x0E00
 

Definition at line 102 of file ia32def.h.

#define GATE_TYPE_386TRAP   0x0F00
 

Definition at line 103 of file ia32def.h.

#define GATE_TYPE_TASK   0x0500
 

Definition at line 104 of file ia32def.h.

#define HARDWARE_PM   0x2000
 

Definition at line 142 of file ia32def.h.

#define HARDWARE_RM   0x1000
 

Definition at line 141 of file ia32def.h.

#define HARDWARE_SS   0x4000
 

Definition at line 143 of file ia32def.h.

#define HARDWARE_UR   0x8000
 

Definition at line 144 of file ia32def.h.

#define HARDWARE_VM   0x0800
 

Definition at line 140 of file ia32def.h.

#define IF_IA32TRAP_DEBUG ComponentFlag   )     if (FALSE)
 

Definition at line 256 of file ia32def.h.

Referenced by KiIA32ExceptionAlignmentFault(), KiIA32ExceptionBound(), KiIA32ExceptionBreak(), KiIA32ExceptionDebug(), KiIA32ExceptionFPFault(), KiIA32ExceptionGPFault(), KiIA32ExceptionInvalidOp(), KiIA32ExceptionKNI(), KiIA32ExceptionNoDevice(), KiIA32ExceptionOverflow(), KiIA32ExceptionSegmentNotPresent(), KiIA32ExceptionStack(), KiIA32ExceptionVectorHandler(), KiIA32InterceptGate(), KiIA32InterceptInstruction(), KiIA32InterceptionVectorHandler(), KiIA32InterceptLock(), KiIA32InterceptSystemFlag(), KiIA32InterruptionVectorHandler(), and KiIA32InterruptVector().

#define INTERCEPT_0F   0x0400
 

Definition at line 138 of file ia32def.h.

#define INTERCEPT_AS   0x0004
 

Definition at line 132 of file ia32def.h.

#define INTERCEPT_LP   0x0008
 

Definition at line 133 of file ia32def.h.

#define INTERCEPT_NP   0x0020
 

Definition at line 135 of file ia32def.h.

#define INTERCEPT_OS   0x0002
 

Definition at line 131 of file ia32def.h.

#define INTERCEPT_RP   0x0010
 

Definition at line 134 of file ia32def.h.

#define INTERCEPT_SEG   0x0380
 

Definition at line 137 of file ia32def.h.

#define INTERCEPT_SP   0x0040
 

Definition at line 136 of file ia32def.h.

#define INTNN_OP   0x00CD
 

Definition at line 97 of file ia32def.h.

#define IRET_OP   0x0CF
 

Definition at line 92 of file ia32def.h.

#define ISRCode frame   )     ((USHORT) ((frame)->StISR) & 0xffff)
 

Definition at line 222 of file ia32def.h.

Referenced by KiEmulateFloat(), KiIA32ExceptionSegmentNotPresent(), KiIA32ExceptionStack(), KiIA32InterceptGate(), and KiIA32InterceptSystemFlag().

#define ISRVector frame   )     ((UCHAR) ((frame)->StISR >> 16) & 0xff)
 

Definition at line 223 of file ia32def.h.

Referenced by KiIA32ExceptionPanic(), KiIA32ExceptionVectorHandler(), KiIA32InterceptionVectorHandler(), KiIA32InterruptionVectorHandler(), and KiIA32InterruptVector().

#define KERNELONLY   1
 

Definition at line 22 of file ia32def.h.

#define MAX_INSTRUCTION_LENGTH   15
 

Definition at line 149 of file ia32def.h.

#define MAX_INSTRUCTION_PREFIX_LENGTH   4
 

Definition at line 150 of file ia32def.h.

#define MI_ADDR_PREFIX   0x067
 

Definition at line 152 of file ia32def.h.

#define MI_CLTS_OPCODE   0x006
 

Definition at line 168 of file ia32def.h.

#define MI_GET_CRx_OPCODE   0x020
 

Definition at line 169 of file ia32def.h.

#define MI_GET_TRx_OPCODE   0x024
 

Definition at line 171 of file ia32def.h.

#define MI_HLT   0x0F4
 

Definition at line 154 of file ia32def.h.

Referenced by IA32CheckOpcode().

#define MI_LGDT_LIDT_LMSW   0x01
 

Definition at line 156 of file ia32def.h.

Referenced by IA32CheckOpcode().

#define MI_LGDT_MASK   0x10
 

Definition at line 160 of file ia32def.h.

Referenced by IA32CheckOpcode().

#define MI_LIDT_MASK   0x18
 

Definition at line 161 of file ia32def.h.

Referenced by IA32CheckOpcode().

#define MI_LLDT_MASK   0x10
 

Definition at line 158 of file ia32def.h.

Referenced by IA32CheckOpcode().

#define MI_LMSW_MASK   0x30
 

Definition at line 162 of file ia32def.h.

Referenced by IA32CheckOpcode().

#define MI_LMSW_OPCODE   0x001
 

Definition at line 167 of file ia32def.h.

#define MI_LOCK_PREFIX   0x0F0
 

Definition at line 151 of file ia32def.h.

#define MI_LTR_LLDT   0
 

Definition at line 155 of file ia32def.h.

Referenced by IA32CheckOpcode().

#define MI_LTR_MASK   0x18
 

Definition at line 159 of file ia32def.h.

Referenced by IA32CheckOpcode().

#define MI_MAX_INS_OUTS   0x06F
 

Definition at line 166 of file ia32def.h.

#define MI_MIN_INS_OUTS   0x06C
 

Definition at line 165 of file ia32def.h.

#define MI_MODMASK   0x0C0
 

Definition at line 176 of file ia32def.h.

#define MI_MODMOVSPEC   0x0C0
 

Definition at line 178 of file ia32def.h.

#define MI_MODNONE   0
 

Definition at line 179 of file ia32def.h.

#define MI_MODRM_MASK   0x38
 

Definition at line 157 of file ia32def.h.

Referenced by IA32CheckOpcode().

#define MI_MODSHIFT   0x6
 

Definition at line 177 of file ia32def.h.

#define MI_REGLMSW   0x030
 

Definition at line 175 of file ia32def.h.

#define MI_REGMASK   0x038
 

Definition at line 173 of file ia32def.h.

#define MI_REGSHIFT   0x3
 

Definition at line 174 of file ia32def.h.

#define MI_REP_INS_OUTS   0x0F3
 

Definition at line 164 of file ia32def.h.

#define MI_RMBP   0x006
 

Definition at line 181 of file ia32def.h.

#define MI_RMMASK   0x007
 

Definition at line 180 of file ia32def.h.

#define MI_RMSIB   0x004
 

Definition at line 182 of file ia32def.h.

#define MI_SET_CRx_OPCODE   0x022
 

Definition at line 170 of file ia32def.h.

#define MI_SET_TRx_OPCODE   0x026
 

Definition at line 172 of file ia32def.h.

#define MI_SIB_BASEMASK   0x007
 

Definition at line 184 of file ia32def.h.

#define MI_SIB_BASENONE   0x005
 

Definition at line 185 of file ia32def.h.

#define MI_SIB_BASESHIFT   0
 

Definition at line 186 of file ia32def.h.

#define MI_SIB_INDEXMASK   0x038
 

Definition at line 188 of file ia32def.h.

#define MI_SIB_INDEXNONE   0x020
 

Definition at line 190 of file ia32def.h.

#define MI_SIB_INDEXSHIFT   3
 

Definition at line 189 of file ia32def.h.

#define MI_SIB_SSMASK   0x0c0
 

Definition at line 192 of file ia32def.h.

#define MI_SIB_SSSHIFT   0x6
 

Definition at line 193 of file ia32def.h.

#define MI_SPECIAL_MOV_MASK   0x20
 

Definition at line 163 of file ia32def.h.

Referenced by IA32CheckOpcode().

#define MI_TWO_BYTE   0x0F
 

Definition at line 153 of file ia32def.h.

Referenced by IA32CheckOpcode().

#define POP_DS   0x01F
 

Definition at line 88 of file ia32def.h.

#define POP_ES   0x07
 

Definition at line 89 of file ia32def.h.

#define POP_FS   0x0A10F
 

Definition at line 90 of file ia32def.h.

#define POP_GS   0x0A90F
 

Definition at line 91 of file ia32def.h.

#define POPF_OP   0x09D
 

Definition at line 96 of file ia32def.h.

#define PUSHF_OP   0x09C
 

Definition at line 95 of file ia32def.h.

#define STI_OP   0x0FB
 

Definition at line 94 of file ia32def.h.

#define TABLE_INDICATOR_MASK   4
 

Definition at line 82 of file ia32def.h.

#define TRAPCODE_B0   0x0010
 

Definition at line 126 of file ia32def.h.

#define TRAPCODE_B1   0x0020
 

Definition at line 127 of file ia32def.h.

#define TRAPCODE_B2   0x0040
 

Definition at line 128 of file ia32def.h.

#define TRAPCODE_B3   0x0080
 

Definition at line 129 of file ia32def.h.

#define TRAPCODE_SS   0x0008
 

Definition at line 125 of file ia32def.h.

#define TRAPCODE_TB   0x0004
 

Definition at line 124 of file ia32def.h.


Generated on Sat May 15 19:44:07 2004 for test by doxygen 1.3.7