VirtualBox

Changeset 72517 in vbox for trunk


Ignore:
Timestamp:
Jun 11, 2018 2:52:54 PM (7 years ago)
Author:
vboxsync
Message:

IEM: Modified wbinvd for the purpose of SVM intercepting.

Location:
trunk/src/VBox/VMM/VMMAll
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllCImpl.cpp.h

    r72516 r72517  
    60486048    }
    60496049
    6050 #ifdef VBOX_WITH_NESTED_HWVIRT_SVM
    60516050    IEMOP_HLP_SVM_INSTR_INTERCEPT_AND_NRIP(pVCpu, SVM_CTRL_INTERCEPT_INVD, SVM_EXIT_INVD, 0, 0);
    6052 #endif
     6051
     6052    /* We currently take no action here. */
     6053    iemRegAddToRipAndClearRF(pVCpu, cbInstr);
     6054    return VINF_SUCCESS;
     6055}
     6056
     6057
     6058/**
     6059 * Implements WBINVD.
     6060 */
     6061IEM_CIMPL_DEF_0(iemCImpl_wbinvd)
     6062{
     6063    if (pVCpu->iem.s.uCpl != 0)
     6064    {
     6065        Log(("wbinvd: CPL != 0 -> #GP(0)\n"));
     6066        return iemRaiseGeneralProtectionFault0(pVCpu);
     6067    }
     6068
     6069    IEMOP_HLP_SVM_INSTR_INTERCEPT_AND_NRIP(pVCpu, SVM_CTRL_INTERCEPT_WBINVD, SVM_EXIT_WBINVD, 0, 0);
    60536070
    60546071    /* We currently take no action here. */
  • trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsTwoByte0f.cpp.h

    r72516 r72517  
    801801FNIEMOP_DEF(iemOp_wbinvd)
    802802{
    803     IEMOP_MNEMONIC(wbinvd, "wbinvd");
     803    IEMOP_MNEMONIC0(FIXED, WBINVD, wbinvd, DISOPTYPE_PRIVILEGED, 0);
    804804    IEMOP_HLP_MIN_486();
    805805    IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    806     IEM_MC_BEGIN(0, 0);
    807     IEM_MC_RAISE_GP0_IF_CPL_NOT_ZERO();
    808     IEMOP_HLP_SVM_INSTR_INTERCEPT_AND_NRIP(pVCpu, SVM_CTRL_INTERCEPT_WBINVD, SVM_EXIT_WBINVD, 0, 0);
    809     IEM_MC_ADVANCE_RIP();
    810     IEM_MC_END();
    811     return VINF_SUCCESS; /* ignore for now */
     806    return IEM_MC_DEFER_TO_CIMPL_0(iemCImpl_wbinvd);
    812807}
    813808
Note: See TracChangeset for help on using the changeset viewer.

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