VirtualBox

Changeset 93922 in vbox for trunk/include/VBox/vmm


Ignore:
Timestamp:
Feb 24, 2022 3:14:31 PM (3 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
150150
Message:

VMM: Nested VMX: bugref:10092 EPT VM-exit handling with HM ring-0 code.

Location:
trunk/include/VBox/vmm
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/cpum.h

    r93830 r93922  
    15971597VMM_INT_DECL(bool)      CPUMIsGuestVmxEptPagingEnabled(PCVMCPUCC pVCpu);
    15981598VMM_INT_DECL(bool)      CPUMIsGuestVmxEptPaePagingEnabled(PCVMCPUCC pVCpu);
     1599VMM_INT_DECL(uint64_t)  CPUMGetGuestVmxApicAccessPageAddr(PCVMCPUCC pVCpu);
    15991600/** @} */
    16001601
     
    23352336 * @param   pCtx    Current CPU context.
    23362337 */
    2337 DECLINLINE(uint64_t) CPUMGetGuestVmxApicAccessPageAddr(PCCPUMCTX pCtx)
     2338DECLINLINE(uint64_t) CPUMGetGuestVmxApicAccessPageAddrEx(PCCPUMCTX pCtx)
    23382339{
    23392340    Assert(CPUMIsGuestInVmxNonRootMode(pCtx));
  • trunk/include/VBox/vmm/iem.h

    r93650 r93922  
    383383# ifdef VBOX_WITH_NESTED_HWVIRT_VMX_EPT
    384384VMM_INT_DECL(VBOXSTRICTRC)  IEMExecDecodedInvept(PVMCPUCC pVCpu, PCVMXVEXITINFO pExitInfo);
     385VMM_INT_DECL(VBOXSTRICTRC)  IEMExecVmxVmexitEptViolation(PVMCPUCC pVCpu, PCVMXVEXITINFO pExitInfo, PCVMXVEXITEVENTINFO pExitEventInfo);
     386VMM_INT_DECL(VBOXSTRICTRC)  IEMExecVmxVmexitEptMisconfig(PVMCPUCC pVCpu, RTGCPHYS GCPhysAddr, PCVMXVEXITEVENTINFO pExitEventInfo);
    385387# endif
    386388#endif
  • trunk/include/VBox/vmm/pgm.h

    r93716 r93922  
    508508    RTGCPHYS        GCPhysNested;
    509509
    510     /** The physical address that is the result of the walk (output).
    511      * @remarks This is page aligned and only valid if fSucceeded is set. */
     510    /** The physical address that is the result of the walk (output). */
    512511    RTGCPHYS        GCPhys;
    513512
     
    613612VMMDECL(int)        PGMUpdateCR3(PVMCPUCC pVCpu, uint64_t cr3);
    614613VMMDECL(int)        PGMChangeMode(PVMCPUCC pVCpu, uint64_t cr0, uint64_t cr4, uint64_t efer, bool fForce);
    615 VMM_INT_DECL(int)   PGMHCChangeMode(PVMCC pVM, PVMCPUCC pVCpu, PGMMODE enmGuestMode);
     614VMM_INT_DECL(int)   PGMHCChangeMode(PVMCC pVM, PVMCPUCC pVCpu, PGMMODE enmGuestMode, bool fForce);
    616615VMMDECL(void)       PGMCr0WpEnabled(PVMCPUCC pVCpu);
    617616VMMDECL(PGMMODE)    PGMGetGuestMode(PVMCPU pVCpu);
     
    949948                                                      PCPUMCTXCORE pRegFrame, RTGCPHYS GCPhysFault, uint32_t uErr);
    950949VMMR0_INT_DECL(int)  PGMR0PoolGrow(PGVM pGVM, VMCPUID idCpu);
     950
     951# ifdef VBOX_WITH_NESTED_HWVIRT_VMX_EPT
     952VMMR0DECL(VBOXSTRICTRC) PGMR0NestedTrap0eHandlerNestedPaging(PGVMCPU pGVCpu, PGMMODE enmShwPagingMode, RTGCUINT uErr,
     953                                                             PCPUMCTXCORE pRegFrame, RTGCPHYS GCPhysNested,
     954                                                             bool fIsLinearAddrValid, RTGCPTR GCPtrNested, PPGMPTWALK pWalk);
     955# endif
    951956/** @} */
    952957#endif /* IN_RING0 */
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