VirtualBox

Changeset 45531 in vbox for trunk/src/VBox/VMM/VMMR3


Ignore:
Timestamp:
Apr 13, 2013 9:01:30 AM (12 years ago)
Author:
vboxsync
Message:

VMMR0/HMVMXR0: Redo of VT-x event injection. Some STAM cleanup.
VMM: TRPM enhancements to include instruction-length information for software interrupts and exceptions (#BP, #OF).

Location:
trunk/src/VBox/VMM/VMMR3
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/EMRaw.cpp

    r45485 r45531  
    518518    RTGCUINT        uErrorCode;
    519519    RTGCUINTPTR     uCR2;
    520     int rc = TRPMQueryTrapAll(pVCpu, &u8TrapNo, &enmType, &uErrorCode, &uCR2);
     520    int rc = TRPMQueryTrapAll(pVCpu, &u8TrapNo, &enmType, &uErrorCode, &uCR2, NULL /* pu8InstrLen */);
    521521    if (RT_FAILURE(rc))
    522522    {
     
    754754    else
    755755    {
    756         rc = TRPMQueryTrapAll(pVCpu, &u8TrapNo, &enmType, &uErrorCode, &uCR2);
     756        rc = TRPMQueryTrapAll(pVCpu, &u8TrapNo, &enmType, &uErrorCode, &uCR2, NULL /* pu8InstrLen */);
    757757        if (RT_FAILURE(rc))
    758758        {
  • trunk/src/VBox/VMM/VMMR3/HM.cpp

    r45528 r45531  
    6767    EXIT_REASON(VMX_EXIT_IO_SMI_IRQ         ,  5, "I/O system-management interrupt (SMI)."),
    6868    EXIT_REASON(VMX_EXIT_SMI_IRQ            ,  6, "Other SMI."),
    69     EXIT_REASON(VMX_EXIT_IRQ_WINDOW         ,  7, "Interrupt window."),
     69    EXIT_REASON(VMX_EXIT_INT_WINDOW         ,  7, "Interrupt window."),
    7070    EXIT_REASON_NIL(),
    7171    EXIT_REASON(VMX_EXIT_TASK_SWITCH        ,  9, "Task switch."),
     
    111111    EXIT_REASON(VMX_EXIT_EPT_MISCONFIG      , 49, "EPT misconfiguration. An attempt to access memory with a guest-physical address encountered a misconfigured EPT paging-structure entry."),
    112112    EXIT_REASON(VMX_EXIT_INVEPT             , 50, "INVEPT. Guest software attempted to execute INVEPT."),
    113     EXIT_REASON(VMX_EXIT_RDTSCP             , 51, "Guest software attempted to execute RDTSCP."),
    114     EXIT_REASON(VMX_EXIT_PREEMPT_TIMER      , 52, "VMX-preemption timer expired. The preemption timer counted down to zero."),
     113    EXIT_REASON(VMX_EXIT_RDTSCP             , 51, "RDTSCP. Guest software attempted to execute RDTSCP."),
     114    EXIT_REASON(VMX_EXIT_PREEMPT_TIMER      , 52, "VMX-preemption timer expired."),
    115115    EXIT_REASON(VMX_EXIT_INVVPID            , 53, "INVVPID. Guest software attempted to execute INVVPID."),
    116116    EXIT_REASON(VMX_EXIT_WBINVD             , 54, "WBINVD. Guest software attempted to execute WBINVD."),
  • trunk/src/VBox/VMM/VMMR3/VMMGuruMeditation.cpp

    r44528 r45531  
    300300            RTGCUINT        uErrorCode = 0xdeadface;
    301301            RTGCUINTPTR     uCR2       = 0xdeadface;
    302             int rc2 = TRPMQueryTrapAll(pVCpu, &u8TrapNo, &enmType, &uErrorCode, &uCR2);
     302            uint8_t         cbInstr    = UINT8_MAX;
     303            int rc2 = TRPMQueryTrapAll(pVCpu, &u8TrapNo, &enmType, &uErrorCode, &uCR2, &cbInstr);
    303304            if (!HMIsEnabled(pVM))
    304305            {
    305306                if (RT_SUCCESS(rc2))
    306307                    pHlp->pfnPrintf(pHlp,
    307                                     "!! TRAP=%02x ERRCD=%RGv CR2=%RGv EIP=%RX32 Type=%d\n",
    308                                     u8TrapNo, uErrorCode, uCR2, uEIP, enmType);
     308                                    "!! TRAP=%02x ERRCD=%RGv CR2=%RGv EIP=%RX32 Type=%d cbInstr=%02x\n",
     309                                    u8TrapNo, uErrorCode, uCR2, uEIP, enmType, cbInstr);
    309310                else
    310311                    pHlp->pfnPrintf(pHlp,
     
    314315            else if (RT_SUCCESS(rc2))
    315316                pHlp->pfnPrintf(pHlp,
    316                                 "!! ACTIVE TRAP=%02x ERRCD=%RGv CR2=%RGv PC=%RGr Type=%d (Guest!)\n",
    317                                 u8TrapNo, uErrorCode, uCR2, CPUMGetGuestRIP(pVCpu), enmType);
     317                                "!! ACTIVE TRAP=%02x ERRCD=%RGv CR2=%RGv PC=%RGr Type=%d cbInstr=%02x (Guest!)\n",
     318                                u8TrapNo, uErrorCode, uCR2, CPUMGetGuestRIP(pVCpu), enmType, cbInstr);
    318319
    319320            /*
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