Changeset 2756 in vbox for trunk/src/VBox/VMM/VMMR0
- Timestamp:
- May 22, 2007 8:25:23 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HWACCMR0A.asm
r2751 r2756 188 188 push xSI 189 189 190 ; VMX only saves the base of the GDTR & IDTR and resets the limit to 0xffff; we must restore the limit correctly! 191 sub xSP, xS*2 192 sgdt [xSP] 193 194 sub xSP, xS*2 195 sidt [xSP] 196 190 197 ; Save LDTR 191 198 xor eax, eax … … 218 225 jnc .vmxstart_good 219 226 227 ; Restore base and limit of the IDTR & GDTR 228 lidt [xSP] 229 add xSP, xS*2 230 lgdt [xSP] 231 add xSP, xS*2 232 220 233 pop xAX ; saved LDTR 221 234 lldt ax … … 233 246 .vmxstart_good: 234 247 jnz .vmxstart_success 248 249 ; Restore base and limit of the IDTR & GDTR 250 lidt [xSP] 251 add xSP, xS*2 252 lgdt [xSP] 253 add xSP, xS*2 235 254 236 255 pop xAX ; saved LDTR … … 263 282 pop dword [ss:xDI + CPUMCTX.edi] ; the guest edi we pushed above 264 283 %endif 284 285 ; Restore base and limit of the IDTR & GDTR 286 lidt [xSP] 287 add xSP, xS*2 288 lgdt [xSP] 289 add xSP, xS*2 265 290 266 291 pop xAX ; saved LDTR … … 337 362 push xSI 338 363 364 ; VMX only saves the base of the GDTR & IDTR and resets the limit to 0xffff; we must restore the limit correctly! 365 sub xSP, xS*2 366 sgdt [xSP] 367 368 sub xSP, xS*2 369 sidt [xSP] 370 339 371 ; Save LDTR 340 372 xor eax, eax … … 367 399 jnc vmresume_good 368 400 401 ; Restore base and limit of the IDTR & GDTR 402 lidt [xSP] 403 add xSP, xS*2 404 lgdt [xSP] 405 add xSP, xS*2 406 369 407 pop xAX ; saved LDTR 370 408 lldt ax … … 382 420 vmresume_good: 383 421 jnz vmresume_success 422 423 ; Restore base and limit of the IDTR & GDTR 424 lidt [xSP] 425 add xSP, xS*2 426 lgdt [xSP] 427 add xSP, xS*2 384 428 385 429 pop xAX ; saved LDTR … … 412 456 pop dword [ss:xDI + CPUMCTX.edi] ; the guest edi we pushed above 413 457 %endif 458 459 ; Restore base and limit of the IDTR & GDTR 460 lidt [xSP] 461 add xSP, xS*2 462 lgdt [xSP] 463 add xSP, xS*2 414 464 415 465 pop xAX ; saved LDTR
Note:
See TracChangeset
for help on using the changeset viewer.