Functions | |
void | mars_module_main (void) |
[MPU] Entry point for workload module. | |
uint32_t | mars_module_get_ticks (void) |
[MPU] Gets tick counter value. | |
uint64_t | mars_module_get_mars_context_ea (void) |
[MPU] Gets ea of MARS context. | |
uint16_t | mars_module_get_kernel_id (void) |
[MPU] Gets id of kernel that the module is being executed on. | |
uint16_t | mars_module_get_workload_id (void) |
[MPU] Gets id of current workload context. | |
struct mars_workload_context * | mars_module_get_workload (void) |
[MPU] Gets pointer to current workload context. | |
struct mars_workload_context * | mars_module_get_workload_by_id (uint16_t id) |
[MPU] Gets pointer to workload context specified by id. | |
int | mars_module_workload_query (uint16_t id, int query) |
[MPU] Returns whether or not specified query is satisfied. | |
int | mars_module_workload_wait_set (uint16_t id) |
[MPU] Sets calling workload to wait for completion of specified workload. | |
int | mars_module_workload_wait_reset (void) |
[MPU] Sets calling workload to not wait for completion of any workloads. | |
int | mars_module_workload_signal_set (uint16_t id) |
[MPU] Sets signal for specified workload. | |
int | mars_module_workload_signal_reset (void) |
[MPU] Resets signal for specified workload. | |
int | mars_module_workload_schedule_begin (uint16_t id, uint8_t priority, struct mars_workload_context **workload) |
[MPU] Begins scheduling of specified workload. | |
int | mars_module_workload_schedule_end (uint16_t id, int cancel) |
[MPU] Ends scheduling of specified workload. | |
int | mars_module_workload_unschedule_begin (uint16_t id, struct mars_workload_context **workload) |
[MPU] Begins unscheduling of specified workload. | |
int | mars_module_workload_unschedule_end (uint16_t id) |
[MPU] Ends unscheduling of specified workload. | |
void | mars_module_workload_wait (void) |
[MPU] Returns execution to kernel with workload in wait state. | |
void | mars_module_workload_yield (void) |
[MPU] Returns execution to kernel with workload in ready state. | |
void | mars_module_workload_finish (void) |
[MPU] Returns execution to kernel with workload in finished state. | |
int | mars_module_host_signal_send (uint64_t watch_point_ea) |
[MPU] Notify host a particular 32-bit area is modified. | |
int | mars_module_host_callback_set (uint64_t callback_ea, const struct mars_callback_args *in) |
[MPU] Request host to call registered callback. | |
int | mars_module_host_callback_reset (struct mars_callback_args *out) |
[MPU] Resets a host callback request and requests result. | |
int | mars_module_mutex_lock_get (uint64_t mutex_ea, struct mars_mutex *mutex) |
[MPU] Locks a mutex. | |
int | mars_module_mutex_unlock_put (uint64_t mutex_ea, struct mars_mutex *mutex) |
[MPU] Unlocks a mutex. | |
int | mars_module_dma_get (void *ls, uint64_t ea, uint32_t size, uint32_t tag) |
[MPU] DMA transfer from host storage to MPU storage. | |
int | mars_module_dma_put (const void *ls, uint64_t ea, uint32_t size, uint32_t tag) |
[MPU] DMA transfer from MPU storage to host storage. | |
int | mars_module_dma_wait (uint32_t tag) |
[MPU] Waits for completion of requested DMA transfer. |