VirtualBox

Changeset 92296 in vbox


Ignore:
Timestamp:
Nov 9, 2021 3:56:26 PM (3 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
148143
Message:

VMM: Nested VMX: bugref:10092 Use the computed effective page attributes in the guest (GetPage) template function.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/PGMAllGst.h

    r92257 r92296  
    384384        if (!Walk.Core.fBigPage)
    385385            *pfFlags = (Walk.Pte.u & ~(GST_PTE_PG_MASK | X86_PTE_RW | X86_PTE_US))                      /* NX not needed */
    386                      | (Walk.Core.fEffectiveRW ? X86_PTE_RW : 0)
    387                      | (Walk.Core.fEffectiveUS ? X86_PTE_US : 0)
     386                     | (Walk.Core.fEffective & (  PGM_PTATTRS_RW_MASK
     387                                                | PGM_PTATTRS_US_MASK))
    388388# if PGM_WITH_NX(PGM_GST_TYPE, PGM_GST_TYPE)
    389                      | (Walk.Core.fEffectiveNX ? X86_PTE_PAE_NX : 0)
     389                     | (RT_BF_GET(Walk.Core.fEffective, PGM_PTATTRS_X) << X86_PTE_PAE_BIT_NX)
    390390# endif
    391391                     ;
     
    393393        {
    394394            *pfFlags = (Walk.Pde.u & ~(GST_PTE_PG_MASK | X86_PDE4M_RW | X86_PDE4M_US | X86_PDE4M_PS))   /* NX not needed */
    395                      | ((Walk.Pde.u & X86_PDE4M_PAT) >> X86_PDE4M_PAT_SHIFT)
    396                      | (Walk.Core.fEffectiveRW ? X86_PTE_RW : 0)
    397                      | (Walk.Core.fEffectiveUS ? X86_PTE_US : 0)
     395                     | (Walk.Core.fEffective & (  PGM_PTATTRS_RW_MASK
     396                                                | PGM_PTATTRS_US_MASK
     397                                                | PGM_PTATTRS_PAT_MASK))
    398398# if PGM_WITH_NX(PGM_GST_TYPE, PGM_GST_TYPE)
    399                      | (Walk.Core.fEffectiveNX ? X86_PTE_PAE_NX : 0)
     399                     | (RT_BF_GET(Walk.Core.fEffective, PGM_PTATTRS_X) << X86_PTE_PAE_BIT_NX)
    400400# endif
    401401                     ;
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