Changeset 73620 in vbox for trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
- Timestamp:
- Aug 10, 2018 3:04:31 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r73617 r73620 5812 5812 5813 5813 5814 /**5815 * Sets an overflow (\#OF) exception as pending-for-injection into the VM.5816 *5817 * @param pVCpu The cross context virtual CPU structure.5818 * @param cbInstr The value of RIP that is to be pushed on the guest5819 * stack.5820 */5821 DECLINLINE(void) hmR0VmxSetPendingXcptOF(PVMCPU pVCpu, uint32_t cbInstr)5822 {5823 uint32_t const u32IntInfo = RT_BF_MAKE(VMX_BF_ENTRY_INT_INFO_VECTOR, X86_XCPT_OF)5824 | RT_BF_MAKE(VMX_BF_ENTRY_INT_INFO_TYPE, VMX_EXIT_INT_INFO_TYPE_SW_INT)5825 | RT_BF_MAKE(VMX_BF_ENTRY_INT_INFO_ERR_CODE_VALID, 0)5826 | RT_BF_MAKE(VMX_BF_ENTRY_INT_INFO_VALID, 1);5827 hmR0VmxSetPendingEvent(pVCpu, u32IntInfo, cbInstr, 0 /* u32ErrCode */, 0 /* GCPtrFaultAddress */);5828 }5829 5830 5831 5814 #ifdef VBOX_WITH_NESTED_HWVIRT_VMX 5832 5815 /** … … 7768 7751 return hmR0VmxInjectEventVmcs(pVCpu, u32IntInfo, 0 /* cbInstr */, u32ErrorCode, 0 /* GCPtrFaultAddress */, fStepping, 7769 7752 pfIntrState); 7770 }7771 7772 7773 /**7774 * Sets a software interrupt (INTn) as pending-for-injection into the VM.7775 *7776 * @param pVCpu The cross context virtual CPU structure.7777 * @param uVector The software interrupt vector number.7778 * @param cbInstr The value of RIP that is to be pushed on the guest7779 * stack.7780 */7781 DECLINLINE(void) hmR0VmxSetPendingIntN(PVMCPU pVCpu, uint16_t uVector, uint32_t cbInstr)7782 {7783 bool const fIsSwXcpt = RT_BOOL(uVector == X86_XCPT_BP || uVector == X86_XCPT_OF);7784 uint32_t const u32IntType = fIsSwXcpt ? VMX_EXIT_INT_INFO_TYPE_SW_XCPT : VMX_EXIT_INT_INFO_TYPE_SW_INT;7785 uint32_t const u32IntInfo = uVector | VMX_EXIT_INT_INFO_VALID7786 | (u32IntType << VMX_EXIT_INT_INFO_TYPE_SHIFT);7787 hmR0VmxSetPendingEvent(pVCpu, u32IntInfo, cbInstr, 0 /* u32ErrCode */, 0 /* GCPtrFaultAddress */);7788 7753 } 7789 7754
Note:
See TracChangeset
for help on using the changeset viewer.