Changeset 59110 in vbox for trunk/src/VBox/VMM/VMMR0
- Timestamp:
- Dec 14, 2015 10:14:27 AM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r59073 r59110 8656 8656 * @param rcVMRun Return code of VMLAUNCH/VMRESUME. 8657 8657 * 8658 * @remarks Called with interrupts disabled, and returns with interrup s enabled!8658 * @remarks Called with interrupts disabled, and returns with interrupts enabled! 8659 8659 * 8660 8660 * @remarks No-long-jump zone!!! This function will however re-enable longjmps … … 8841 8841 * to their core operation. 8842 8842 * 8843 * The goal is to keep the "parent" code lean and mean, so as not to acrifice8843 * The goal is to keep the "parent" code lean and mean, so as not to sacrifice 8844 8844 * any performance for debug and analysis features. 8845 8845 * … … 8851 8851 /** The RIP we started executing at. This is for detecting that we stepped. */ 8852 8852 uint64_t uRipStart; 8853 /** The CS we started exec tuing with. */8853 /** The CS we started executing with. */ 8854 8854 uint16_t uCsStart; 8855 8855 … … 9103 9103 * Process events and probes for VM exits, making sure we get the wanted exits. 9104 9104 * 9105 * Note! This is the reverse of wa ht hmR0VmxHandleExitDtraceEvents does.9105 * Note! This is the reverse of waft hmR0VmxHandleExitDtraceEvents does. 9106 9106 * So, when adding/changing/removing please don't forget to update it. 9107 9107 * … … 9232 9232 SET_CPEU_XBM_IF_EITHER_EN(INSTR_WRMSR, VMX_EXIT_WRMSR, VMX_VMCS_CTRL_PROC_EXEC_USE_MSR_BITMAPS); 9233 9233 SET_ONLY_XBM_IF_EITHER_EN( EXIT_WRMSR, VMX_EXIT_WRMSR); 9234 SET_CPE1_XBM_IF_EITHER_EN(INSTR_MWAIT, VMX_EXIT_MWAIT, VMX_VMCS_CTRL_PROC_EXEC_MWAIT_EXIT); /* par noia */9234 SET_CPE1_XBM_IF_EITHER_EN(INSTR_MWAIT, VMX_EXIT_MWAIT, VMX_VMCS_CTRL_PROC_EXEC_MWAIT_EXIT); /* paranoia */ 9235 9235 SET_ONLY_XBM_IF_EITHER_EN( EXIT_MWAIT, VMX_EXIT_MWAIT); 9236 SET_CPE1_XBM_IF_EITHER_EN(INSTR_MONITOR, VMX_EXIT_MONITOR, VMX_VMCS_CTRL_PROC_EXEC_MONITOR_EXIT); /* par noia */9236 SET_CPE1_XBM_IF_EITHER_EN(INSTR_MONITOR, VMX_EXIT_MONITOR, VMX_VMCS_CTRL_PROC_EXEC_MONITOR_EXIT); /* paranoia */ 9237 9237 SET_ONLY_XBM_IF_EITHER_EN( EXIT_MONITOR, VMX_EXIT_MONITOR); 9238 9238 #if 0 /** @todo too slow, fix handler. */ … … 13137 13137 uint16_t uVector = pDis->Param1.uValue & 0xff; 13138 13138 hmR0VmxSetPendingIntN(pVCpu, pMixedCtx, uVector, pDis->cbInstr); 13139 /* INT clears EFLAGS.TF, we must n't set any pending debug exceptions here. */13139 /* INT clears EFLAGS.TF, we must not set any pending debug exceptions here. */ 13140 13140 STAM_COUNTER_INC(&pVCpu->hm.s.StatExitInt); 13141 13141 break; … … 13147 13147 { 13148 13148 hmR0VmxSetPendingXcptOF(pVCpu, pMixedCtx, pDis->cbInstr); 13149 /* INTO clears EFLAGS.TF, we must n't set any pending debug exceptions here. */13149 /* INTO clears EFLAGS.TF, we must not set any pending debug exceptions here. */ 13150 13150 STAM_COUNTER_INC(&pVCpu->hm.s.StatExitInt); 13151 13151 }
Note:
See TracChangeset
for help on using the changeset viewer.