VirtualBox

Changeset 49640 in vbox for trunk/src


Ignore:
Timestamp:
Nov 25, 2013 2:04:00 PM (11 years ago)
Author:
vboxsync
Message:

PGM,IEM: Changed PGMPhysIemGCPhys2Ptr to not require A20 to be masked (copy & paste bug).

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

Legend:

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

    r49483 r49640  
    54125412     *        living in PGM, but with publicly accessible inlined access methods
    54135413     *        could perhaps be an even better solution. */
    5414     int rc = PGMPhysIemGCPhys2Ptr(IEMCPU_TO_VM(pIemCpu),
     5414    int rc = PGMPhysIemGCPhys2Ptr(IEMCPU_TO_VM(pIemCpu), IEMCPU_TO_VMCPU(pIemCpu),
    54155415                                  GCPhysMem,
    54165416                                  RT_BOOL(fAccess & IEM_ACCESS_TYPE_WRITE),
  • trunk/src/VBox/VMM/VMMAll/PGMAllPhys.cpp

    r49486 r49640  
    40254025 * @retval  VERR_PGM_PHYS_TLB_UNASSIGNED if the page doesn't exist.
    40264026 *
    4027  * @param   pVM         Pointer to the VM.
    4028  * @param   GCPhys      The GC physical address to convert.  Since this is only
    4029  *                      used for filling the REM TLB, the A20 mask must be
    4030  *                      applied before calling this API.
     4027 * @param   pVM         Pointer to the cross context VM structure.
     4028 * @param   pVCpu       Pointer to the cross context virtual CPU structure of
     4029 *                      the calling EMT.
     4030 * @param   GCPhys      The GC physical address to convert.  This API mask the
     4031 *                      A20 line when necessary.
    40314032 * @param   fWritable   Whether write access is required.
    40324033 * @param   ppv         Where to store the pointer corresponding to GCPhys on
     
    40354036 *
    40364037 * @remarks This is more or a less a copy of PGMR3PhysTlbGCPhys2Ptr.
    4037  */
    4038 VMM_INT_DECL(int) PGMPhysIemGCPhys2Ptr(PVM pVM, RTGCPHYS GCPhys, bool fWritable, bool fByPassHandlers,
     4038 * @thread  EMT(pVCpu).
     4039 */
     4040VMM_INT_DECL(int) PGMPhysIemGCPhys2Ptr(PVM pVM, PVMCPU pVCpu, RTGCPHYS GCPhys, bool fWritable, bool fByPassHandlers,
    40394041                                       void **ppv, PPGMPAGEMAPLOCK pLock)
    40404042{
     4043    PGM_A20_APPLY_TO_VAR(pVCpu, GCPhys);
     4044
    40414045    pgmLock(pVM);
    4042     PGM_A20_ASSERT_MASKED(VMMGetCpu(pVM), GCPhys);
    40434046
    40444047    PPGMRAMRANGE pRam;
     
    40884091
    40894092#if defined(IN_RC) || defined(VBOX_WITH_2X_4GB_ADDR_SPACE_IN_R0)
    4090             PVMCPU pVCpu = VMMGetCpu(pVM);
    40914093            void *pv;
    40924094            rc = pgmRZDynMapHCPageInlined(pVCpu,
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