VirtualBox

Changeset 96760 in vbox


Ignore:
Timestamp:
Sep 16, 2022 4:08:22 AM (2 years ago)
Author:
vboxsync
Message:

VMM/PGM: Nested VMX: bugref:100092 Don't confuse PGM_GST_TYPE with PGM_SLAT_TYPE.

File:
1 edited

Legend:

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

    r96407 r96760  
    249249# define BTH_IS_NP_ACTIVE(pVM)                  (false)
    250250
    251 #elif PGM_GST_TYPE == PGM_TYPE_EPT
    252 # define GST_ATOMIC_OR(a_pu, a_fFlags)          ASMAtomicOrU64((a_pu), (a_fFlags))
    253 # define GSTPT                                  EPTPT
    254 # define PGSTPT                                 PEPTPT
    255 # define GSTPTE                                 EPTPTE
    256 # define PGSTPTE                                PEPTPTE
    257 # define GSTPD                                  EPTPD
    258 # define PGSTPD                                 PEPTPD
    259 # define GSTPDE                                 EPTPDE
    260 # define PGSTPDE                                PEPTPDE
    261 # define GST_GIGANT_PAGE_SIZE                   X86_PAGE_1G_SIZE
    262 # define GST_GIGANT_PAGE_OFFSET_MASK            X86_PAGE_1G_OFFSET_MASK
    263 # define GST_PDPE_BIG_PG_MASK                   X86_PDPE1G_PG_MASK
    264 # define GST_BIG_PAGE_SIZE                      X86_PAGE_2M_SIZE
    265 # define GST_BIG_PAGE_OFFSET_MASK               X86_PAGE_2M_OFFSET_MASK
    266 # define GST_PDE_PG_MASK                        EPT_PDE_PG_MASK
    267 # define GST_PDE_BIG_PG_MASK                    EPT_PDE2M_PG_MASK
    268 # define GST_PD_SHIFT                           EPT_PD_SHIFT
    269 # define GST_PD_MASK                            EPT_PD_MASK
    270 # define GSTPTWALK                              PGMPTWALKGSTEPT
    271 # define PGSTPTWALK                             PPGMPTWALKGSTEPT
    272 # define PCGSTPTWALK                            PCPGMPTWALKGSTEPT
    273 # define GST_PDPE_ENTRIES                       EPT_PG_ENTRIES
    274 # define GST_PDPT_SHIFT                         EPT_PDPT_SHIFT
    275 # define GST_PDPE_PG_MASK                       EPT_PDPTE_PG_MASK
    276 # define GST_PDPT_MASK                          EPT_PDPT_MASK
    277 # define GST_PTE_PG_MASK                        EPT_E_PG_MASK
    278 # define GST_CR3_PAGE_MASK                      X86_CR3_EPT_PAGE_MASK
    279 # define GST_PT_SHIFT                           EPT_PT_SHIFT
    280 # define GST_PT_MASK                            EPT_PT_MASK
    281 # define GST_GET_PTE_GCPHYS(Pte)                PGM_A20_APPLY(pVCpu, ((Pte).u & GST_PTE_PG_MASK))
    282 # define GST_GET_PDE_GCPHYS(Pde)                PGM_A20_APPLY(pVCpu, ((Pde).u & GST_PDE_PG_MASK))
    283 # define GST_GET_BIG_PDE_GCPHYS(pVM, Pde)       PGM_A20_APPLY(pVCpu, ((Pde).u & GST_PDE_BIG_PG_MASK))
    284 # define GST_GET_BIG_PDPE_GCPHYS(pVM, Pde)      PGM_A20_APPLY(pVCpu, ((Pde).u & GST_PDPE_BIG_PG_MASK))
    285 # define GST_GET_PTE_SHW_FLAGS(pVCpu, Pte)            (true && This_should_perhaps_not_be_used_in_this_context)
    286 # define GST_GET_PDE_SHW_FLAGS(pVCpu, Pde)            (true && This_should_perhaps_not_be_used_in_this_context)
    287 # define GST_GET_BIG_PDE_SHW_FLAGS(pVCpu, Pde)        (true && This_should_perhaps_not_be_used_in_this_context)
    288 # define GST_GET_BIG_PDE_SHW_FLAGS_4_PTE(pVCpu, Pde)  (true && This_should_perhaps_not_be_used_in_this_context)
    289 # define GST_IS_PTE_VALID(pVCpu, Pte)           (!( (Pte).u   & (pVCpu)->pgm.s.fGstEptMbzPteMask ))
    290 # define GST_IS_PDE_VALID(pVCpu, Pde)           (!( (Pde).u   & (pVCpu)->pgm.s.fGstEptMbzPdeMask ))
    291 # define GST_IS_BIG_PDE_VALID(pVCpu, Pde)       (!( (Pde).u   & (pVCpu)->pgm.s.fGstEptMbzBigPdeMask ))
    292 # define GST_IS_PDPE_VALID(pVCpu, Pdpe)         (!( (Pdpe).u  & (pVCpu)->pgm.s.fGstEptMbzPdpteMask ))
    293 # define GST_IS_BIG_PDPE_VALID(pVCpu, Pdpe)     (!( (Pdpe).u  & (pVCpu)->pgm.s.fGstEptMbzBigPdpteMask ))
    294 # define GST_IS_PML4E_VALID(pVCpu, Pml4e)       (!( (Pml4e).u & (pVCpu)->pgm.s.fGstEptMbzPml4eMask ))
    295 # define GST_IS_PGENTRY_PRESENT(pVCpu, Pge)     ((Pge).u & (pVCpu)->pgm.s.fGstEptPresentMask)
    296 # define GST_IS_PSE_ACTIVE(pVCpu)               (!((pVCpu)->pgm.s.fGstEptMbzBigPdeMask & EPT_E_BIT_LEAF))
    297 # define GST_IS_NX_ACTIVE(pVCpu)                (pgmGstIsNoExecuteActive(pVCpu))
    298 # define BTH_IS_NP_ACTIVE(pVM)                  (false)
     251#else
     252# error "Unknown PGM_GST_TYPE."
    299253#endif
    300254
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