VirtualBox

Changeset 50867 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Mar 25, 2014 3:47:45 PM (11 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
92965
Message:

VMM/HMVMXR0: Added hmR0VmxSetPendingXcptGP() and some doxygen fixes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp

    r50856 r50867  
    72957295 *
    72967296 * @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.
    73027304 */
    73037305DECLINLINE(int) hmR0VmxInjectXcptGP(PVMCPU pVCpu, PCPUMCTX pMixedCtx, bool fErrorCodeValid, uint32_t u32ErrorCode,
     
    73107312    return hmR0VmxInjectEventVmcs(pVCpu, pMixedCtx, u32IntInfo, 0 /* cbInstr */, u32ErrorCode, 0 /* GCPtrFaultAddress */,
    73117313                                  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 */
     7327DECLINLINE(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 */);
    73127334}
    73137335
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette