Changeset 64775 in vbox for trunk/src/VBox
- Timestamp:
- Dec 2, 2016 10:26:51 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r64770 r64775 3110 3110 3111 3111 /** 3112 * Saves certain host MSRs in the VM- Exit MSR-load area and some in the3112 * Saves certain host MSRs in the VM-exit MSR-load area and some in the 3113 3113 * host-state area of the VMCS. Theses MSRs will be automatically restored on 3114 3114 * the host after every successful VM-exit. … … 9085 9085 */ 9086 9086 9087 /** 9088 * Transient per-VCPU debug state of VMCS and related info. we save/restore in 9089 * the debug run loop. 9090 */ 9087 9091 typedef struct VMXRUNDBGSTATE 9088 9092 { … … 9114 9118 * configured against. */ 9115 9119 uint32_t uDtraceSettingsSeqNo; 9116 /** Exits to check (one bit perexit). */9120 /** VM-exits to check (one bit per VM-exit). */ 9117 9121 uint32_t bmExitsToCheck[3]; 9118 9122 … … 9221 9225 { 9222 9226 /* 9223 * Restore exit control settings as we may not reenter this function the9227 * Restore VM-exit control settings as we may not reenter this function the 9224 9228 * next time around. 9225 9229 */ … … 9270 9274 * 9271 9275 * This updates @a pDbgState and the VMCS execution control fields to reflect 9272 * the necessary exits demanded by DBGF and DTrace.9276 * the necessary VM-exits demanded by DBGF and DTrace. 9273 9277 * 9274 9278 * @param pVM The cross context VM structure. … … 9344 9348 9345 9349 /* 9346 * Process events and probes for VM exits, making sure we get the wantedexits.9350 * Process events and probes for VM-exits, making sure we get the wanted VM-exits. 9347 9351 * 9348 9352 * Note! This is the reverse of waft hmR0VmxHandleExitDtraceEvents does. … … 9561 9565 9562 9566 /** 9563 * Fires off DBGF events and dtrace probes for an exit, when it's appropriate. 9564 * 9565 * The caller has checked exit against the VMXRUNDBGSTATE::bmExitsToCheck 9566 * bitmap. The caller has checked for NMIs already, so we don't have to do that 9567 * either. 9567 * Fires off DBGF events and dtrace probes for a VM-exit, when it's 9568 * appropriate. 9569 * 9570 * The caller has checked the VM-exit against the 9571 * VMXRUNDBGSTATE::bmExitsToCheck bitmap. The caller has checked for NMIs 9572 * already, so we don't have to do that either. 9568 9573 * 9569 9574 * @returns Strict VBox status code (i.e. informational status codes too). … … 9772 9777 9773 9778 default: 9774 AssertMsgFailed(("Unexpected exit=%#x\n", uExitReason));9779 AssertMsgFailed(("Unexpected VM-exit=%#x\n", uExitReason)); 9775 9780 break; 9776 9781 } … … 9950 9955 * Single-stepping VM-exit filtering. 9951 9956 * 9952 * This is preprocessing the exits and deciding whether we've gotten far enough9953 * to return VINF_EM_DBG_STEPPED already. If not, normal VM-exit handling is9954 * performed.9957 * This is preprocessing the VM-exits and deciding whether we've gotten far 9958 * enough to return VINF_EM_DBG_STEPPED already. If not, normal VM-exit 9959 * handling is performed. 9955 9960 * 9956 9961 * @returns Strict VBox status code (i.e. informational status codes too). … … 9968 9973 { 9969 9974 /* 9970 * Expensive (saves context) generic dtrace exit probe.9975 * Expensive (saves context) generic dtrace VM-exit probe. 9971 9976 */ 9972 9977 if (!VBOXVMM_R0_HMVMX_VMEXIT_ENABLED()) … … 10078 10083 10079 10084 default: 10080 AssertMsgFailed(("Unexpected exit=%#x\n", uExitReason));10085 AssertMsgFailed(("Unexpected VM-exit=%#x\n", uExitReason)); 10081 10086 break; 10082 10087 } … … 10513 10518 return hmR0VmxExitSetPendingXcptUD(pVCpu, pMixedCtx, pVmxTransient); 10514 10519 case VMX_EXIT_RESERVED_60: 10515 case VMX_EXIT_RDSEED: /* only spurious exits, so undefined */10520 case VMX_EXIT_RDSEED: /* only spurious VM-exits, so undefined */ 10516 10521 case VMX_EXIT_RESERVED_62: 10517 10522 default: … … 13170 13175 HM_DISABLE_PREEMPT(); 13171 13176 13172 /* If the guest FPU was active at the time of the #NM exit, then it's a guest fault. */13177 /* If the guest FPU was active at the time of the #NM VM-exit, then it's a guest fault. */ 13173 13178 if (pVmxTransient->fWasGuestFPUStateActive) 13174 13179 {
Note:
See TracChangeset
for help on using the changeset viewer.