comparison TaskManager/kernel/ppe/HTask.cc @ 1425:8bd889db45a1 draft

add API
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 11 Mar 2012 19:21:49 +0900
parents 0ce6c6880b4b
children db5c022d871c af2adce9752e
comparison
equal deleted inserted replaced
1424:0ce6c6880b4b 1425:8bd889db45a1
113 mimpl->get_scheduler()->printf("too many task array used.\n"); 113 mimpl->get_scheduler()->printf("too many task array used.\n");
114 return next; 114 return next;
115 } 115 }
116 116
117 /*! 117 /*!
118 @brief Task Array の次のTask
119 @param t 今のTaskのポインタ
120 0 の場合は最初のTask
121 @return 次のTaskへのポインタ
122 */
123 Task *
124 HTask::next_task_array(int id, Task *t, int param_count, int inData_count, int outData_count)
125 {
126 Task *first = (Task*)rbuf;
127 if (t==0) {
128 // first->print();
129 return first;
130 }
131
132 Task *next = t->next();
133 next->init(id, param_count, inData_count, outData_count);
134 if ((memaddr)next - (memaddr)rbuf > r_size)
135 mimpl->get_scheduler()->printf("too many task array used.\n");
136 return next;
137 }
138
139
140 /*!
118 @brief Task Array の中のすべてのTaskが書き込まれたかどうかをチェックする 141 @brief Task Array の中のすべてのTaskが書き込まれたかどうかをチェックする
119 TaskArray 自体の spawn() は別に必要 142 TaskArray 自体の spawn() は別に必要
120 @param last 今のTaskのポインタ (最後である必要がある) 143 @param last 今のTaskのポインタ (最後である必要がある)
121 */ 144 */
122 void 145 void