Mercurial > hg > Members > kono > Cerium
diff TaskManager/kernel/ppe/HTask.h @ 703:61b59376aec5
compatibility
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 14 Dec 2009 18:34:46 +0900 |
parents | d3afc8777daa |
children | f725c6455d19 |
line wrap: on
line diff
--- a/TaskManager/kernel/ppe/HTask.h Mon Dec 14 17:12:38 2009 +0900 +++ b/TaskManager/kernel/ppe/HTask.h Mon Dec 14 18:34:46 2009 +0900 @@ -52,7 +52,51 @@ Task *create_task_array(int task_id, int num_task, int num_param, int num_inData, int num_outData); Task *next_task_array(int task_id, Task *t); void spawn_task_array(Task *t); + + + int param_index; + int in_index; + int out_index; + + private: + +// compatibility + public: // functions + void add_inData_t(memaddr addr, int size) { + Task *t = (Task*)rbuf; + t->set_inData_t(in_index++, addr,size); + } + void add_outData_t(memaddr addr, int size) { + Task *t = (Task*)rbuf; + t->set_outData_t(out_index++, addr,size); + } + void set_inData_t(int index, memaddr addr, int size) { + Task *t = (Task*)rbuf; + t->set_inData_t(index, addr,size); + } + void set_outData_t(int index, memaddr addr, int size) { + Task *t = (Task*)rbuf; + t->set_inData_t(index, addr,size); + } + void add_param_t(memaddr param) { + Task *t = (Task*)rbuf; + t->set_param_t(param_index++, param); + } + void set_param_t(int index, memaddr param) { + Task *t = (Task*)rbuf; + t->set_param_t(index, param); + } + +#define add_param(param) add_param_t((memaddr)(param)) +#define set_param(index,param) set_param_t(index, (memaddr) (param)) + +#define add_inData(addr, size) \ + add_inData_t((memaddr)(addr), (size)); +#define add_outData(addr, size) \ + add_outData_t((memaddr)(addr), (size)); + #endif + }; typedef HTask* HTaskPtr;