VirtualBox

Changeset 31849 in vbox for trunk/src/VBox/VMM/PGMGstDefs.h


Ignore:
Timestamp:
Aug 22, 2010 4:15:03 PM (14 years ago)
Author:
vboxsync
Message:

PGM: Don't shadow PDE bits 62/3:52 (NXE=1/0), only shadow the bits we need to (exception G, A and D).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/PGMGstDefs.h

    r31775 r31849  
    3838#undef GST_PD_MASK
    3939#undef GST_PTE_PG_MASK
     40#undef GST_GET_PTE_SHW_FLAGS
    4041#undef GST_PT_SHIFT
    4142#undef GST_PT_MASK
     
    4647#undef GST_PDPT_MASK
    4748#undef GST_PDPE_PG_MASK
    48 #undef GST_GET_PDE_BIG_PG_GCPHYS
     49#undef GST_GET_PDE_GCPHYS
     50#undef GST_GET_BIG_PDE_GCPHYS
     51#undef GST_GET_PDE_SHW_FLAGS
     52#undef GST_GET_BIG_PDE_SHW_FLAGS
     53#undef GST_GET_BIG_PDE_SHW_FLAGS_4_PTE
    4954#undef GST_IS_PTE_VALID
    5055#undef GST_IS_PDE_VALID
     
    101106#  endif
    102107# endif
     108# define GST_GET_PTE_SHW_FLAGS(pVCpu, Pte)      (true && This_should_perhaps_not_be_used_in_this_context) //??
     109# define GST_GET_PDE_SHW_FLAGS(pVCpu, Pde)      (true && This_should_perhaps_not_be_used_in_this_context) //??
     110# define GST_GET_BIG_PDE_SHW_FLAGS(pVCpu, Pde)  (true && This_should_perhaps_not_be_used_in_this_context) //??
     111# define GST_GET_BIG_PDE_SHW_FLAGS_4_PTE(pVCpu, Pde) (true && This_should_perhaps_not_be_used_in_this_context) //??
    103112# define GST_IS_PTE_VALID(pVCpu, Pte)           (true)
    104113# define GST_IS_PDE_VALID(pVCpu, Pde)           (true)
     
    125134# define GST_PDE_PG_MASK                        X86_PDE_PG_MASK
    126135# define GST_PDE_BIG_PG_MASK                    X86_PDE4M_PG_MASK
    127 # define GST_GET_PDE_BIG_PG_GCPHYS(pVM, PdeGst) pgmGstGet4MBPhysPage(&(pVM)->pgm.s, PdeGst)
     136# define GST_GET_PDE_GCPHYS(Pde)                ((Pde).u & GST_PDE_PG_MASK)
     137# define GST_GET_BIG_PDE_GCPHYS(pVM, Pde)       pgmGstGet4MBPhysPage(&(pVM)->pgm.s, Pde)
     138# define GST_GET_PDE_SHW_FLAGS(pVCpu, Pde)      ((Pde).u & (X86_PDE_P | X86_PDE_RW | X86_PDE_US | X86_PDE_A))
     139# define GST_GET_BIG_PDE_SHW_FLAGS(pVCpu, Pde) \
     140    ((Pde).u & (X86_PDE4M_P | X86_PDE4M_RW | X86_PDE4M_US | X86_PDE4M_A))
     141# define GST_GET_BIG_PDE_SHW_FLAGS_4_PTE(pVCpu, Pde) \
     142    ((Pde).u & (X86_PDE4M_P | X86_PDE4M_RW | X86_PDE4M_US | X86_PDE4M_A | X86_PDE4M_D | X86_PDE4M_G))
    128143# define GST_PD_SHIFT                           X86_PD_SHIFT
    129144# define GST_PD_MASK                            X86_PD_MASK
    130145# define GST_TOTAL_PD_ENTRIES                   X86_PG_ENTRIES
    131146# define GST_PTE_PG_MASK                        X86_PTE_PG_MASK
     147# define GST_GET_PTE_SHW_FLAGS(pVCpu, Pte)      ((Pte).u & (X86_PTE_P | X86_PTE_RW | X86_PTE_US | X86_PTE_A | X86_PTE_D | X86_PTE_G))
    132148# define GST_PT_SHIFT                           X86_PT_SHIFT
    133149# define GST_PT_MASK                            X86_PT_MASK
     
    157173# define GST_PDE_PG_MASK                        X86_PDE_PAE_PG_MASK_FULL
    158174# define GST_PDE_BIG_PG_MASK                    X86_PDE2M_PAE_PG_MASK
    159 # define GST_GET_PDE_BIG_PG_GCPHYS(pVM, PdeGst) ((PdeGst).u & GST_PDE_BIG_PG_MASK)
     175# define GST_GET_PDE_GCPHYS(Pde)                ((Pde).u & X86_PDE_PAE_PG_MASK_FULL)
     176# define GST_GET_BIG_PDE_GCPHYS(pVM, Pde)       ((Pde).u & GST_PDE_BIG_PG_MASK)
     177# define GST_GET_PTE_SHW_FLAGS(pVCpu, Pte)      ((Pte).u & (pVCpu)->pgm.s.fGst64ShadowedPteMask )
     178# define GST_GET_PDE_SHW_FLAGS(pVCpu, Pde)      ((Pde).u & (pVCpu)->pgm.s.fGst64ShadowedPdeMask )
     179# define GST_GET_BIG_PDE_SHW_FLAGS(pVCpu, Pde)  ((Pde).u & (pVCpu)->pgm.s.fGst64ShadowedBigPdeMask )
     180# define GST_GET_BIG_PDE_SHW_FLAGS_4_PTE(pVCpu, Pde)  ((Pde).u & (pVCpu)->pgm.s.fGst64ShadowedBigPde4PteMask )
     181
    160182# define GST_PD_SHIFT                           X86_PD_PAE_SHIFT
    161183# define GST_PD_MASK                            X86_PD_PAE_MASK
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