class PinnedMemoryTokenDispatcher

Defined at line 34 of file ../../zircon/kernel/object/include/object/pinned_memory_token_dispatcher.h

Public Methods

zx_obj_type_t get_type ()

Defined at line 43 of file ../../zircon/kernel/object/include/object/pinned_memory_token_dispatcher.h

void Unpin ()

Unpin and unmap the memory which was managed by this PMT

Defined at line 47 of file ../../zircon/kernel/object/include/object/pinned_memory_token_dispatcher.h

zx::result<iommu::QueryAddressResult> QueryAddress (uint64_t offset, uint64_t size)

Query the pinned and mapped VMO for a region specified by offset/size.

Defined at line 53 of file ../../zircon/kernel/object/include/object/pinned_memory_token_dispatcher.h

uint64_t size ()

Returns the number of bytes pinned by the PMT.

Defined at line 60 of file ../../zircon/kernel/object/include/object/pinned_memory_token_dispatcher.h

void ~PinnedMemoryTokenDispatcher ()

Defined at line 81 of file ../../zircon/kernel/object/pinned_memory_token_dispatcher.cc

void on_zero_handles ()

Defined at line 71 of file ../../zircon/kernel/object/pinned_memory_token_dispatcher.cc

Protected Methods

zx_status_t Create (fbl::RefPtr<BusTransactionInitiatorDispatcher> bti, PinnedVmObject pinned_vmo, uint32_t perms, KernelHandle<PinnedMemoryTokenDispatcher> * handle, zx_rights_t * rights)

Set the permissions of |pinned_vmo|'s pinned range to |perms| on

behalf of |bti|. |perms| should be flags suitable for the Iommu::Map()

interface. Must be created under the BTI dispatcher's lock.

Defined at line 32 of file ../../zircon/kernel/object/pinned_memory_token_dispatcher.cc

Friends

class BusTransactionInitiatorDispatcher