VirtualBox

Changeset 10542 in vbox


Ignore:
Timestamp:
Jul 11, 2008 6:03:56 PM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
33230
Message:

Go directly to the halted state when encountering a hlt instruction with VT-x and AMD-V.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HWSVMR0.cpp

    r10537 r10542  
    17481748    case SVM_EXIT_HLT:
    17491749        /** Check if external interrupts are pending; if so, don't switch back. */
     1750        pCtx->rip++;    /* skip hlt */
    17501751        if (    pCtx->eflags.Bits.u1IF
    17511752            &&  VM_FF_ISPENDING(pVM, (VM_FF_INTERRUPT_APIC|VM_FF_INTERRUPT_PIC)))
    17521753        {
    1753             pCtx->rip++;    /* skip hlt */
    17541754            goto ResumeExecution;
    17551755        }
    1756 
    1757         rc = VINF_EM_RAW_EMULATE_INSTR_HLT;
     1756        rc = VINF_EM_HALT;
    17581757        break;
    17591758
  • trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp

    r10537 r10542  
    20342034    case VMX_EXIT_HLT:                  /* 12 Guest software attempted to execute HLT. */
    20352035        /** Check if external interrupts are pending; if so, don't switch back. */
     2036        pCtx->rip++;    /* skip hlt */
    20362037        if (    pCtx->eflags.Bits.u1IF
    20372038            &&  VM_FF_ISPENDING(pVM, (VM_FF_INTERRUPT_APIC|VM_FF_INTERRUPT_PIC)))
    20382039        {
    2039             pCtx->rip++;    /* skip hlt */
    20402040            goto ResumeExecution;
    20412041        }
    20422042
    2043         rc = VINF_EM_RAW_EMULATE_INSTR_HLT;
     2043        rc = VINF_EM_HALT;
    20442044        break;
    20452045
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