l4_ipc -- Overview over IPC in L4

1 Description

Ipc in L4 is always synchronous and unbuffered: a message is transferred from the sender to the recipient if and only if the recipient has invoked a corresponding ipc operation. The sender blocks until this happens or a timeout specified by the sender elapsed without the destination becoming ready to receive.

Ipc can be used to copy data as well as to map or grant fpages from the sender to the recipient.

It currently comprises 7 calls:

l4_ipc_call()
The usual blocking RPC.
l4_receive()
Wait for a message from a specified thread.
l4_reply_and_wait()
Send a message to a client and wait for the next order from a client.
l4_reply_deceiting_and_wait()
Send a message to a client (using a virtual sender id) and wait for the next order from a client.
l4_send()
Send a message and continue.
l4_send_deceiting()
Send a message using a virtual sender id.
l4_wait()
Wait for a message from any thread.

2 See Also

l4_ipc_call , l4_ipc_receive , l4_ipc_reply_and_wait , l4_ipc_reply_deceiting_and_wait , l4_ipc_send , l4_ipc_send_deceiting , l4_ipc_wait
Ich