lreply

Number0x16
Signature(reply_handle, len) -> 0 or -err
Groupmessaging
Since1.0

Reply to a long-message caller using the minted reply capability.

The long message buffer is inside the TLS ( on ARMv7: TPIDRURO -> tdata_t -> lmsg_buf) and is LMSG_BUF_SIZE bytes large. You can use functions in channel.h to abstract the lmsg buffer operations. The caller’s r2-r3 are zeroed.

Pitfalls

The reply capability will be consumed unconditionally.

Arguments

RegisterNameDescription
r0reply_handleHandle identifying the blocked caller
r1lenReply byte count in the lmsg buffer

Returns

0 on success.

Errors

CodeCondition
ERR_OVERFLOWLength of message exceeds the lmsg buffer size.
ERR_BADHANDLENo capability exists for the given handle.
ERR_BADTYPEThis capability is not a reply capability.
ERR_DEADRecipient has died or timed out before the reply could be sent.

See also