25 CONSTANT(CR4_XMMEXCPT
),
26 //CONSTANT(CR4_PGE_V),
27 //CONSTANT(CR4_XSAVE),
29 HEADER("KeFeatureBits flags"),
32 CONSTANT(KF_GLOBAL_PAGE
),
33 CONSTANT(KF_LARGE_PAGE
),
34 CONSTANT(KF_CMPXCHG8B
),
35 CONSTANT(KF_FAST_SYSCALL
),
37 //CONSTANT(KF_XSTATE),
39 HEADER("Machine type definitions"),
40 CONSTANT(MACHINE_TYPE_ISA
),
41 CONSTANT(MACHINE_TYPE_EISA
),
42 CONSTANT(MACHINE_TYPE_MCA
),
46 CONSTANT(EFLAGS_INTERRUPT_MASK
),
47 CONSTANT(EFLAGS_V86_MASK
),
48 CONSTANT(EFLAGS_ALIGN_CHECK
),
51 CONSTANT(EFLAGS_USER_SANITIZE
),
53 HEADER("KDGT selectors"),
54 CONSTANT(KGDT_R3_DATA
),
55 CONSTANT(KGDT_R3_CODE
),
56 CONSTANT(KGDT_R0_CODE
),
57 CONSTANT(KGDT_R0_DATA
),
58 CONSTANT(KGDT_R0_PCR
),
59 //CONSTANT(KGDT_STACK16),
60 //CONSTANT(KGDT_CODE16),
62 CONSTANT(KGDT_R3_TEB
),
63 CONSTANT(KGDT_DF_TSS
),
64 CONSTANT(KGDT_NMI_TSS
),
67 CONSTANT(NPX_STATE_NOT_LOADED
),
68 CONSTANT(NPX_STATE_LOADED
),
69 //CONSTANT(NPX_MASK_LAZY),
72 HEADER("VDM constants"),
73 CONSTANT(VDM_INDEX_Invalid),
74 CONSTANT(VDM_INDEX_0F),
75 CONSTANT(VDM_INDEX_ESPrefix),
76 CONSTANT(VDM_INDEX_CSPrefix),
77 CONSTANT(VDM_INDEX_SSPrefix),
78 CONSTANT(VDM_INDEX_DSPrefix),
79 CONSTANT(VDM_INDEX_FSPrefix),
80 CONSTANT(VDM_INDEX_GSPrefix),
81 CONSTANT(VDM_INDEX_OPER32Prefix),
82 CONSTANT(VDM_INDEX_ADDR32Prefix),
83 CONSTANT(VDM_INDEX_INSB),
84 CONSTANT(VDM_INDEX_INSW),
85 CONSTANT(VDM_INDEX_OUTSB),
86 CONSTANT(VDM_INDEX_OUTSW),
87 CONSTANT(VDM_INDEX_PUSHF),
88 CONSTANT(VDM_INDEX_POPF),
89 CONSTANT(VDM_INDEX_INTnn),
90 CONSTANT(VDM_INDEX_INTO),
91 CONSTANT(VDM_INDEX_IRET),
92 CONSTANT(VDM_INDEX_NPX),
93 CONSTANT(VDM_INDEX_INBimm),
94 CONSTANT(VDM_INDEX_INWimm),
95 CONSTANT(VDM_INDEX_OUTBimm),
96 CONSTANT(VDM_INDEX_OUTWimm),
97 CONSTANT(VDM_INDEX_INB),
98 CONSTANT(VDM_INDEX_INW),
99 CONSTANT(VDM_INDEX_OUTB),
100 CONSTANT(VDM_INDEX_OUTW),
101 CONSTANT(VDM_INDEX_LOCKPrefix),
102 CONSTANT(VDM_INDEX_REPNEPrefix),
103 CONSTANT(VDM_INDEX_REPPrefix),
104 CONSTANT(VDM_INDEX_CLI),
105 CONSTANT(VDM_INDEX_STI),
106 CONSTANT(VDM_INDEX_HLT),
107 CONSTANT(MAX_VDM_INDEX),
109 CONSTANT(PF_XMMI_INSTRUCTIONS_AVAILABLE
),
110 CONSTANT(EFLAG_SELECT
),
111 //CONSTANT(IPI_FREEZE),
112 //CONSTANT(XSAVE_PRESENT),
115 OFFSET(CsContextFlags
, CONTEXT
, ContextFlags
),
116 OFFSET(CsDr0
, CONTEXT
, Dr0
),
117 OFFSET(CsDr1
, CONTEXT
, Dr1
),
118 OFFSET(CsDr2
, CONTEXT
, Dr2
),
119 OFFSET(CsDr3
, CONTEXT
, Dr3
),
120 OFFSET(CsDr6
, CONTEXT
, Dr6
),
121 OFFSET(CsDr7
, CONTEXT
, Dr7
),
122 OFFSET(CsFloatSave
, CONTEXT
, FloatSave
),
123 OFFSET(CsSegGs
, CONTEXT
, SegGs
),
124 OFFSET(CsSegFs
, CONTEXT
, SegFs
),
125 OFFSET(CsSegEs
, CONTEXT
, SegEs
),
126 OFFSET(CsSegDs
, CONTEXT
, SegDs
),
127 OFFSET(CsEdi
, CONTEXT
, Edi
),
128 OFFSET(CsEsi
, CONTEXT
, Esi
),
129 OFFSET(CsEbx
, CONTEXT
, Ebx
),
130 OFFSET(CsEdx
, CONTEXT
, Edx
),
131 OFFSET(CsEcx
, CONTEXT
, Ecx
),
132 OFFSET(CsEax
, CONTEXT
, Eax
),
133 OFFSET(CsEbp
, CONTEXT
, Ebp
),
134 OFFSET(CsEip
, CONTEXT
, Eip
),
135 OFFSET(CsSegCs
, CONTEXT
, SegCs
),
136 OFFSET(CsEflags
, CONTEXT
, EFlags
),
137 OFFSET(CsEsp
, CONTEXT
, Esp
),
138 OFFSET(CsSegSs
, CONTEXT
, SegSs
),
139 OFFSET(CsExtendedRegisters
, CONTEXT
, ExtendedRegisters
),
140 SIZE(ContextFrameLength
, CONTEXT
),
141 SIZE(CONTEXT_LENGTH
, CONTEXT
),
144 OFFSET(KgdtBaseLow
, KGDTENTRY
, BaseLow
),
145 OFFSET(KgdtBaseMid
, KGDTENTRY
, HighWord
.Bytes
.BaseMid
),
146 OFFSET(KgdtBaseHi
, KGDTENTRY
, HighWord
.Bytes
.BaseHi
),
147 OFFSET(KgdtLimitHi
, KGDTENTRY
, HighWord
.Bytes
.Flags2
),
148 OFFSET(KgdtLimitLow
, KGDTENTRY
, LimitLow
),
150 HEADER("KTRAP_FRAME"),
151 OFFSET(TsExceptionList
, KTRAP_FRAME
, ExceptionList
),
152 OFFSET(TsPreviousPreviousMode
, KTRAP_FRAME
, PreviousPreviousMode
),
153 OFFSET(TsSegGs
, KTRAP_FRAME
, SegGs
),
154 OFFSET(TsSegFs
, KTRAP_FRAME
, SegFs
),
155 OFFSET(TsSegEs
, KTRAP_FRAME
, SegEs
),
156 OFFSET(TsSegDs
, KTRAP_FRAME
, SegDs
),
157 OFFSET(TsEdi
, KTRAP_FRAME
, Edi
),
158 OFFSET(TsEsi
, KTRAP_FRAME
, Esi
),
159 OFFSET(TsEbp
, KTRAP_FRAME
, Ebp
),
160 OFFSET(TsEbx
, KTRAP_FRAME
, Ebx
),
161 OFFSET(TsEdx
, KTRAP_FRAME
, Edx
),
162 OFFSET(TsEcx
, KTRAP_FRAME
, Ecx
),
163 OFFSET(TsEax
, KTRAP_FRAME
, Eax
),
164 OFFSET(TsErrCode
, KTRAP_FRAME
, ErrCode
),
165 OFFSET(TsEip
, KTRAP_FRAME
, Eip
),
166 OFFSET(TsSegCs
, KTRAP_FRAME
, SegCs
),
167 OFFSET(TsEflags
, KTRAP_FRAME
, EFlags
),
168 OFFSET(TsHardwareEsp
, KTRAP_FRAME
, HardwareEsp
),
169 OFFSET(TsHardwareSegSs
, KTRAP_FRAME
, HardwareSegSs
),
170 OFFSET(TsTempSegCs
, KTRAP_FRAME
, TempSegCs
),
171 //OFFSET(TsLogging, KTRAP_FRAME, Logging),
172 OFFSET(TsTempEsp
, KTRAP_FRAME
, TempEsp
),
173 OFFSET(TsDbgEbp
, KTRAP_FRAME
, DbgEbp
),
174 OFFSET(TsDbgEip
, KTRAP_FRAME
, DbgEip
),
175 OFFSET(TsDbgArgMark
, KTRAP_FRAME
, DbgArgMark
),
176 OFFSET(TsDbgArgPointer
, KTRAP_FRAME
, DbgArgPointer
),
177 OFFSET(TsDr0
, KTRAP_FRAME
, Dr0
),
178 OFFSET(TsDr1
, KTRAP_FRAME
, Dr1
),
179 OFFSET(TsDr2
, KTRAP_FRAME
, Dr2
),
180 OFFSET(TsDr3
, KTRAP_FRAME
, Dr3
),
181 OFFSET(TsDr6
, KTRAP_FRAME
, Dr6
),
182 OFFSET(TsDr7
, KTRAP_FRAME
, Dr7
),
183 OFFSET(TsV86Es
, KTRAP_FRAME
, V86Es
),
184 OFFSET(TsV86Ds
, KTRAP_FRAME
, V86Ds
),
185 OFFSET(TsV86Fs
, KTRAP_FRAME
, V86Fs
),
186 OFFSET(TsV86Gs
, KTRAP_FRAME
, V86Gs
),
187 SIZE(KTRAP_FRAME_LENGTH
, KTRAP_FRAME
),
188 CONSTANT(KTRAP_FRAME_ALIGN
),
189 CONSTANT(FRAME_EDITED
),
192 OFFSET(TssEsp0
, KTSS
, Esp0
),
193 OFFSET(TssCR3
, KTSS
, CR3
),
194 OFFSET(TssEip
, KTSS
, Eip
),
195 OFFSET(TssEFlags
, KTSS
, EFlags
),
196 OFFSET(TssEax
, KTSS
, Eax
),
197 OFFSET(TssEbx
, KTSS
, Ebx
),
198 OFFSET(TssEcx
, KTSS
, Ecx
),
199 OFFSET(TssEdx
, KTSS
, Edx
),
200 OFFSET(TssEsp
, KTSS
, Esp
),
201 OFFSET(TssEbp
, KTSS
, Ebp
),
202 OFFSET(TssEsi
, KTSS
, Esi
),
203 OFFSET(TssEdi
, KTSS
, Edi
),
204 OFFSET(TssEs
, KTSS
, Es
),
205 OFFSET(TssCs
, KTSS
, Cs
),
206 OFFSET(TssSs
, KTSS
, Ss
),
207 OFFSET(TssDs
, KTSS
, Ds
),
208 OFFSET(TssFs
, KTSS
, Fs
),
209 OFFSET(TssGs
, KTSS
, Gs
),
210 OFFSET(TssLDT
, KTSS
, LDT
),
211 OFFSET(TssIoMapBase
, KTSS
, IoMapBase
),
212 OFFSET(TssIoMaps
, KTSS
, IoMaps
),
213 SIZE(TssLength
, KTSS
),