VirtualBox

Changeset 104885 in vbox for trunk/include


Ignore:
Timestamp:
Jun 11, 2024 12:37:11 PM (7 months ago)
Author:
vboxsync
Message:

VMM/PGM: Lockless PGMPhysIemGCPhys2PtrNoLock. bugref:10687

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

Legend:

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

    r104859 r104885  
    138138        struct PGMR0PERVCPU s;
    139139#endif
    140         uint8_t             padding[64];
     140        uint8_t             padding[192];
    141141    } pgmr0;
    142142
    143143    /** Padding the structure size to page boundrary. */
    144144#ifdef VBOX_WITH_NEM_R0
    145     uint8_t                 abPadding3[16384 - 64*2 - 256 - 1024 - 64 - 896 - 64];
     145    uint8_t                 abPadding3[16384 - 64*2 - 256 - 1024 - 64 - 896 - 192];
    146146#else
    147     uint8_t                 abPadding3[16384 - 64*2 - 256 - 1024      - 896 - 64];
     147    uint8_t                 abPadding3[16384 - 64*2 - 256 - 1024      - 896 - 192];
    148148#endif
    149149} GVMCPU;
  • trunk/include/VBox/vmm/gvm.mac

    r104859 r104885  
    6464        .vmmr0              resb 896
    6565        alignb 64
    66         .pgmr0              resb 64
     66        .pgmr0              resb 192
    6767        alignb 16384
    6868endstruc
  • trunk/include/VBox/vmm/pgm.h

    r104870 r104885  
    866866VMM_INT_DECL(int)   PGMPhysIemQueryAccess(PVMCC pVM, RTGCPHYS GCPhys, bool fWritable, bool fByPassHandlers);
    867867VMM_INT_DECL(int)   PGMPhysIemGCPhys2PtrNoLock(PVMCC pVM, PVMCPUCC pVCpu, RTGCPHYS GCPhys, uint64_t const volatile *puTlbPhysRev,
    868 #if defined(IN_RC)
    869                                                R3PTRTYPE(uint8_t *) *ppb,
    870 #else
    871                                                R3R0PTRTYPE(uint8_t *) *ppb,
    872 #endif
    873                                                uint64_t *pfTlb);
     868                                               R3R0PTRTYPE(uint8_t *) *ppb, uint64_t *pfTlb);
    874869/** @name Flags returned by PGMPhysIemGCPhys2PtrNoLock
    875870 * @{ */
  • trunk/include/VBox/vmm/vm.h

    r104850 r104885  
    324324        struct PGMCPU       s;
    325325#endif
    326         uint8_t             padding[4096 + 28672]; /* multiple of 4096 */
     326        uint8_t             padding[36864];    /* multiple of 4096 */
    327327    } pgm;
    328328
     
    339339        CPUMCTX             GstCtx;
    340340#endif
    341         uint8_t             padding[102400];     /* multiple of 4096 */
     341        uint8_t             padding[102400];    /* multiple of 4096 */
    342342    } cpum;
    343343
     
    348348        struct EMCPU        s;
    349349#endif
    350         uint8_t             padding[40960];      /* multiple of 4096 */
     350        uint8_t             padding[40960];     /* multiple of 4096 */
    351351    } em;
    352352
     353    uint8_t abPadding[12288];
    353354} VMCPU;
    354355
  • trunk/include/VBox/vmm/vm.mac

    r104850 r104885  
    103103
    104104    alignb 4096
    105     .pgm                    resb 4096+28672
     105    .pgm                    resb 36864
    106106    alignb 4096
    107107    .cpum                   resb 102400
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