VirtualBox

Ignore:
Timestamp:
Apr 27, 2017 12:38:17 PM (8 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
115079
Message:

VMM/IEM: Handle raising of exceptions during delivery of a previous exception or interrupt.
The code takes into account additional info. required by HM for handling recursive exceptions as well.

File:
1 edited

Legend:

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

    r66581 r66686  
    65076507{
    65086508    IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    6509     return IEM_MC_DEFER_TO_CIMPL_2(iemCImpl_int, X86_XCPT_BP, true /*fIsBpInstr*/);
     6509    return IEM_MC_DEFER_TO_CIMPL_2(iemCImpl_int, X86_XCPT_BP, IEMINT_INT3);
    65106510}
    65116511
     
    65186518    uint8_t u8Int; IEM_OPCODE_GET_NEXT_U8(&u8Int);
    65196519    IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    6520     return IEM_MC_DEFER_TO_CIMPL_2(iemCImpl_int, u8Int, false /*fIsBpInstr*/);
     6520    return IEM_MC_DEFER_TO_CIMPL_2(iemCImpl_int, u8Int, IEMINT_INTN);
    65216521}
    65226522
     
    65316531
    65326532    IEM_MC_BEGIN(2, 0);
    6533     IEM_MC_ARG_CONST(uint8_t,   u8Int,      /*=*/ X86_XCPT_OF, 0);
    6534     IEM_MC_ARG_CONST(bool,      fIsBpInstr, /*=*/ false, 1);
    6535     IEM_MC_CALL_CIMPL_2(iemCImpl_int, u8Int, fIsBpInstr);
     6533    IEM_MC_ARG_CONST(uint8_t,   u8Int,  /*=*/ X86_XCPT_OF, 0);
     6534    IEM_MC_ARG_CONST(IEMINT,    enmInt, /*=*/ IEMINT_INTO, 1);
     6535    IEM_MC_CALL_CIMPL_2(iemCImpl_int, u8Int, enmInt);
    65366536    IEM_MC_END();
    65376537    return VINF_SUCCESS;
     
    1059010590    IEMOP_HLP_MIN_386(); /** @todo does not generate #UD on 286, or so they say... */
    1059110591    /** @todo testcase! */
    10592     IEMOP_HLP_SVM_CTRL_INTERCEPT(pVCpu, SVM_CTRL_INTERCEPT_ICEBP, SVM_EXIT_ICEBP, 0, 0);
    10593     return IEM_MC_DEFER_TO_CIMPL_2(iemCImpl_int, X86_XCPT_DB, false /*fIsBpInstr*/);
     10592    return IEM_MC_DEFER_TO_CIMPL_2(iemCImpl_int, X86_XCPT_DB, IEMINT_INT1);
    1059410593}
    1059510594
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