VirtualBox

Ignore:
Timestamp:
Mar 24, 2025 9:16:43 AM (3 weeks ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
168125
Message:

VMM: Introduce VMM_HOST_PAGE_SIZE_DYNAMIC, HOST_PAGE_SIZE_DYNAMIC, and HOST_PAGE_SHIFT_DYNAMIC, bugref:10391

HOST_PAGE_SIZE_DYNAMIC either resolves to HOST_PAGE_SIZE or calls RTSystemGetPageSize() on hosts where
the system page size is not known during build time (linux.arm64 for now).
HOST_PAGE_SHIFT_DYNAMIC is the same for the page shift.

This allows building VMM libraries which are agnostic to the host page size (at the cost of a slightly
larger overhead).

Currently enabled only on linux.arm64

File:
1 edited

Legend:

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

    r106061 r108708  
    10031003         */
    10041004#ifdef IN_RING3
    1005         AssertMsg(rcStrict == VINF_SUCCESS, ("%Rrc -  Access type %d - %RGp - %s\n",
     1005        AssertMsg(   rcStrict == VINF_SUCCESS
     1006                  || rcStrict == VINF_EM_DBG_STEP, ("%Rrc -  Access type %d - %RGp - %s\n",
    10061007                                             VBOXSTRICTRC_VAL(rcStrict), enmAccessType, GCPhysFault, pRegEntry->pszDesc));
    10071008#else
     
    13201321            rc = PGMShwGetPage(pVCpu, (RTGCPTR)GCPhys, &fFlags, &HCPhys);
    13211322            Assert(rc == VERR_PAGE_NOT_PRESENT || rc == VERR_PAGE_TABLE_NOT_PRESENT);
    1322             cb     -= RT_MIN(GUEST_PAGE_SIZE, HOST_PAGE_SIZE);
    1323             GCPhys += RT_MIN(GUEST_PAGE_SIZE, HOST_PAGE_SIZE);
     1323            cb     -= RT_MIN(GUEST_PAGE_SIZE, HOST_PAGE_SIZE_DYNAMIC);
     1324            GCPhys += RT_MIN(GUEST_PAGE_SIZE, HOST_PAGE_SIZE_DYNAMIC);
    13241325        }
    13251326    }
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