|
Barrelfish
|
Kernel management of dispatchers (implementation). More...
Functions | |
| 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 len, capaddr_t send_cptr, uint8_t send_level, bool give_away) |
| Deliver an LMP message to a dispatcher. More... | |
Variables | |
| systime_t | kernel_timeslice |
| The kernel timeslice given in system ticks. More... | |
| unsigned int | config_timeslice = CONFIG_TIMESLICE |
| uint64_t | context_switch_counter = 0 |
| Counter for number of context switches. | |
| struct dcb * | dcb_current = NULL |
| Current execution dispatcher (when in system call or exception) More... | |
| struct dcb * | fpu_dcb = NULL |
| Remembered FPU-using DCB (NULL if none) | |
Kernel management of dispatchers (implementation).
| 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 |
| unsigned int config_timeslice = CONFIG_TIMESLICE |
command-line option for kernel timeslice in milliseconds
| struct dcb* dcb_current = NULL |
Current execution dispatcher (when in system call or exception)
The currently running dispatcher and FPU dispatcher.
| systime_t kernel_timeslice |
The kernel timeslice given in system ticks.
kernel timeslice in system ticks
1.8.11