Mercurial > hg > Members > kono > Cerium
diff TaskManager/kernel/schedule/SchedTask.cc @ 629:8843edf37c0e
Cell 64 bit tried, but not yet worked.
Cell's list DMA is 32bit.
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 18 Nov 2009 13:32:58 +0900 |
parents | 60aa3f241b10 |
children | 0558abba673c |
line wrap: on
line diff
--- a/TaskManager/kernel/schedule/SchedTask.cc Tue Nov 17 01:35:12 2009 +0900 +++ b/TaskManager/kernel/schedule/SchedTask.cc Wed Nov 18 13:32:58 2009 +0900 @@ -172,7 +172,7 @@ SchedTask::get_input(void *buff, int index) { if (buff != NULL) { - return (void*)((memaddr)buff + inListData->bound[index]); + return (void*)((char*)buff + inListData->bound[index]); } else { return NULL; } @@ -184,7 +184,11 @@ memaddr SchedTask::get_inputAddr(int index) { +#ifdef __CERIUM_CELL__ + return (memaddr)inListData->element[index].addr; +#else return inListData->element[index].addr; +#endif } /** @@ -203,7 +207,7 @@ SchedTask::get_output(void *buff, int index) { if (buff != NULL) { - return (void*)((memaddr)buff + outListData->bound[index]); + return (void*)((char *)buff + outListData->bound[index]); } else { return NULL; } @@ -215,7 +219,11 @@ memaddr SchedTask::get_outputAddr(int index) { +#ifdef __CERIUM_CELL__ + return (memaddr)outListData->element[index].addr; +#else return outListData->element[index].addr; +#endif } /** @@ -269,7 +277,7 @@ scheduler->mainMem_wait(); } -void* +memaddr SchedTask::mainMem_get(int id) { return scheduler->mainMem_get(id); }