class ContextTableState

Defined at line 22 of file ../../zircon/kernel/dev/iommu/intel/context_table_state.h

Public Methods

void ~ContextTableState ()

Defined at line 31 of file ../../zircon/kernel/dev/iommu/intel/context_table_state.cc

bool includes_bdf (ds::Bdf bdf)

Check if this ContextTableState is for the given BDF

Defined at line 36 of file ../../zircon/kernel/dev/iommu/intel/context_table_state.h

zx_status_t Create (uint8_t bus, bool extended, bool upper, IommuImpl * parent, volatile ds::RootEntrySubentry * root_entry, ktl::unique_ptr<ContextTableState> * table)

Create a ContextTableState for the given bus.

If |extended| is true, then this will represent a reg::ExtendedContextTable,

and the table will handle translations for, depending on |upper|, either the

lower (dev

<

16) or upper half of this bus.

If |extended| is false, this represents a reg::ContextTable.

Defined at line 46 of file ../../zircon/kernel/dev/iommu/intel/context_table_state.cc

zx_status_t CreateDeviceContext (ds::Bdf bdf, uint32_t domain_id, DeviceContext ** context)

Create a new DeviceContext representing the given BDF, and give it the specified domain_id.

It is a fatal error to try to create a context for a BDF that already has one.

Defined at line 74 of file ../../zircon/kernel/dev/iommu/intel/context_table_state.cc

zx_status_t GetDeviceContext (ds::Bdf bdf, DeviceContext ** context)

Defined at line 99 of file ../../zircon/kernel/dev/iommu/intel/context_table_state.cc

void UnmapAllFromDeviceContextsLocked ()

Removes all mappings from all device contexts. This is only intended to be used just prior to

destruction as it requires holding the parent lock.

Defined at line 109 of file ../../zircon/kernel/dev/iommu/intel/context_table_state.cc