VirtualBox

Changeset 87527 in vbox


Ignore:
Timestamp:
Feb 2, 2021 7:31:20 AM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
142552
Message:

AMD IOMMU: bugref:9654 IOTLB cache bits.

File:
1 edited

Legend:

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

    r87526 r87527  
    737737            {
    738738                --pThis->cCachedIotlbes;
    739                 uint64_t const uRangeIovaLast = pIotlbe->Core.KeyLast;
     739
     740                /* Grab the last valid address in the range. */
     741                uint64_t uRangeIovaLast;
     742                uint16_t uRangeDomainId;
     743                iommuAmdIotlbDeconstructKey(pIotlbe->Core.KeyLast, &uRangeDomainId, &uRangeIovaLast);
     744                Assert(uRangeDomainId == uDomainId); NOREF(uRangeDomainId);   /* Paranoia. */
     745
     746                /* Remove the range. */
    740747                RTListNodeRemove(&pIotlbe->NdLru);
    741748                RTListPrepend(&pThis->LstLruIotlbe, &pIotlbe->NdLru);
    742749                RT_ZERO(*pIotlbe);
     750
     751                /* Check if we need to invalidate the next range. */
    743752                if (uIovaLast > uRangeIovaLast)
    744753                    uIova = uRangeIovaLast + 1;
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