VirtualBox

Changeset 105177 in vbox for trunk/include


Ignore:
Timestamp:
Jul 8, 2024 9:29:14 AM (7 months ago)
Author:
vboxsync
Message:

VMM/IEM: Increase TLB size to 8192 on arm; quick fix for 2M/4M page problem with invlpg. On AMD64 we stick to 256 TLB entries for VM struct size reasons. bugref:10687

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

Legend:

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

    r104933 r105177  
    606606/** Whether this is a second-level address translation. */
    607607#define PGM_WALKINFO_IS_SLAT                    RT_BIT_32(1)
     608
    608609/** Set if it involves a big page (2/4 MB). */
    609 #define PGM_WALKINFO_BIG_PAGE                   RT_BIT_32(2)
     610#define PGM_WALKINFO_BIG_PAGE                   RT_BIT_32(7)
    610611/** Set if it involves a gigantic page (1 GB). */
    611 #define PGM_WALKINFO_GIGANTIC_PAGE              RT_BIT_32(3)
     612#define PGM_WALKINFO_GIGANTIC_PAGE              RT_BIT_32(8)
    612613
    613614/** Whether the linear address (GCPtr) caused the second-level
    614615 * address translation - read the code to figure this one.
    615616 * @todo for PGMPTWALKFAST::fFailed?  */
    616 #define PGM_WALKINFO_IS_LINEAR_ADDR_VALID       RT_BIT_32(7)
     617#define PGM_WALKINFO_IS_LINEAR_ADDR_VALID       RT_BIT_32(10)
    617618/** @} */
    618619
     
    10051006#define PGMIEMGCPHYS2PTR_F_NO_WRITE     RT_BIT_32(3)    /**< Not writable (IEMTLBE_F_PG_NO_WRITE). */
    10061007#define PGMIEMGCPHYS2PTR_F_NO_READ      RT_BIT_32(4)    /**< Not readable (IEMTLBE_F_PG_NO_READ). */
    1007 #define PGMIEMGCPHYS2PTR_F_NO_MAPPINGR3 RT_BIT_32(7)    /**< No ring-3 mapping (IEMTLBE_F_NO_MAPPINGR3). */
    1008 #define PGMIEMGCPHYS2PTR_F_UNASSIGNED   RT_BIT_32(8)    /**< Unassgined memory (IEMTLBE_F_PG_UNASSIGNED). */
    1009 #define PGMIEMGCPHYS2PTR_F_CODE_PAGE    RT_BIT_32(9)    /**< Write monitored IEM code page (IEMTLBE_F_PG_CODE_PAGE). */
     1008#define PGMIEMGCPHYS2PTR_F_NO_MAPPINGR3 RT_BIT_32(8)    /**< No ring-3 mapping (IEMTLBE_F_NO_MAPPINGR3). */
     1009#define PGMIEMGCPHYS2PTR_F_UNASSIGNED   RT_BIT_32(9)    /**< Unassgined memory (IEMTLBE_F_PG_UNASSIGNED). */
     1010#define PGMIEMGCPHYS2PTR_F_CODE_PAGE    RT_BIT_32(10)    /**< Write monitored IEM code page (IEMTLBE_F_PG_CODE_PAGE). */
    10101011/** @} */
    10111012
  • trunk/include/VBox/vmm/vm.h

    r105076 r105177  
    159159        struct IEMCPU       s;
    160160#endif
    161         uint8_t             padding[244672]; /* multiple of 64 */
     161        uint8_t             padding[  113600    /* The common base size. */
     162#ifdef RT_ARCH_AMD64
     163                                    + 32768     /* For 256 entries per TLBs. */
     164#else
     165                                    + 1048576   /* For 8192 entries per TLBs. */
     166#endif
     167        ]; /* multiple of 64 */
    162168    } iem;
    163169
  • trunk/include/VBox/vmm/vm.mac

    r105076 r105177  
    5858
    5959    alignb 64
    60     .iem                    resb 244672
     60    .iem                    resb 113600 + 32768
    6161
    6262    alignb 64
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