class Pmt
Defined at line 21 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 23 of file ../../zircon/kernel/dev/iommu/include/dev/iommu/pmt.h
void Pmt (Pmt && )
Defined at line 24 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 25 of file ../../zircon/kernel/dev/iommu/include/dev/iommu/pmt.h
Pmt & operator= (Pmt && )
Defined at line 26 of file ../../zircon/kernel/dev/iommu/include/dev/iommu/pmt.h
const PinnedVmObject & pinned_vmo ()
Defined at line 28 of file ../../zircon/kernel/dev/iommu/include/dev/iommu/pmt.h
uint64_t size ()
Defined at line 57 of file ../../zircon/kernel/dev/iommu/include/dev/iommu/pmt.h
uint64_t pages ()
Defined at line 58 of file ../../zircon/kernel/dev/iommu/include/dev/iommu/pmt.h
Protected Methods
void Pmt (PinnedVmObject pinned_vmo)
Defined at line 63 of file ../../zircon/kernel/dev/iommu/include/dev/iommu/pmt.h
void ~Pmt ()
Defined at line 64 of file ../../zircon/kernel/dev/iommu/include/dev/iommu/pmt.h
Friends
class RefPtr