VirtualBox

Changeset 92706 in vbox


Ignore:
Timestamp:
Dec 2, 2021 12:59:49 PM (3 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
148605
Message:

VMM: Nested VMX: bugref:10092 EPT misconfig bits and note about assertion in iemVmxVmexit.

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

Legend:

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

    r92685 r92706  
    14431443#ifdef VBOX_WITH_NESTED_HWVIRT_VMX_EPT
    14441444        if (Walk.fFailed & PGM_WALKFAIL_EPT)
    1445         {
    1446             Assert(IEM_VMX_IS_NON_ROOT_MODE(pVCpu));
    14471445            IEM_VMX_VMEXIT_EPT_RET(pVCpu, &Walk, IEM_ACCESS_INSTRUCTION, IEM_SLAT_FAIL_LINEAR_TO_PHYS_ADDR, 0 /* cbInstr */);
    1448         }
    14491446#endif
    14501447        return iemRaisePageFault(pVCpu, GCPtrPC, IEM_ACCESS_INSTRUCTION, rc);
     
    14541451    {
    14551452        Log(("iemInitDecoderAndPrefetchOpcodes: %RGv - supervisor page\n", GCPtrPC));
     1453#ifdef VBOX_WITH_NESTED_HWVIRT_VMX_EPT
     1454        if (Walk.fFailed & PGM_WALKFAIL_EPT)
     1455            IEM_VMX_VMEXIT_EPT_RET(pVCpu, &Walk, IEM_ACCESS_INSTRUCTION, IEM_SLAT_FAIL_LINEAR_TO_PAGE_TABLE, 0 /* cbInstr */);
     1456#endif
    14561457        return iemRaisePageFault(pVCpu, GCPtrPC, IEM_ACCESS_INSTRUCTION, VERR_ACCESS_DENIED);
    14571458    }
     
    14601461    {
    14611462        Log(("iemInitDecoderAndPrefetchOpcodes: %RGv - NX\n", GCPtrPC));
     1463#ifdef VBOX_WITH_NESTED_HWVIRT_VMX_EPT
     1464        if (Walk.fFailed & PGM_WALKFAIL_EPT)
     1465            IEM_VMX_VMEXIT_EPT_RET(pVCpu, &Walk, IEM_ACCESS_INSTRUCTION, IEM_SLAT_FAIL_LINEAR_TO_PAGE_TABLE, 0 /* cbInstr */);
     1466#endif
    14621467        return iemRaisePageFault(pVCpu, GCPtrPC, IEM_ACCESS_INSTRUCTION, VERR_ACCESS_DENIED);
    14631468    }
  • trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp.h

    r92686 r92706  
    24132413 * @param   uExitReason     The VM-exit reason.
    24142414 * @param   u64ExitQual     The Exit qualification.
     2415 *
     2416 * @remarks We need not necessarily have completed VM-entry before a VM-exit is
     2417 *          called. Failures during VM-entry can cause VM-exits as well, so we
     2418 *          -cannot- assert we're in VMX non-root mode here.
    24152419 */
    24162420IEM_STATIC VBOXSTRICTRC iemVmxVmexit(PVMCPUCC pVCpu, uint32_t uExitReason, uint64_t u64ExitQual)
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