class IommuImpl
Defined at line 32 of file ../../zircon/kernel/dev/iommu/intel/iommu_impl.h
Public Methods
zx::result<fbl::RefPtr<Iommu>> Create (ktl::unique_ptr<const uint8_t[]> desc_bytes, size_t desc_len)
Defined at line 50 of file ../../zircon/kernel/dev/iommu/intel/iommu_impl.cc
reg::Capability * caps ()
TODO(teisenbe): These should be const, but need to teach the register
library about constness
Defined at line 57 of file ../../zircon/kernel/dev/iommu/intel/iommu_impl.h
reg::ExtendedCapability * extended_caps ()
Defined at line 58 of file ../../zircon/kernel/dev/iommu/intel/iommu_impl.h
bool IsValidBusTxnId (uint64_t bus_txn_id)
Defined at line 235 of file ../../zircon/kernel/dev/iommu/intel/iommu_impl.cc
zx::result<uint64_t> Map (uint64_t bus_txn_id, const fbl::RefPtr<VmObject> & vmo, uint64_t vmo_offset, size_t size, uint32_t perms)
Defined at line 269 of file ../../zircon/kernel/dev/iommu/intel/iommu_impl.cc
zx::result<uint64_t> MapContiguous (uint64_t bus_txn_id, const fbl::RefPtr<VmObject> & vmo, uint64_t vmo_offset, size_t size, uint32_t perms)
Defined at line 295 of file ../../zircon/kernel/dev/iommu/intel/iommu_impl.cc
zx_status_t QueryAddress (uint64_t bus_txn_id, const fbl::RefPtr<VmObject> & vmo, uint64_t map_token, uint64_t map_offset, size_t size, dev_vaddr_t * vaddr, size_t * mapped_len)
Defined at line 302 of file ../../zircon/kernel/dev/iommu/intel/iommu_impl.cc
zx_status_t Unmap (uint64_t bus_txn_id, uint64_t map_token, size_t size)
Defined at line 318 of file ../../zircon/kernel/dev/iommu/intel/iommu_impl.cc
zx_status_t ClearMappingsForBusTxnId (uint64_t bus_txn_id)
Defined at line 343 of file ../../zircon/kernel/dev/iommu/intel/iommu_impl.cc
uint64_t minimum_contiguity (uint64_t bus_txn_id)
Defined at line 794 of file ../../zircon/kernel/dev/iommu/intel/iommu_impl.cc
uint64_t aspace_size (uint64_t bus_txn_id)
Defined at line 811 of file ../../zircon/kernel/dev/iommu/intel/iommu_impl.cc
void ~IommuImpl ()
Defined at line 90 of file ../../zircon/kernel/dev/iommu/intel/iommu_impl.cc
void InvalidateContextCacheGlobal ()
Invalidate all context cache entries
Defined at line 537 of file ../../zircon/kernel/dev/iommu/intel/iommu_impl.cc
void InvalidateContextCacheDomain (uint32_t domain_id)
Invalidate all context cache entries that are in the specified domain
Defined at line 542 of file ../../zircon/kernel/dev/iommu/intel/iommu_impl.cc
void InvalidateIotlbGlobal ()
Invalidate all IOTLB entries for all domains
Defined at line 597 of file ../../zircon/kernel/dev/iommu/intel/iommu_impl.cc
void InvalidateIotlbDomainAll (uint32_t domain_id)
Invalidate all IOTLB entries for the specified domain
Defined at line 602 of file ../../zircon/kernel/dev/iommu/intel/iommu_impl.cc
void InvalidateIotlbDomainAllLocked (uint32_t domain_id)
Defined at line 560 of file ../../zircon/kernel/dev/iommu/intel/iommu_impl.cc
void InvalidateIotlbPageLocked (uint32_t domain_id, dev_vaddr_t vaddr, uint pages_pow2)
Invalidate the IOTLB entries for the specified translations.
|pages_pow2| indicates how many pages should be invalidated (calculated
as 2^|pages_pow2|).
Defined at line 574 of file ../../zircon/kernel/dev/iommu/intel/iommu_impl.cc