Mercurial > hg > Game > Cerium
diff TaskManager/kernel/ppe/TaskManagerImpl.cc @ 897:6bd218d3f643 draft
add return address in SimpleTask for debugging.
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 16 Jul 2010 19:00:22 +0900 |
parents | 641451e6a95b |
children | aafa99c856a3 |
line wrap: on
line diff
--- a/TaskManager/kernel/ppe/TaskManagerImpl.cc Fri Jul 16 17:23:49 2010 +0900 +++ b/TaskManager/kernel/ppe/TaskManagerImpl.cc Fri Jul 16 19:00:22 2010 +0900 @@ -36,8 +36,8 @@ TaskManagerImpl::systask_init() { systask_register(); - systask_start = create_task(StartTask,0,0,0,0); - systask_finish = create_task(FinishTask,0,0,0,0); + systask_start = create_task(StartTask,0,0,0,0,__builtin_return_address(0)); + systask_finish = create_task(FinishTask,0,0,0,0,__builtin_return_address(0)); systask_start->spawn(); @@ -49,19 +49,19 @@ } HTaskPtr -TaskManagerImpl::create_task(int cmd,memaddr rbuf, long r_size, memaddr wbuf, long w_size) -{ +TaskManagerImpl::create_task(int cmd,memaddr rbuf, long r_size, memaddr wbuf, long w_size, void *from) { HTaskPtr new_task; new_task = htaskImpl->create(cmd, rbuf, r_size, wbuf, w_size); new_task->post_func = noaction; new_task->mimpl = this; + new_task->from = (memaddr)from; return new_task; } HTaskPtr -TaskManagerImpl::create_task(int cmd) +TaskManagerImpl::create_task(int cmd,void *from) { HTaskPtr new_task; @@ -72,14 +72,15 @@ new_task->create_task_array(cmd,1,8,8,8); // rbuf, r_size were set new_task->command = TaskArray1; + new_task->from = (memaddr)from; return new_task; } HTaskPtr -TaskManagerImpl::create_task_array(int id, int num_task, int num_param, int num_inData, int num_outData) +TaskManagerImpl::create_task_array(int id, int num_task, int num_param, int num_inData, int num_outData, void *from) { - HTaskPtr ta = create_task(TaskArray,0,0,0,0); + HTaskPtr ta = create_task(TaskArray,0,0,0,0, from); ta->create_task_array(id, num_task, num_param, num_inData, num_outData) ; return ta; }