NAME
pinned_memory_token - Representation of a device DMA grant
SYNOPSIS
Pinned Memory Tokens (PMTs) represent an outstanding access grant to a device for performing DMA.
DESCRIPTION
PMTs are obtained by pinning memory with a BTI object.
It is valid for the device associated with the BTI to access the memory represented
by the PMT for as long as the PMT object is around. When the PMT object is
destroyed, either via zx_handle_close()
, zx_pmt_unpin()
, or process
termination, access to the represented memory becomes illegal (this is
enforced by hardware on systems with the capability to do so, such as IOMMUs).
If a PMT object is destroyed by means other than zx_pmt_unpin()
, the
underlying memory is quarantined. See
bus_transaction_initiator for more details.
SEE ALSO
- bus_transaction_initiator - Bus Transaction Initiators
SYSCALLS
zx_bti_pin()
- pin memory and grant access to it to the BTIzx_pmt_unpin()
- revoke access and unpin memory