|
Barrelfish
|
Kernel management of dispatchers. More...
Data Structures | |
| struct | guest |
| Structure to hold information regarding AMD SVM. More... | |
| struct | dcb |
| The dispatcher control block. More... | |
Functions | |
| void | context_switch (struct dcb *dcb) |
| Switch context to 'dcb'. More... | |
| errval_t | lmp_can_deliver_payload (struct capability *ep, size_t payload_len) |
| Check if it would be possible to deliver LMP payload, but do not deliver it. More... | |
| errval_t | lmp_deliver_payload (struct capability *ep, struct dcb *send, uintptr_t *payload, size_t payload_len, bool captransfer, bool now) |
| Deliver the payload of an LMP message to a dispatcher. More... | |
| errval_t | lmp_deliver (struct capability *ep, struct dcb *send, uintptr_t *payload, size_t payload_len, capaddr_t send_cptr, uint8_t send_bits, bool give_away) |
| Deliver an LMP message to a dispatcher. More... | |
Variables | |
| uint64_t | context_switch_counter |
| Counter for number of context switches. | |
| struct dcb * | dcb_current |
| The currently running dispatcher and FPU dispatcher. More... | |
| struct dcb * | fpu_dcb |
| Remembered FPU-using DCB (NULL if none) | |
Kernel management of dispatchers.
| void context_switch | ( | struct dcb * | dcb | ) |
Switch context to 'dcb'.
Switch to the dispatcher pointed to by 'dcb'. Sets 'dcb_current'.
| dcb | Pointer to dispatcher to which to switch context. |
| errval_t lmp_can_deliver_payload | ( | struct capability * | ep, |
| size_t | payload_len | ||
| ) |
Check if it would be possible to deliver LMP payload, but do not deliver it.
| ep | Endpoint capability to send to |
| payload_len | Length (in number of words) of payload |
| errval_t lmp_deliver | ( | struct capability * | ep, |
| struct dcb * | send, | ||
| uintptr_t * | payload, | ||
| size_t | len, | ||
| capaddr_t | send_cptr, | ||
| uint8_t | send_level, | ||
| bool | give_away | ||
| ) |
Deliver an LMP message to a dispatcher.
| ep | Endpoint capability to send to |
| send | DCB of the sender. Can be NULL for kernel-originated messages |
| payload | Buffer containing message payload |
| len | Length of message payload, as number of words |
| send_cptr | Capability to be transferred with LMP |
| send_level | CSpace level of cptr |
| errval_t lmp_deliver_payload | ( | struct capability * | ep, |
| struct dcb * | send, | ||
| uintptr_t * | payload, | ||
| size_t | payload_len, | ||
| bool | captransfer, | ||
| bool | now | ||
| ) |
Deliver the payload of an LMP message to a dispatcher.
| ep | Endpoint capability to send to |
| send | DCB of the sender. Can be NULL for kernel-originated messages |
| payload | Message payload |
| payload_len | Length (in number of words) of payload |
| captransfer | True iff a cap has also been delivered |
| struct dcb* dcb_current |
The currently running dispatcher and FPU dispatcher.
The currently running dispatcher and FPU dispatcher.
1.8.11