Changeset 45485 in vbox for trunk/src/VBox/VMM/VMMRC/SELMRC.cpp
- Timestamp:
- Apr 11, 2013 2:46:04 PM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 84947
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMRC/SELMRC.cpp
r45276 r45485 35 35 #include <iprt/asm.h> 36 36 37 #include "SELMInline.h" 38 37 39 38 40 /******************************************************************************* … … 43 45 static char const g_aszSRegNms[X86_SREG_COUNT][4] = { "ES", "CS", "SS", "DS", "FS", "GS" }; 44 46 #endif 47 45 48 46 49 #ifdef SELM_TRACK_GUEST_GDT_CHANGES … … 308 311 #endif /* SELM_TRACK_GUEST_GDT_CHANGES */ 309 312 313 310 314 #ifdef SELM_TRACK_GUEST_LDT_CHANGES 311 315 /** … … 332 336 } 333 337 #endif 338 334 339 335 340 #ifdef SELM_TRACK_GUEST_TSS_CHANGES … … 407 412 } 408 413 #ifdef VBOX_WITH_RAW_RING1 409 else 410 if ( EMIsRawRing1Enabled(pVM) 411 && PAGE_ADDRESS(&pGuestTss->esp1) == PAGE_ADDRESS(&pGuestTss->padding_ss1) 412 && PAGE_ADDRESS(&pGuestTss->esp1) == PAGE_ADDRESS((uint8_t *)pGuestTss + offRange) 413 && ( pGuestTss->esp1 != pVM->selm.s.Tss.esp2 414 || pGuestTss->ss1 != ((pVM->selm.s.Tss.ss2 & ~2) | 1)) /* undo raw-r1 */ 415 ) 414 else if ( EMIsRawRing1Enabled(pVM) 415 && PAGE_ADDRESS(&pGuestTss->esp1) == PAGE_ADDRESS(&pGuestTss->padding_ss1) 416 && PAGE_ADDRESS(&pGuestTss->esp1) == PAGE_ADDRESS((uint8_t *)pGuestTss + offRange) 417 && ( pGuestTss->esp1 != pVM->selm.s.Tss.esp2 418 || pGuestTss->ss1 != ((pVM->selm.s.Tss.ss2 & ~2) | 1)) /* undo raw-r1 */ 419 ) 416 420 { 417 421 Log(("selmRCGuestTSSWriteHandler: R1 stack: %RTsel:%RGv -> %RTsel:%RGv\n", … … 513 517 #endif /* SELM_TRACK_GUEST_TSS_CHANGES */ 514 518 519 515 520 #ifdef SELM_TRACK_SHADOW_GDT_CHANGES 516 521 /** … … 534 539 #endif 535 540 541 536 542 #ifdef SELM_TRACK_SHADOW_LDT_CHANGES 537 543 /** … … 556 562 #endif 557 563 564 558 565 #ifdef SELM_TRACK_SHADOW_TSS_CHANGES 559 566 /**
Note:
See TracChangeset
for help on using the changeset viewer.