class Pmt
Defined at line 36 of file ../../zircon/kernel/dev/iommu/include/dev/iommu/pmt.h
Protected Members
PinnedVmObject pinned_vmo_
Public Methods
void Pmt (const Pmt & )
Defined at line 38 of file ../../zircon/kernel/dev/iommu/include/dev/iommu/pmt.h
void Pmt (Pmt && )
Defined at line 39 of file ../../zircon/kernel/dev/iommu/include/dev/iommu/pmt.h
zx::result<QueryAddressResult> QueryAddress (uint64_t query_offset, size_t query_size)
Queries the information of the pinned VMO. Attempts to find the (single)
continuous range from [|query_offset|, |query_offset| + |query_size|) in
the device's address space for the pinned VMO managed by this token.
On success, returned range might be be less than, equal or greater than the
queried size. In the case of being less than, additional contiguous ranges
can be found by calling again with a new |query_offset|.
Returns ZX_ERR_INVALID_ARGS if:
|query_offset| is not aligned to kPageSize.
Returns ZX_ERR_OUT_OF_RANGE if:
[|query_offset|, |query_offset| + |query_size|) is not a valid range in
the mapping.
void ReleasePinnedMemory ()
Unmap the memory managed by the PMT from its device's address space,
revoking device access in the process. Then release the reference to the
memory held by the internal PinnedVmObject instance, potentially unpinning
the memory and returning it to the PMM in the process.
void OnDispatcherZeroHandles ()
Called when the dispatcher which owns this PMT reaches the end of its
user-mode life. Lets the driver level know in case something special needs
to be done (such as quarantining the memory).
Pmt & operator= (const Pmt & )
Defined at line 40 of file ../../zircon/kernel/dev/iommu/include/dev/iommu/pmt.h
Pmt & operator= (Pmt && )
Defined at line 41 of file ../../zircon/kernel/dev/iommu/include/dev/iommu/pmt.h
const PinnedVmObject & pinned_vmo ()
Defined at line 43 of file ../../zircon/kernel/dev/iommu/include/dev/iommu/pmt.h
uint64_t size ()
Defined at line 72 of file ../../zircon/kernel/dev/iommu/include/dev/iommu/pmt.h
uint64_t pages ()
Defined at line 73 of file ../../zircon/kernel/dev/iommu/include/dev/iommu/pmt.h
Protected Methods
void Pmt (PinnedVmObject pinned_vmo)
Defined at line 79 of file ../../zircon/kernel/dev/iommu/include/dev/iommu/pmt.h
void ~Pmt ()
Defined at line 80 of file ../../zircon/kernel/dev/iommu/include/dev/iommu/pmt.h
Friends
void Pmt (iommu::Pmt * )
class RefPtr