VirtualBox

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


Ignore:
Timestamp:
Jul 26, 2023 12:57:59 PM (19 months ago)
Author:
vboxsync
Message:

VMM/NEMR3Native-darwin-armv8.cpp: Need to implement our own simplistic dirty page tracking for MMIO2 regions as Hypervisor.framework doesn't work with guest page sizes but only with host page sized regions so it conflicts with our generic implementation in PGM. With that it is possible to get screen updates for guests which access the standard framebuffer and don't use the SVGA 3 interface to notify the device about dirty regions, bugref:10390

File:
1 edited

Legend:

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

    r100102 r100705  
    140140# define NEM_DARWIN_CPUMCTX_EXTRN_MASK_FOR_IEM_XCPT (IEM_CPUMCTX_EXTRN_XCPT_MASK | NEM_DARWIN_CPUMCTX_EXTRN_MASK_FOR_IEM)
    141141
     142
     143# if defined(VBOX_VMM_TARGET_ARMV8)
     144/**
     145 * MMIO2 tracking region.
     146 */
     147typedef struct
     148{
     149    /* Start of the region. */
     150    RTGCPHYS                    GCPhysStart;
     151    /** End of the region. */
     152    RTGCPHYS                    GCPhysLast;
     153    /** Whether the region was accessed since last time. */
     154    bool                        fDirty;
     155} NEMHVMMIO2REGION;
     156/** Pointer to a MMIO2 tracking region. */
     157typedef NEMHVMMIO2REGION *PNEMHVMMIO2REGION;
     158# endif
     159
    142160#endif
    143161
     
    293311    /** The vTimer offset programmed. */
    294312    uint64_t                    u64VTimerOff;
     313    /** Dirty tracking slots. */
     314    NEMHVMMIO2REGION            aMmio2DirtyTracking[8];
    295315    /** @} */
    296316# else
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