Changeset 50867 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Mar 25, 2014 3:47:45 PM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 92965
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r50856 r50867 7295 7295 * 7296 7296 * @returns VBox status code (informational status code included). 7297 * @param pVCpu Pointer to the VMCPU. 7298 * @param pMixedCtx Pointer to the guest-CPU context. The data may be 7299 * out-of-sync. Make sure to update the required fields 7300 * before using them. 7301 * @param u32ErrorCode The error code associated with the #GP. 7297 * @param pVCpu Pointer to the VMCPU. 7298 * @param pMixedCtx Pointer to the guest-CPU context. The data may be 7299 * out-of-sync. Make sure to update the required fields 7300 * before using them. 7301 * @param fErrorCodeValid Whether the error code is valid (depends on the CPU 7302 * mode, i.e. in real-mode it's not valid). 7303 * @param u32ErrorCode The error code associated with the #GP. 7302 7304 */ 7303 7305 DECLINLINE(int) hmR0VmxInjectXcptGP(PVMCPU pVCpu, PCPUMCTX pMixedCtx, bool fErrorCodeValid, uint32_t u32ErrorCode, … … 7310 7312 return hmR0VmxInjectEventVmcs(pVCpu, pMixedCtx, u32IntInfo, 0 /* cbInstr */, u32ErrorCode, 0 /* GCPtrFaultAddress */, 7311 7313 puIntrState); 7314 } 7315 7316 7317 /** 7318 * Sets a general-protection (#GP) exception as pending-for-injection into the 7319 * VM. 7320 * 7321 * @param pVCpu Pointer to the VMCPU. 7322 * @param pMixedCtx Pointer to the guest-CPU context. The data may be 7323 * out-of-sync. Make sure to update the required fields 7324 * before using them. 7325 * @param u32ErrorCode The error code associated with the #GP. 7326 */ 7327 DECLINLINE(void) hmR0VmxSetPendingXcptGP(PVMCPU pVCpu, PCPUMCTX pMixedCtx, uint32_t u32ErrorCode) 7328 { 7329 NOREF(pMixedCtx); 7330 uint32_t u32IntInfo = X86_XCPT_GP | VMX_EXIT_INTERRUPTION_INFO_VALID; 7331 u32IntInfo |= (VMX_EXIT_INTERRUPTION_INFO_TYPE_HW_XCPT << VMX_EXIT_INTERRUPTION_INFO_TYPE_SHIFT); 7332 u32IntInfo |= VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_VALID; 7333 hmR0VmxSetPendingEvent(pVCpu, u32IntInfo, 0 /* cbInstr */, u32ErrorCode, 0 /* GCPtrFaultAddress */); 7312 7334 } 7313 7335
Note:
See TracChangeset
for help on using the changeset viewer.