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