VirtualBox

Changeset 77902 in vbox for trunk/src/VBox/VMM/VMMAll


Ignore:
Timestamp:
Mar 27, 2019 8:49:11 AM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
129611
Message:

VMM: Fix HMSvmEventToTrpmEventType to convert #BP and #OF to TRPM_SOFTWARE_INT.

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

Legend:

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

    r77714 r77902  
    437437 *
    438438 * @param   pEvent       Pointer to the SVM event.
    439  */
    440 VMM_INT_DECL(TRPMEVENT) HMSvmEventToTrpmEventType(PCSVMEVENT pEvent)
     439 * @param   uVector      The vector associated with the event.
     440 */
     441VMM_INT_DECL(TRPMEVENT) HMSvmEventToTrpmEventType(PCSVMEVENT pEvent, uint8_t uVector)
    441442{
    442443    uint8_t const uType = pEvent->n.u3Type;
     
    445446        case SVM_EVENT_EXTERNAL_IRQ:    return TRPM_HARDWARE_INT;
    446447        case SVM_EVENT_SOFTWARE_INT:    return TRPM_SOFTWARE_INT;
     448        case SVM_EVENT_NMI:             return TRPM_TRAP;
    447449        case SVM_EVENT_EXCEPTION:
    448         case SVM_EVENT_NMI:             return TRPM_TRAP;
     450        {
     451            if (   uVector == X86_XCPT_BP
     452                || uVector == X86_XCPT_OF)
     453                return TRPM_SOFTWARE_INT;
     454            return TRPM_TRAP;
     455        }
    449456        default:
    450457            break;
  • trunk/src/VBox/VMM/VMMAll/IEMAllCImplSvmInstr.cpp.h

    r76993 r77902  
    769769        {
    770770            uint8_t   const uVector    = pEventInject->n.u8Vector;
    771             TRPMEVENT const enmType    = HMSvmEventToTrpmEventType(pEventInject);
     771            TRPMEVENT const enmType    = HMSvmEventToTrpmEventType(pEventInject, uVector);
    772772            uint16_t  const uErrorCode = pEventInject->n.u1ErrorCodeValid ? pEventInject->n.u32ErrorCode : 0;
    773773
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