|  | 
| 
 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. 
 |