VirtualBox

Changeset 97197 in vbox for trunk/src/VBox/VMM/VMMR0


Ignore:
Timestamp:
Oct 18, 2022 11:09:55 AM (2 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
154172
Message:

VMM/PGM,IEM,EM: Changed FNPGMRZPHYSPFHANDLER, PGMTrap0eHandler and PGMR0Trap0eHandlerNPMisconfig to take PCPUMCTX instead of PCPUMCTXCORE parameters; dropped PCPUMCTXCORE parameters from IEMExecOneBypassEx, PGMInterpretInstruction and EMInterpretInstruction together with some associated cleanups.

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

Legend:

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

    r97196 r97197  
    75707570     */
    75717571    /** @todo Decode assist.  */
    7572     VBOXSTRICTRC rc = EMInterpretInstruction(pVCpu, CPUMCTX2CORE(pCtx), 0 /* pvFault */);
     7572    VBOXSTRICTRC rc = EMInterpretInstruction(pVCpu);
    75737573    Log5(("hmR0SvmExitReadDRx: Emulated DRx access: rc=%Rrc\n", VBOXSTRICTRC_VAL(rc)));
    75747574    if (RT_LIKELY(rc == VINF_SUCCESS))
     
    79497949        {
    79507950
    7951             rcStrict = PGMR0Trap0eHandlerNPMisconfig(pVM, pVCpu, enmNestedPagingMode, CPUMCTX2CORE(pCtx), GCPhysFaultAddr,
    7952                                                      u32ErrCode);
     7951            rcStrict = PGMR0Trap0eHandlerNPMisconfig(pVM, pVCpu, enmNestedPagingMode, pCtx, GCPhysFaultAddr, u32ErrCode);
    79537952
    79547953            /*
     
    82938292
    82948293    TRPMAssertXcptPF(pVCpu, uFaultAddress, uErrCode);
    8295     int rc = PGMTrap0eHandler(pVCpu, uErrCode, CPUMCTX2CORE(pCtx), (RTGCPTR)uFaultAddress);
     8294    int rc = PGMTrap0eHandler(pVCpu, uErrCode, pCtx, (RTGCPTR)uFaultAddress);
    82968295
    82978296    Log4Func(("#PF: rc=%Rrc\n", rc));
     
    91139112           instruction(s) when interrupt inhibition is set as part of emulating the VMRUN
    91149113           instruction itself, see @bugref{7243#c126} */
    9115         rcStrict = IEMExecOneBypassEx(pVCpu, CPUMCTX2CORE(&pVCpu->cpum.GstCtx), NULL /* pcbWritten */);
     9114        rcStrict = IEMExecOneBypassEx(pVCpu, NULL /* pcbWritten */);
    91169115    }
    91179116    STAM_PROFILE_ADV_STOP(&pVCpu->hm.s.StatExitVmentry, z);
  • trunk/src/VBox/VMM/VMMR0/PGMR0.cpp

    r96979 r97197  
    12791279 *                              EMT.
    12801280 * @param   enmShwPagingMode    Paging mode for the nested page tables.
    1281  * @param   pRegFrame           Trap register frame.
     1281 * @param   pCtx                Pointer to the register context for the CPU.
    12821282 * @param   GCPhysFault         The fault address.
    12831283 * @param   uErr                The error code, UINT32_MAX if not available
     
    12851285 */
    12861286VMMR0DECL(VBOXSTRICTRC) PGMR0Trap0eHandlerNPMisconfig(PGVM pGVM, PGVMCPU pGVCpu, PGMMODE enmShwPagingMode,
    1287                                                       PCPUMCTXCORE pRegFrame, RTGCPHYS GCPhysFault, uint32_t uErr)
     1287                                                      PCPUMCTX pCtx, RTGCPHYS GCPhysFault, uint32_t uErr)
    12881288{
    12891289#ifdef PGM_WITH_MMIO_OPTIMIZATIONS
     
    13301330
    13311331                    Log6(("PGMR0Trap0eHandlerNPMisconfig: calling %p(,%#x,,%RGp,%p)\n", pHandlerType->pfnPfHandler, uErr, GCPhysFault, uUser));
    1332                     rc = pHandlerType->pfnPfHandler(pGVM, pGVCpu, uErr == UINT32_MAX ? RTGCPTR_MAX : uErr, pRegFrame,
     1332                    rc = pHandlerType->pfnPfHandler(pGVM, pGVCpu, uErr == UINT32_MAX ? RTGCPTR_MAX : uErr, pCtx,
    13331333                                                    GCPhysFault, GCPhysFault, uUser);
    13341334
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