VirtualBox

Changeset 93210 in vbox


Ignore:
Timestamp:
Jan 13, 2022 2:08:52 AM (3 years ago)
Author:
vboxsync
Message:

VMM/PGMR3PhysMmio2Register: Call MMR3AdjustFixedReservation even in NEM mode. bugref:10122

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/PGMPhys.cpp

    r93171 r93210  
    30523052     * most likely to fail.
    30533053     */
    3054     int rc = VINF_SUCCESS;
    3055 #ifdef VBOX_WITH_PGM_NEM_MODE
    3056     if (!pVM->pgm.s.fNemMode)
    3057 #endif
    3058         rc = MMR3AdjustFixedReservation(pVM, cPages, pszDesc);
     3054    int rc = MMR3AdjustFixedReservation(pVM, cPages, pszDesc);
    30593055    if (RT_SUCCESS(rc))
    30603056    {
     
    30623058        if (RT_SUCCESS(rc))
    30633059        {
    3064             void *pvPages;
     3060            void   *pvPages   = NULL;
    30653061#ifndef VBOX_WITH_LINEAR_HOST_PHYS_MEM
    30663062            RTR0PTR pvPagesR0 = NIL_RTR0PTR;
    30673063#endif
    3068 
    30693064#ifdef VBOX_WITH_PGM_NEM_MODE
    3070             if (!pVM->pgm.s.fNemMode)
     3065            if (PGM_IS_IN_NEM_MODE(pVM))
     3066            {
     3067                for (uint32_t i = 0; i < cPages; i++)
     3068                {
     3069                    paPages[i].Phys       = UINT64_C(0x0000fffffffff000);
     3070                    paPages[i].uReserved = 0;
     3071                }
     3072                rc = SUPR3PageAlloc(cPages, pVM->pgm.s.fUseLargePages ? SUP_PAGE_ALLOC_F_LARGE_PAGES : 0, &pvPages);
     3073            }
     3074            else
    30713075#endif
    30723076            {
     
    30773081#endif
    30783082            }
    3079 #ifdef VBOX_WITH_PGM_NEM_MODE
    3080             else
    3081             {
    3082                 rc = SUPR3PageAlloc(cPages, pVM->pgm.s.fUseLargePages ? SUP_PAGE_ALLOC_F_LARGE_PAGES : 0, &pvPages);
    3083                 if (RT_SUCCESS(rc))
    3084                     for (uint32_t i = 0; i < cPages; i++)
    3085                         paPages[i].Phys = UINT64_C(0x0000fffffffff000);
    3086             }
    3087 #endif
    30883083            if (RT_SUCCESS(rc))
    30893084            {
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