class DeleteSecureHeapPhysicalRange
Defined at line 1821 of file fidling/gen/sdk/fidl/fuchsia.sysmem/fuchsia.sysmem/cpp/fidl/fuchsia.sysmem/cpp/markers.h
This request from sysmem to the securemem driver conveys a physical
range to delete, for a heap whose physical range(s) are set up via
sysmem.
Only sysmem can call this because only sysmem is handed the client end
of a FIDL channel serving this protocol, via RegisterSecureMem(). The
securemem driver is the server end of this protocol.
The securemem driver must configure all the covered offsets as not
protected before responding to this message with success.
On failure, the securemem driver must ensure the protected range was not
deleted.
Sysmem must not call this if dynamic_protection_ranges false.
If dynamic_protection_ranges is true, sysmem can call this repeatedly,
on various ranges that exist at the time of the call.
If any portion of the range being deleted is not also covered by another
protected range, then any ongoing DMA to any part of the entire range
may be interrupted / may fail, potentially in a way that's disruptive to
the entire system (bus lockup or similar, depending on device details).
Therefore, the caller must ensure that no ongoing DMA is occurring to
any portion of the range being deleted, unless the caller has other
active ranges covering every block of the range being deleted. Ongoing
DMA to/from blocks outside the range being deleted is never impacted by
the deletion.
Errors:
* ZX_ERR_BAD_STATE - called when !dynamic_protection_ranges.
* ZX_ERR_INVALID_ARGS - unexpected heap, or range that doesn't conform
to protected_range_granularity.
* ZX_ERR_INTERNAL - generic internal error (such as in communication
with TEE which doesn't generate zx_status_t errors).
* ZX_ERR_NOT_FOUND - the specified range is not found.
* other errors are possible, such as from communication failures or
server propagation of zx_status_t failures.
Public Members
static const bool kHasClientToServer
static const bool kHasClientToServerBody
static const bool kHasServerToClient
static const bool kHasServerToClientBody
static const bool kHasNonEmptyUserFacingResponse
static const bool kHasDomainError
static const bool kHasFrameworkError
static const uint64_t kOrdinal