VirtualBox

Changeset 56421 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Jun 14, 2015 7:35:54 PM (10 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
101023
Message:

PATM: virt access handlers: Only use pvUser for asserting.

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

Legend:

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

    r56043 r56421  
    4545 *          monitored.
    4646 */
    47 PGM_ALL_CB2_DECL(VBOXSTRICTRC) patmVirtPageHandler(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtr, void *pvPtr, void *pvBuf, size_t cbBuf,
    48                                                    PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
     47PGM_ALL_CB2_DECL(VBOXSTRICTRC)
     48patmVirtPageHandler(PVM pVM, PVMCPU pVCpu, RTGCPTR GCPtr, void *pvPtr, void *pvBuf, size_t cbBuf,
     49                    PGMACCESSTYPE enmAccessType, PGMACCESSORIGIN enmOrigin, void *pvUser)
    4950{
    5051    Assert(enmAccessType == PGMACCESSTYPE_WRITE); NOREF(enmAccessType);
    5152    NOREF(pvPtr); NOREF(pvBuf); NOREF(cbBuf); NOREF(enmOrigin); NOREF(pvUser);
    52     Assert(pvUser); Assert(!((uintptr_t)pvUser & PAGE_OFFSET_MASK));
    53 
    54     pVM->patm.s.pvFaultMonitor = (RTRCPTR)((uintptr_t)pvUser + (GCPtr & PAGE_OFFSET_MASK));
     53
     54    Assert(pvUser);
     55    Assert(!((uintptr_t)pvUser & PAGE_OFFSET_MASK));
     56    Assert(((uintptr_t)pvUser + (GCPtr & PAGE_OFFSET_MASK)) == GCPtr);
     57
     58    pVM->patm.s.pvFaultMonitor = (RTRCPTR)GCPtr;
    5559#ifdef IN_RING3
    5660    PATMR3HandleMonitoredPage(pVM);
  • trunk/src/VBox/VMM/VMMRC/PATMRC.cpp

    r56287 r56421  
    5656{
    5757    NOREF(pVCpu); NOREF(uErrorCode); NOREF(pRegFrame); NOREF(pvFault); NOREF(pvRange); NOREF(offRange);
    58     Assert(pvUser); Assert(!((uintptr_t)pvUser & PAGE_OFFSET_MASK));
    59     pVM->patm.s.pvFaultMonitor = (RTRCPTR)((uintptr_t)pvUser + (pvFault & PAGE_OFFSET_MASK));
     58
     59    Assert(pvUser);
     60    Assert(!((uintptr_t)pvUser & PAGE_OFFSET_MASK));
     61    Assert(((uintptr_t)pvUser + (pvFault & PAGE_OFFSET_MASK)) == pvRange + offRange);
     62
     63    pVM->patm.s.pvFaultMonitor = (RTRCPTR)(pvRange + offRange);
    6064    return VINF_PATM_CHECK_PATCH_PAGE;
    6165}
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