VirtualBox

Changeset 89033 in vbox


Ignore:
Timestamp:
May 13, 2021 11:38:20 AM (4 years ago)
Author:
vboxsync
Message:

Intel IOMMU: bugref:9967 When translation is disabled, passthrough addresses.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Bus/DevIommuIntel.cpp

    r89031 r89033  
    17001700    RT_NOREF6(idDevice, uIova, cbIova, fFlags, pGCPhysSpa, pcbContiguous);
    17011701
    1702     PDMAR pThis = PDMDEVINS_2_DATA(pDevIns, PDMAR);
    1703     if (fFlags & PDMIOMMU_MEM_F_READ)
    1704         STAM_COUNTER_INC(&pThis->CTX_SUFF_Z(StatMemRead));
    1705     else
    1706         STAM_COUNTER_INC(&pThis->CTX_SUFF_Z(StatMemWrite));
    1707 
    1708     return VERR_NOT_IMPLEMENTED;
     1702    PDMAR    pThis   = PDMDEVINS_2_DATA(pDevIns, PDMAR);
     1703    PCDMARCC pThisCC = PDMDEVINS_2_DATA_CC(pDevIns, PCDMARCC);
     1704
     1705    DMAR_LOCK(pDevIns, pThisCC);
     1706    uint32_t const uGstsReg = dmarRegReadRaw32(pThis, VTD_MMIO_OFF_GSTS_REG);
     1707    DMAR_UNLOCK(pDevIns, pThisCC);
     1708
     1709    if (uGstsReg & VTD_BF_GSTS_REG_TES_MASK)
     1710    {
     1711        if (fFlags & PDMIOMMU_MEM_F_READ)
     1712            STAM_COUNTER_INC(&pThis->CTX_SUFF_Z(StatMemRead));
     1713        else
     1714            STAM_COUNTER_INC(&pThis->CTX_SUFF_Z(StatMemWrite));
     1715
     1716        return VERR_NOT_IMPLEMENTED;
     1717    }
     1718
     1719    *pGCPhysSpa    = uIova;
     1720    *pcbContiguous = cbIova;
     1721    return VINF_SUCCESS;
    17091722}
    17101723
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