vbox的更動 13960 路徑 trunk/src/VBox/VMM/CPUMInternal.mac
- 時間撮記:
- 2008-11-7 下午01:04:45 (16 年 以前)
- 檔案:
-
- 修改 1 筆資料
圖例:
- 未更動
- 新增
- 刪除
-
trunk/src/VBox/VMM/CPUMInternal.mac
r12657 r13960 50 50 51 51 struc CPUM 52 ; 53 ; Hypervisor Context. 54 ; 55 alignb 64 ; the padding 56 .Hyper.fpu resb FPUSTATE_SIZE 57 58 .Hyper.edi resq 1 59 .Hyper.esi resq 1 60 .Hyper.ebp resq 1 61 .Hyper.eax resq 1 62 .Hyper.ebx resq 1 63 .Hyper.edx resq 1 64 .Hyper.ecx resq 1 65 .Hyper.esp resq 1 66 .Hyper.lss_esp resd 1 67 .Hyper.ss resw 1 68 .Hyper.ssPadding resw 1 69 .Hyper.gs resw 1 70 .Hyper.gsPadding resw 1 71 .Hyper.fs resw 1 72 .Hyper.fsPadding resw 1 73 .Hyper.es resw 1 74 .Hyper.esPadding resw 1 75 .Hyper.ds resw 1 76 .Hyper.dsPadding resw 1 77 .Hyper.cs resw 1 78 .Hyper.csPadding resw 3 79 .Hyper.eflags resq 1 80 .Hyper.eip resq 1 81 .Hyper.r8 resq 1 82 .Hyper.r9 resq 1 83 .Hyper.r10 resq 1 84 .Hyper.r11 resq 1 85 .Hyper.r12 resq 1 86 .Hyper.r13 resq 1 87 .Hyper.r14 resq 1 88 .Hyper.r15 resq 1 89 90 .Hyper.esHid.u64Base resq 1 91 .Hyper.esHid.u32Limit resd 1 92 .Hyper.esHid.Attr resd 1 93 94 .Hyper.csHid.u64Base resq 1 95 .Hyper.csHid.u32Limit resd 1 96 .Hyper.csHid.Attr resd 1 97 98 .Hyper.ssHid.u64Base resq 1 99 .Hyper.ssHid.u32Limit resd 1 100 .Hyper.ssHid.Attr resd 1 101 102 .Hyper.dsHid.u64Base resq 1 103 .Hyper.dsHid.u32Limit resd 1 104 .Hyper.dsHid.Attr resd 1 105 106 .Hyper.fsHid.u64Base resq 1 107 .Hyper.fsHid.u32Limit resd 1 108 .Hyper.fsHid.Attr resd 1 109 110 .Hyper.gsHid.u64Base resq 1 111 .Hyper.gsHid.u32Limit resd 1 112 .Hyper.gsHid.Attr resd 1 113 114 .Hyper.cr0 resq 1 115 .Hyper.cr2 resq 1 116 .Hyper.cr3 resq 1 117 .Hyper.cr4 resq 1 118 119 .Hyper.dr resq 8 120 121 .Hyper.gdtr resb 10 ; GDT limit + linear address 122 .Hyper.gdtrPadding resw 1 123 .Hyper.idtr resb 10 ; IDT limit + linear address 124 .Hyper.idtrPadding resw 1 125 .Hyper.ldtr resw 1 126 .Hyper.ldtrPadding resw 1 127 .Hyper.tr resw 1 128 .Hyper.trPadding resw 1 129 130 .Hyper.SysEnter.cs resb 8 131 .Hyper.SysEnter.eip resb 8 132 .Hyper.SysEnter.esp resb 8 133 134 .Hyper.msrEFER resb 8 135 .Hyper.msrSTAR resb 8 136 .Hyper.msrPAT resb 8 137 .Hyper.msrLSTAR resb 8 138 .Hyper.msrCSTAR resb 8 139 .Hyper.msrSFMASK resb 8 140 .Hyper.msrKERNELGSBASE resb 8 141 142 .Hyper.ldtrHid.u64Base resq 1 143 .Hyper.ldtrHid.u32Limit resd 1 144 .Hyper.ldtrHid.Attr resd 1 145 146 .Hyper.trHid.u64Base resq 1 147 .Hyper.trHid.u32Limit resd 1 148 .Hyper.trHid.Attr resd 1 149 150 ; 151 ; Other stuff. 152 ; 153 alignb 64 154 ; hypervisor core context. 155 .pHyperCoreR3 RTR3PTR_RES 1 156 .pHyperCoreR0 RTR0PTR_RES 1 157 .pHyperCoreRC RTRCPTR_RES 1 158 ;... 159 .ulOffCPUMCPU resd 1 160 .fValidHiddenSelRegs resd 1 161 162 ; CPUID eax=1 163 .CPUFeatures.edx resd 1 164 .CPUFeatures.ecx resd 1 165 166 ; CPUID eax=0x80000001 167 .CPUFeaturesExt.edx resd 1 168 .CPUFeaturesExt.ecx resd 1 169 170 .enmCPUVendor resd 1 171 172 ; CR4 masks 173 .CR4.AndMask resd 1 174 .CR4.OrMask resd 1 175 ; entered rawmode? 176 .fRawEntered resb 1 177 %if RTHCPTR_CB == 8 178 .abPadding resb 7 179 %else 180 .abPadding resb 3 181 %endif 182 183 ; CPUID leafs 184 .aGuestCpuIdStd resb 16*6 185 .aGuestCpuIdExt resb 16*10 186 .aGuestCpuIdCentaur resb 16*4 187 .GuestCpuIdDef resb 16 188 189 alignb 64 190 ; CPUMCTX debug stuff... 191 .GuestEntry resb 1024 192 endstruc 193 194 struc CPUMCPU 52 195 ; 53 196 ; Host context state … … 160 303 %endif ; 64-bit 161 304 162 163 ;164 ; Hypervisor Context.165 ;166 alignb 64 ; the padding167 .Hyper.fpu resb FPUSTATE_SIZE168 169 .Hyper.edi resq 1170 .Hyper.esi resq 1171 .Hyper.ebp resq 1172 .Hyper.eax resq 1173 .Hyper.ebx resq 1174 .Hyper.edx resq 1175 .Hyper.ecx resq 1176 .Hyper.esp resq 1177 .Hyper.lss_esp resd 1178 .Hyper.ss resw 1179 .Hyper.ssPadding resw 1180 .Hyper.gs resw 1181 .Hyper.gsPadding resw 1182 .Hyper.fs resw 1183 .Hyper.fsPadding resw 1184 .Hyper.es resw 1185 .Hyper.esPadding resw 1186 .Hyper.ds resw 1187 .Hyper.dsPadding resw 1188 .Hyper.cs resw 1189 .Hyper.csPadding resw 3190 .Hyper.eflags resq 1191 .Hyper.eip resq 1192 .Hyper.r8 resq 1193 .Hyper.r9 resq 1194 .Hyper.r10 resq 1195 .Hyper.r11 resq 1196 .Hyper.r12 resq 1197 .Hyper.r13 resq 1198 .Hyper.r14 resq 1199 .Hyper.r15 resq 1200 201 .Hyper.esHid.u64Base resq 1202 .Hyper.esHid.u32Limit resd 1203 .Hyper.esHid.Attr resd 1204 205 .Hyper.csHid.u64Base resq 1206 .Hyper.csHid.u32Limit resd 1207 .Hyper.csHid.Attr resd 1208 209 .Hyper.ssHid.u64Base resq 1210 .Hyper.ssHid.u32Limit resd 1211 .Hyper.ssHid.Attr resd 1212 213 .Hyper.dsHid.u64Base resq 1214 .Hyper.dsHid.u32Limit resd 1215 .Hyper.dsHid.Attr resd 1216 217 .Hyper.fsHid.u64Base resq 1218 .Hyper.fsHid.u32Limit resd 1219 .Hyper.fsHid.Attr resd 1220 221 .Hyper.gsHid.u64Base resq 1222 .Hyper.gsHid.u32Limit resd 1223 .Hyper.gsHid.Attr resd 1224 225 .Hyper.cr0 resq 1226 .Hyper.cr2 resq 1227 .Hyper.cr3 resq 1228 .Hyper.cr4 resq 1229 230 .Hyper.dr resq 8231 232 .Hyper.gdtr resb 10 ; GDT limit + linear address233 .Hyper.gdtrPadding resw 1234 .Hyper.idtr resb 10 ; IDT limit + linear address235 .Hyper.idtrPadding resw 1236 .Hyper.ldtr resw 1237 .Hyper.ldtrPadding resw 1238 .Hyper.tr resw 1239 .Hyper.trPadding resw 1240 241 .Hyper.SysEnter.cs resb 8242 .Hyper.SysEnter.eip resb 8243 .Hyper.SysEnter.esp resb 8244 245 .Hyper.msrEFER resb 8246 .Hyper.msrSTAR resb 8247 .Hyper.msrPAT resb 8248 .Hyper.msrLSTAR resb 8249 .Hyper.msrCSTAR resb 8250 .Hyper.msrSFMASK resb 8251 .Hyper.msrKERNELGSBASE resb 8252 253 .Hyper.ldtrHid.u64Base resq 1254 .Hyper.ldtrHid.u32Limit resd 1255 .Hyper.ldtrHid.Attr resd 1256 257 .Hyper.trHid.u64Base resq 1258 .Hyper.trHid.u32Limit resd 1259 .Hyper.trHid.Attr resd 1260 261 262 305 ; 263 306 ; Guest context state … … 359 402 .Guest.trHid.Attr resd 1 360 403 361 362 ;363 ; Other stuff.364 ;365 alignb 64366 ; hypervisor core context.367 .pHyperCoreR3 RTR3PTR_RES 1368 .pHyperCoreR0 RTR0PTR_RES 1369 .pHyperCoreRC RTRCPTR_RES 1370 ;...371 404 .fUseFlags resd 1 372 405 .fChanged resd 1 373 .fValidHiddenSelRegs resd 1 374 375 ; CPUID eax=1 376 .CPUFeatures.edx resd 1 377 .CPUFeatures.ecx resd 1 378 379 ; CPUID eax=0x80000001 380 .CPUFeaturesExt.edx resd 1 381 .CPUFeaturesExt.ecx resd 1 382 383 .enmCPUVendor resd 1 384 385 ; CR4 masks 386 .CR4.AndMask resd 1 387 .CR4.OrMask resd 1 388 ; entered rawmode? 389 .fRawEntered resb 1 390 %if RTHCPTR_CB == 8 391 .abPadding resb 7 392 %else 393 .abPadding resb 3 394 %endif 395 396 ; CPUID leafs 397 .aGuestCpuIdStd resb 16*6 398 .aGuestCpuIdExt resb 16*10 399 .aGuestCpuIdCentaur resb 16*4 400 .GuestCpuIdDef resb 16 401 402 alignb 64 403 ; CPUMCTX debug stuff... 404 .GuestEntry resb 1024 406 .ulOffCPUM resd 1 407 .uPadding resd 1 405 408 endstruc 406 409 410 411 ;; 412 ; Converts the CPUM pointer to CPUMCPU (for the first VMCPU) 413 ; @param %1 register name 414 %macro CPUMCPU_FROM_CPUM 1 415 add %1, [%1 + CPUM.ulOffCPUMCPU] 416 %endmacro 417 418 ;; 419 ; Converts the CPUMCPU pointer to CPUM (for the first VMCPU) 420 ; @param %1 register name 421 %macro CPUM_FROM_CPUMCPU 1 422 sub %1, [%1 + CPUMCPU.ulOffCPUM] 423 %endmacro
注意:
瀏覽 TracChangeset
來幫助您使用更動檢視器