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