Changeset 47454 in vbox for trunk/src/VBox
- Timestamp:
- Jul 29, 2013 11:03:11 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r47446 r47454 5622 5622 5623 5623 /** 5624 * Saves the guest debug registersfrom the current VMCS into the guest-CPU5624 * Saves the guest debug-register DR7 from the current VMCS into the guest-CPU 5625 5625 * context. 5626 5626 * … … 5632 5632 * 5633 5633 * @remarks No-long-jump zone!!! 5634 * @todo r=bird: Why is this plural when it only saves DR7? I almost jumped to 5635 * the wrong conclusions looking at the I/O code just now (it most likely 5636 * only needs DR7). 5637 */ 5638 static int hmR0VmxSaveGuestDebugRegs(PVMCPU pVCpu, PCPUMCTX pMixedCtx) 5634 */ 5635 static int hmR0VmxSaveGuestDR7(PVMCPU pVCpu, PCPUMCTX pMixedCtx) 5639 5636 { 5640 5637 if (!(pVCpu->hm.s.vmx.fUpdatedGuestState & HMVMX_UPDATED_GUEST_DEBUG)) … … 5708 5705 AssertLogRelMsgRCReturn(rc, ("hmR0VmxSaveGuestTableRegs failed! rc=%Rrc (pVCpu=%p)\n", rc, pVCpu), rc); 5709 5706 5710 rc = hmR0VmxSaveGuestD ebugRegs(pVCpu, pMixedCtx);5711 AssertLogRelMsgRCReturn(rc, ("hmR0VmxSaveGuestD ebugRegsfailed! rc=%Rrc (pVCpu=%p)\n", rc, pVCpu), rc);5707 rc = hmR0VmxSaveGuestDR7(pVCpu, pMixedCtx); 5708 AssertLogRelMsgRCReturn(rc, ("hmR0VmxSaveGuestDR7 failed! rc=%Rrc (pVCpu=%p)\n", rc, pVCpu), rc); 5712 5709 5713 5710 rc = hmR0VmxSaveGuestSysenterMsrs(pVCpu, pMixedCtx); … … 5727 5724 5728 5725 rc = hmR0VmxSaveGuestApicState(pVCpu, pMixedCtx); 5729 AssertLogRelMsgRCReturn(rc, ("hmR0VmxSaveGuest DebugRegsfailed! rc=%Rrc (pVCpu=%p)\n", rc, pVCpu), rc);5726 AssertLogRelMsgRCReturn(rc, ("hmR0VmxSaveGuestApicState failed! rc=%Rrc (pVCpu=%p)\n", rc, pVCpu), rc); 5730 5727 5731 5728 AssertMsg(pVCpu->hm.s.vmx.fUpdatedGuestState == HMVMX_UPDATED_GUEST_ALL, … … 8516 8513 * breakpoints. The whole host & guest debugger stuff needs to be 8517 8514 * looked over at some point. For now, it's just best effort. */ 8518 rc = hmR0VmxSaveGuestD ebugRegs(pVCpu, pMixedCtx); /* For DR7. */8515 rc = hmR0VmxSaveGuestDR7(pVCpu, pMixedCtx); 8519 8516 AssertRCReturn(rc, rc); 8520 8517 uint32_t const uDr7 = pMixedCtx->dr[7]; … … 9032 9029 ASMSetDR6(pMixedCtx->dr[6]); 9033 9030 9034 rc = hmR0VmxSaveGuestD ebugRegs(pVCpu, pMixedCtx);9031 rc = hmR0VmxSaveGuestDR7(pVCpu, pMixedCtx); 9035 9032 9036 9033 /* X86_DR7_GD will be cleared if DRx accesses should be trapped inside the guest. */
Note:
See TracChangeset
for help on using the changeset viewer.