Changeset 45378 in vbox
- Timestamp:
- Apr 5, 2013 2:43:12 PM (11 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 4 edited
-
VMMR0/HMR0.cpp (modified) (5 diffs)
-
VMMR0/HWVMXR0.cpp (modified) (3 diffs)
-
VMMR3/HM.cpp (modified) (3 diffs)
-
include/HMInternal.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMR0.cpp
r45091 r45378 1400 1400 PCPUMCTX pCtx = CPUMQueryGuestCtxPtr(pVCpu); 1401 1401 1402 #ifdef VBOX_WITH_OLD_VTX_CODE 1402 1403 /* Always load the guest's FPU/XMM state on-demand. */ 1403 1404 CPUMDeactivateGuestFPUState(pVCpu); … … 1405 1406 /* Always load the guest's debug state on-demand. */ 1406 1407 CPUMDeactivateGuestDebugState(pVCpu); 1407 1408 /* Always reload the host context and the guest's CR0 register. (!!!!) */ 1408 #else 1409 Assert(!CPUMIsGuestFPUStateActive(pVCpu)); 1410 Assert(!CPUMIsGuestDebugStateActive(pVCpu)); 1411 #endif 1412 1413 /* Always reload the host context and the guest's CR0 register (for the FPU bits). */ 1409 1414 pVCpu->hm.s.fContextUseFlags |= HM_CHANGED_GUEST_CR0 | HM_CHANGED_HOST_CONTEXT; 1410 1415 … … 1471 1476 AssertReturn(!ASMAtomicReadBool(&g_HvmR0.fSuspended), VERR_HM_SUSPEND_PENDING); 1472 1477 1478 /* The new code does FPU restoration in the VMX R0 code. */ 1479 #ifdef VBOX_WITH_OLD_VTX_CODE 1473 1480 /* 1474 1481 * Save the guest FPU and XMM state if necessary. … … 1487 1494 Assert(!CPUMIsGuestFPUStateActive(pVCpu)); 1488 1495 } 1496 #endif 1489 1497 1490 1498 rc = g_HvmR0.pfnLeaveSession(pVM, pVCpu, pCtx); … … 1494 1502 time it executes code. */ 1495 1503 if ( pVM->hm.s.fNestedPaging 1496 && CPUMIsGuestInPagedProtectedModeEx(pCtx)) 1504 #ifdef VBOX_WITH_OLD_VTX_CODE 1505 && CPUMIsGuestInPagedProtectedModeEx(pCtx) 1506 #else 1507 && CPUMIsGuestPagingEnabledEx(pCtx) 1508 #endif 1509 ) 1510 { 1497 1511 CPUMSetChangedFlags(pVCpu, CPUM_CHANGED_GLOBAL_TLB_FLUSH); 1512 } 1498 1513 1499 1514 /* Keep track of the CPU owning the VMCS for debugging scheduling weirdness -
trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp
r45305 r45378 1748 1748 * shortly before a VM entry and execution MUST NOT be rescheduled between a call to 1749 1749 * this function and a VM entry without calling this function again. 1750 * 1750 * 1751 1751 * @returns VBox status code. 1752 1752 * @param pVM Pointer to the VM. … … 1827 1827 int rc = VINF_SUCCESS; 1828 1828 RTGCUINTPTR val; 1829 1830 STAM_PROFILE_ADV_START(&pVCpu->hm.s.StatLoadGuestState, x); 1829 1831 1830 1832 /* … … 2420 2422 /* Minimal guest state update (ESP, EIP, EFLAGS mostly) */ 2421 2423 VMXR0LoadMinimalGuestState(pVM, pVCpu, pCtx); 2424 2425 STAM_PROFILE_ADV_STOP(&pVCpu->hm.s.StatLoadGuestState, x); 2422 2426 return rc; 2423 2427 } -
trunk/src/VBox/VMM/VMMR3/HM.cpp
r45349 r45378 487 487 "/PROF/HM/CPU%d/StatEntry", i); 488 488 AssertRC(rc); 489 /** @todo r=ramshankar: should be sorted out for the new-code which doesn't490 * have 2 exit parts. */491 489 rc = STAMR3RegisterF(pVM, &pVCpu->hm.s.StatExit1, STAMTYPE_PROFILE, STAMVISIBILITY_USED, STAMUNIT_TICKS_PER_CALL, 492 490 "Profiling of VMXR0RunGuestCode exit part 1", … … 497 495 "/PROF/HM/CPU%d/SwitchFromGC_2", i); 498 496 AssertRC(rc); 499 # if 1 /* temporary for tracking down darwin holdup. */ 497 # ifdef VBOX_WITH_OLD_VTX_CODE 498 /* temporary for tracking down darwin holdup. */ 500 499 rc = STAMR3RegisterF(pVM, &pVCpu->hm.s.StatExit2Sub1, STAMTYPE_PROFILE, STAMVISIBILITY_USED, STAMUNIT_TICKS_PER_CALL, 501 500 "Temporary - I/O", … … 511 510 AssertRC(rc); 512 511 # endif 512 rc = STAMR3RegisterF(pVM, &pVCpu->hm.s.StatLoadGuestState, STAMTYPE_PROFILE, STAMVISIBILITY_USED, STAMUNIT_TICKS_PER_CALL, 513 "Profiling of VMXR0LoadGuestState", 514 "/PROF/HM/CPU%d/StatLoadGuestState", i); 515 AssertRC(rc); 513 516 rc = STAMR3RegisterF(pVM, &pVCpu->hm.s.StatInGC, STAMTYPE_PROFILE, STAMVISIBILITY_USED, STAMUNIT_TICKS_PER_CALL, 514 "Profiling of vmlaunch ",517 "Profiling of vmlaunch/vmresume", 515 518 "/PROF/HM/CPU%d/InGC", i); 516 519 AssertRC(rc); -
trunk/src/VBox/VMM/include/HMInternal.h
r45351 r45378 789 789 STAMPROFILEADV StatExit1; 790 790 STAMPROFILEADV StatExit2; 791 #if 1/* temporary for tracking down darwin issues. */791 #ifdef VBOX_WITH_OLD_VTX_CODE /* temporary for tracking down darwin issues. */ 792 792 STAMPROFILEADV StatExit2Sub1; 793 793 STAMPROFILEADV StatExit2Sub2; 794 794 STAMPROFILEADV StatExit2Sub3; 795 795 #endif 796 STAMPROFILEADV StatLoadGuestState; 796 797 STAMPROFILEADV StatInGC; 797 798
Note:
See TracChangeset
for help on using the changeset viewer.

