VirtualBox

Changeset 108132 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Feb 10, 2025 11:05:23 AM (2 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
167432
Message:

VMM/PGM: Merge and deduplicate code targeting x86 & amd64 in PGM.cpp. Don't bother compiling pool stuff on arm and darwin.amd64. jiraref:VBP-1531

Location:
trunk/include/VBox/vmm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/pgm.h

    r107227 r108132  
    257257 *
    258258 * @note    Part of saved state.  Change with extreme care.
     259 * @note    Due to PGMGetShadowMode() and the possibility that we will be
     260 *          running ARMv8 VMs on a AMD64 hosts, it's safer to combine these
     261 *          modes. We could rethink this if we start using PGMMODE exclusively
     262 *          for the guest mode and come up with a different enum for the host.
    259263 */
    260264typedef enum PGMMODE
     
    262266    /** The usual invalid value. */
    263267    PGMMODE_INVALID = 0,
    264 #ifndef VBOX_VMM_TARGET_ARMV8
     268
     269    /** @name X86
     270     * @{ */
    265271    /** Real mode. */
    266272    PGMMODE_REAL,
     
    285291    /** Extended paging (Intel) mode. */
    286292    PGMMODE_EPT,
    287     /** Special mode used by NEM to indicate no shadow paging necessary. */
    288     PGMMODE_NONE,
    289 #else
    290     /** Paging is not enabled by the guest. */
    291     PGMMODE_NONE,
     293    /** @} */
     294
     295    /** ARMv8: Paging is not enabled by the guest.
     296     * AMD64 host: Special mode used by NEM to indicate no shadow paging
     297     * necessary.  Not used by X86 guests. */
     298    PGMMODE_NONE = 32,
     299
     300    /** @name ARMv8
     301     * @{ */
    292302    /** VMSAv8-32 Virtual Memory System Architecture v8 - 32-bit variant enabled. */
    293303    PGMMODE_VMSA_V8_32,
    294304    /** VMSAv8-64 Virtual Memory System Architecture v8 - 64-bit variant enabled. */
    295305    PGMMODE_VMSA_V8_64,
    296 #endif
     306    /** @} */
     307
    297308    /** The max number of modes */
    298309    PGMMODE_MAX,
     
    782793VMM_INT_DECL(const char *) PGMGetSlatModeName(PGMSLAT enmSlatMode);
    783794#endif
    784 VMM_INT_DECL(RTGCPHYS) PGMGetGuestCR3Phys(PVMCPU pVCpu);
    785795VMM_INT_DECL(void)  PGMNotifyNxeChanged(PVMCPU pVCpu, bool fNxe);
    786796VMMDECL(bool)       PGMHasDirtyPages(PVM pVM);
  • trunk/include/VBox/vmm/vmmr3vtable-def.h

    r107276 r108132  
    662662VTABLE_ENTRY(PGMPhysSimpleWriteGCPtr)
    663663VTABLE_ENTRY(PGMPhysWriteGCPtr)
    664 VTABLE_ENTRY(PGMShwMakePageWritable)
     664VTABLE_RESERVED(pfnPGMR3Reserved0)
    665665VTABLE_ENTRY(PGMR3QueryGlobalMemoryStats)
    666666VTABLE_ENTRY(PGMR3QueryMemoryStats)
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