VirtualBox

Ignore:
Timestamp:
Mar 3, 2017 1:21:40 PM (8 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
113751
Message:

VMM: Nested Hw.virt: Implemented vmsave, vmload, invlpga in IEM.

File:
1 edited

Legend:

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

    r65904 r65933  
    445445FNIEMOP_UD_STUB(iemOp_Grp7_Amd_vmmcall);
    446446
     447#ifdef VBOX_WITH_NESTED_HWVIRT
     448/** Opcode 0x0f 0x01 0xda. */
     449FNIEMOP_DEF(iemOp_Grp7_Amd_vmload)
     450{
     451    IEMOP_MNEMONIC(vmload, "vmload");
     452    return IEM_MC_DEFER_TO_CIMPL_0(iemCImpl_vmload);
     453}
     454
     455
     456/** Opcode 0x0f 0x01 0xdb. */
     457FNIEMOP_DEF(iemOp_Grp7_Amd_vmsave)
     458{
     459    IEMOP_MNEMONIC(vmsave, "vmsave");
     460    return IEM_MC_DEFER_TO_CIMPL_0(iemCImpl_vmsave);
     461}
     462
     463
     464/** Opcode 0x0f 0x01 0xdc. */
     465FNIEMOP_DEF(iemOp_Grp7_Amd_stgi)
     466{
     467    IEMOP_MNEMONIC(stgi, "stgi");
     468    return IEM_MC_DEFER_TO_CIMPL_0(iemCImpl_stgi);
     469}
     470
     471
     472/** Opcode 0x0f 0x01 0xdd. */
     473FNIEMOP_DEF(iemOp_Grp7_Amd_clgi)
     474{
     475    IEMOP_MNEMONIC(clgi, "clgi");
     476    return IEM_MC_DEFER_TO_CIMPL_0(iemCImpl_clgi);
     477}
     478
     479
     480/** Opcode 0x0f 0x01 0xdf. */
     481FNIEMOP_DEF(iemOp_Grp7_Amd_invlpga)
     482{
     483    IEMOP_MNEMONIC(invlpga, "invlpga");
     484    return IEM_MC_DEFER_TO_CIMPL_0(iemCImpl_invlpga);
     485}
     486#else
    447487/** Opcode 0x0f 0x01 0xda. */
    448488FNIEMOP_UD_STUB(iemOp_Grp7_Amd_vmload);
     
    451491FNIEMOP_UD_STUB(iemOp_Grp7_Amd_vmsave);
    452492
    453 #ifdef VBOX_WITH_NESTED_HWVIRT
    454 /** Opcode 0x0f 0x01 0xdc. */
    455 FNIEMOP_DEF(iemOp_Grp7_Amd_stgi)
    456 {
    457     IEMOP_MNEMONIC(stgi, "stgi");
    458     return IEM_MC_DEFER_TO_CIMPL_0(iemCImpl_stgi);
    459 }
    460 
    461 /** Opcode 0x0f 0x01 0xdd. */
    462 FNIEMOP_DEF(iemOp_Grp7_Amd_clgi)
    463 {
    464     IEMOP_MNEMONIC(clgi, "clgi");
    465     return IEM_MC_DEFER_TO_CIMPL_0(iemCImpl_clgi);
    466 }
    467 #else
    468493/** Opcode 0x0f 0x01 0xdc. */
    469494FNIEMOP_UD_STUB(iemOp_Grp7_Amd_stgi);
     
    471496/** Opcode 0x0f 0x01 0xdd. */
    472497FNIEMOP_UD_STUB(iemOp_Grp7_Amd_clgi);
     498
     499/** Opcode 0x0f 0x01 0xdf. */
     500FNIEMOP_UD_STUB(iemOp_Grp7_Amd_invlpga);
    473501#endif /* VBOX_WITH_NESTED_HWVIRT */
    474502
    475503/** Opcode 0x0f 0x01 0xde. */
    476504FNIEMOP_UD_STUB(iemOp_Grp7_Amd_skinit);
    477 
    478 /** Opcode 0x0f 0x01 0xdf. */
    479 FNIEMOP_UD_STUB(iemOp_Grp7_Amd_invlpga);
    480505
    481506/** Opcode 0x0f 0x01 /4. */
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