VirtualBox

Changeset 91712 in vbox


Ignore:
Timestamp:
Oct 13, 2021 11:33:18 AM (3 years ago)
Author:
vboxsync
Message:

VMM/PGM: Nested VMX: bugref:10092 Removed PGMMODEDATAGST::pfnGetPDE, no longer used.

Location:
trunk/src/VBox/VMM
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/PGMAll.cpp

    r91580 r91712  
    562562PGMMODEDATAGST const g_aPgmGuestModeData[PGM_GUEST_MODE_DATA_ARRAY_SIZE] =
    563563{
    564     { UINT32_MAX, NULL, NULL, NULL, NULL, NULL }, /* 0 */
     564    { UINT32_MAX, NULL, NULL, NULL, NULL }, /* 0 */
    565565    {
    566566        PGM_TYPE_REAL,
    567567        PGM_GST_NAME_REAL(GetPage),
    568568        PGM_GST_NAME_REAL(ModifyPage),
    569         PGM_GST_NAME_REAL(GetPDE),
    570569        PGM_GST_NAME_REAL(Enter),
    571570        PGM_GST_NAME_REAL(Exit),
     
    578577        PGM_GST_NAME_PROT(GetPage),
    579578        PGM_GST_NAME_PROT(ModifyPage),
    580         PGM_GST_NAME_PROT(GetPDE),
    581579        PGM_GST_NAME_PROT(Enter),
    582580        PGM_GST_NAME_PROT(Exit),
     
    589587        PGM_GST_NAME_32BIT(GetPage),
    590588        PGM_GST_NAME_32BIT(ModifyPage),
    591         PGM_GST_NAME_32BIT(GetPDE),
    592589        PGM_GST_NAME_32BIT(Enter),
    593590        PGM_GST_NAME_32BIT(Exit),
     
    600597        PGM_GST_NAME_PAE(GetPage),
    601598        PGM_GST_NAME_PAE(ModifyPage),
    602         PGM_GST_NAME_PAE(GetPDE),
    603599        PGM_GST_NAME_PAE(Enter),
    604600        PGM_GST_NAME_PAE(Exit),
     
    612608        PGM_GST_NAME_AMD64(GetPage),
    613609        PGM_GST_NAME_AMD64(ModifyPage),
    614         PGM_GST_NAME_AMD64(GetPDE),
    615610        PGM_GST_NAME_AMD64(Enter),
    616611        PGM_GST_NAME_AMD64(Exit),
     
    32113206    AssertPtrReturn(g_aPgmGuestModeData[idxNewGst].pfnGetPage, VERR_PGM_MODE_IPE);
    32123207    AssertPtrReturn(g_aPgmGuestModeData[idxNewGst].pfnModifyPage, VERR_PGM_MODE_IPE);
    3213     AssertPtrReturn(g_aPgmGuestModeData[idxNewGst].pfnGetPDE, VERR_PGM_MODE_IPE);
    32143208    AssertPtrReturn(g_aPgmGuestModeData[idxNewGst].pfnExit, VERR_PGM_MODE_IPE);
    32153209    AssertPtrReturn(g_aPgmGuestModeData[idxNewGst].pfnEnter, VERR_PGM_MODE_IPE);
  • trunk/src/VBox/VMM/VMMAll/PGMAllGst.h

    r91580 r91712  
    2828PGM_GST_DECL(int,  GetPage)(PVMCPUCC pVCpu, RTGCPTR GCPtr, uint64_t *pfFlags, PRTGCPHYS pGCPhys);
    2929PGM_GST_DECL(int,  ModifyPage)(PVMCPUCC pVCpu, RTGCPTR GCPtr, size_t cb, uint64_t fFlags, uint64_t fMask);
    30 PGM_GST_DECL(int,  GetPDE)(PVMCPUCC pVCpu, RTGCPTR GCPtr, PX86PDEPAE pPDE);
    3130
    3231#ifdef IN_RING3 /* r3 only for now.  */
     
    456455
    457456
    458 /**
    459  * Retrieve guest PDE information.
    460  *
    461  * @returns VBox status code.
    462  * @param   pVCpu       The cross context virtual CPU structure.
    463  * @param   GCPtr       Guest context pointer.
    464  * @param   pPDE        Pointer to guest PDE structure.
    465  */
    466 PGM_GST_DECL(int, GetPDE)(PVMCPUCC pVCpu, RTGCPTR GCPtr, PX86PDEPAE pPDE)
    467 {
    468 #if PGM_GST_TYPE == PGM_TYPE_32BIT \
    469  || PGM_GST_TYPE == PGM_TYPE_PAE   \
    470  || PGM_GST_TYPE == PGM_TYPE_AMD64
    471 
    472 # if PGM_GST_TYPE != PGM_TYPE_AMD64
    473     /* Boundary check. */
    474     if (RT_UNLIKELY(GCPtr >= _4G))
    475         return VERR_PAGE_TABLE_NOT_PRESENT;
    476 # endif
    477 
    478 # if PGM_GST_TYPE == PGM_TYPE_32BIT
    479     unsigned    iPd = (GCPtr >> GST_PD_SHIFT) & GST_PD_MASK;
    480     PX86PD      pPd = pgmGstGet32bitPDPtr(pVCpu);
    481 
    482 # elif PGM_GST_TYPE == PGM_TYPE_PAE
    483     unsigned    iPd = 0;                /* shut up gcc */
    484     PCX86PDPAE  pPd = pgmGstGetPaePDPtr(pVCpu, GCPtr, &iPd, NULL);
    485 
    486 # elif PGM_GST_TYPE == PGM_TYPE_AMD64
    487     PX86PML4E   pPml4eIgn;
    488     X86PDPE     PdpeIgn;
    489     unsigned    iPd = 0;                /* shut up gcc */
    490     PCX86PDPAE  pPd = pgmGstGetLongModePDPtr(pVCpu, GCPtr, &pPml4eIgn, &PdpeIgn, &iPd);
    491     /* Note! We do not return an effective PDE here like we do for the PTE in GetPage method. */
    492 # endif
    493 
    494     if (RT_LIKELY(pPd))
    495         pPDE->u = (X86PGPAEUINT)pPd->a[iPd].u;
    496     else
    497         pPDE->u = 0;
    498     return VINF_SUCCESS;
    499 
    500 #else
    501     NOREF(pVCpu); NOREF(GCPtr); NOREF(pPDE);
    502     AssertFailed();
    503     return VERR_NOT_IMPLEMENTED;
    504 #endif
    505 }
    506 
    507 
    508457#ifdef IN_RING3
    509458/**
  • trunk/src/VBox/VMM/include/PGMInternal.h

    r91580 r91712  
    27432743    DECLCALLBACKMEMBER(int, pfnGetPage,(PVMCPUCC pVCpu, RTGCPTR GCPtr, uint64_t *pfFlags, PRTGCPHYS pGCPhys));
    27442744    DECLCALLBACKMEMBER(int, pfnModifyPage,(PVMCPUCC pVCpu, RTGCPTR GCPtr, size_t cbPages, uint64_t fFlags, uint64_t fMask));
    2745     DECLCALLBACKMEMBER(int, pfnGetPDE,(PVMCPUCC pVCpu, RTGCPTR GCPtr, PX86PDEPAE pPde));
    27462745    DECLCALLBACKMEMBER(int, pfnEnter,(PVMCPUCC pVCpu, RTGCPHYS GCPhysCR3));
    27472746    DECLCALLBACKMEMBER(int, pfnExit,(PVMCPUCC pVCpu));
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