VirtualBox

Changeset 92170 in vbox for trunk/src/VBox/VMM/include


Ignore:
Timestamp:
Nov 1, 2021 10:06:25 PM (3 years ago)
Author:
vboxsync
Message:

VMM/PGM,NEM: Let NEM handle dirty VRAM (MMIO2) page tracking. Saves lots of exits when using the VBoxVGA device or VMSVGA in non-VMSVGA mode. Added a 32-bit NEM field to the PGMRAMRANGE structure called uNemRange. bugref:10122

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/include/NEMInternal.h

    r92120 r92170  
    217217    STAMCOUNTER                 StatMapPageFailed;
    218218    STAMCOUNTER                 StatUnmapPageFailed;
     219#  ifdef VBOX_WITH_PGM_NEM_MODE
     220    STAMPROFILE                 StatProfMapGpaRange;
     221    STAMPROFILE                 StatProfUnmapGpaRange;
     222    STAMPROFILE                 StatProfQueryGpaRangeDirtyBitmap;
     223#  endif
     224#  ifndef NEM_WIN_USE_HYPERCALLS_FOR_PAGES
     225    STAMPROFILE                 StatProfMapGpaRangePage;
     226    STAMPROFILE                 StatProfUnmapGpaRangePage;
     227#  endif
    219228
    220229#  ifdef NEM_WIN_USE_HYPERCALLS_FOR_PAGES
  • trunk/src/VBox/VMM/include/PGMInternal.h

    r92162 r92170  
    11791179    /** PGM_RAM_RANGE_FLAGS_* flags. */
    11801180    uint32_t                            fFlags;
    1181     uint32_t                            fPadding1;
     1181    /** NEM specific info, UINT32_MAX if not used. */
     1182    uint32_t                            uNemRange;
    11821183    /** Last address in the range (inclusive). Page aligned (-1). */
    11831184    RTGCPHYS                            GCPhysLast;
     
    14211422     * reduced during saved state loading. */
    14221423    RTGCPHYS                            cbReal;
    1423     /** Pointer to the physical handler for MMIO. */
     1424    /** Pointer to the physical handler for MMIO.
     1425     * If NEM is responsible for tracking dirty pages in simple memory mode, this
     1426     * will be NULL. */
    14241427    R3PTRTYPE(PPGMPHYSHANDLER)          pPhysHandlerR3;
    14251428    /** Live save per page tracking data for MMIO2. */
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