mars/module.h File Reference

[MPU] MARS Workload Module API More...


Enumerations

enum  {
  MARS_QUERY_IS_CACHED = 0,
  MARS_QUERY_IS_INITIALIZED,
  MARS_QUERY_IS_READY,
  MARS_QUERY_IS_WAITING,
  MARS_QUERY_IS_RUNNING,
  MARS_QUERY_IS_FINISHED,
  MARS_QUERY_IS_SIGNAL_SET
}
 MARS workload module query types. More...

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_contextmars_module_get_workload (void)
 [MPU] Gets pointer to current workload context.
struct mars_workload_contextmars_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)
 [MPU] Ends scheduling of specified workload.
int mars_module_workload_schedule_cancel (uint16_t id)
 [MPU] Cancels scheduling 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_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.


Detailed Description

[MPU] MARS Workload Module API


Enumeration Type Documentation

anonymous enum

MARS workload module query types.

These are the query types you can pass into mars_module_workload_query

Enumerator:
MARS_QUERY_IS_CACHED  query if workload is cached
MARS_QUERY_IS_INITIALIZED  query if workload is initialized
MARS_QUERY_IS_READY  query if workload is ready
MARS_QUERY_IS_WAITING  query if workload is waiting
MARS_QUERY_IS_RUNNING  query if workload is running
MARS_QUERY_IS_FINISHED  query if workload is finished
MARS_QUERY_IS_SIGNAL_SET  query if workload signal is set


Generated on Thu Feb 19 05:23:54 2009 for MARS by  doxygen 1.5.7.1