VirtualBox

Changeset 77475 in vbox


Ignore:
Timestamp:
Feb 27, 2019 6:44:43 AM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
129063
Message:

VMM/IEM: Nested VMX: bugref:9180 nits.

File:
1 edited

Legend:

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

    r77459 r77475  
    19131913    iemVmxVmexitSaveGuestSegRegs(pVCpu);
    19141914
    1915     /** @todo r=ramshankar: The below hack is no longer necessary because we invoke the
    1916      *        VM-exit after updating RIP. I'm leaving it in-place temporarily in case
    1917      *        we need to fix missing exit information or callers still setting
    1918      *        instruction-length field when it is not necessary. */
    1919 #if 0
    1920     /*
    1921      * Save guest RIP, RSP and RFLAGS.
    1922      * See Intel spec. 27.3.3 "Saving RIP, RSP and RFLAGS".
    1923      *
    1924      * For trap-like VM-exits we must advance the RIP by the length of the instruction.
    1925      * Callers must pass the instruction length in the VM-exit instruction length
    1926      * field though it is undefined for such VM-exits. After updating RIP here, we clear
    1927      * the VM-exit instruction length field.
    1928      *
    1929      * See Intel spec. 27.1 "Architectural State Before A VM Exit"
    1930      */
    1931     if (HMVmxIsTrapLikeVmexit(uExitReason))
    1932     {
    1933         uint8_t const cbInstr = pVmcs->u32RoExitInstrLen;
    1934         AssertMsg(cbInstr >= 1 && cbInstr <= 15, ("uReason=%u cbInstr=%u\n", uExitReason, cbInstr));
    1935         iemRegAddToRipAndClearRF(pVCpu, cbInstr);
    1936         iemVmxVmcsSetExitInstrLen(pVCpu, 0 /* cbInstr */);
    1937     }
    1938 #endif
    1939 
    1940     /* We don't support enclave mode yet. */
    19411915    pVmcs->u64GuestRip.u    = pVCpu->cpum.GstCtx.rip;
    19421916    pVmcs->u64GuestRsp.u    = pVCpu->cpum.GstCtx.rsp;
     
    50985072        {
    50995073            /* Clear bytes 2:0 of VICR_HI. No other virtualization or VM-exit must occur. */
    5100             uint32_t uIcrHi = iemVmxVirtApicReadRaw32(pVCpu, XAPIC_OFF_ICR_HI);
     5074            uint32_t uIcrHi  = iemVmxVirtApicReadRaw32(pVCpu, XAPIC_OFF_ICR_HI);
    51015075            uIcrHi          &= UINT32_C(0xff000000);
    51025076            iemVmxVirtApicWriteRaw32(pVCpu, XAPIC_OFF_ICR_HI, uIcrHi);
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