Mercurial > hg > Game > Cerium
diff TaskManager/kernel/ppe/Task.cc @ 713:97adb3fe85c6 draft
remove SIMPLE_TASK conditional
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 16 Dec 2009 15:27:46 +0900 |
parents | b2b4a1243961 |
children | 1b225972ae88 |
line wrap: on
line diff
--- a/TaskManager/kernel/ppe/Task.cc Wed Dec 16 09:39:24 2009 +0900 +++ b/TaskManager/kernel/ppe/Task.cc Wed Dec 16 15:27:46 2009 +0900 @@ -1,90 +1,5 @@ #include "Task.h" -// #include "SchedTask.h" it includes #define Task - -#ifndef SIMPLE_TASK -/** - * タスクの入力データを追加する - * - * @param [addr] add input data - * @param [size] size of data at [addr] - * - * @return if ([ret] == 0) ? success : failuer; - */ -int -Task::add_inData_t(memaddr addr, int size) -{ - return add_data(inData, addr, size); -} - -/** - * タスクの出力先を追加する - * - * @param[in] addr Address at out data - * @param[in] size Size of data transfer - * - * @return if ([ret] == 0) ? success : failuer; - */ -int -Task::add_outData_t(memaddr addr, int size) -{ - return add_data(outData, addr, size); -} - -/** - * エラーの時に -1 を返す、ってことするよりは - * perror みたいにしたほうがわかりやすいかな。 - * - * 現在は MAX_PARAMS 個まで。 - * 本当は、MAX_PARAMS個以上にすると task->param[] には アドレスが入り - * そのアドレスは メインメモリでアロケートされた int の集合。 - */ - -// こちらのAPIは、受け側と出力側での対応を良く見れない。廃止の方向。 -int -Task::add_param_t(memaddr _param) -{ - if (param_count >= MAX_PARAMS) return -1; - - this->param[param_count++] = _param; - return 0; -} - -int -Task::set_param_t(int index, memaddr _param) -{ - if (index >= MAX_PARAMS) return -1; - - this->param[index] = _param; - return 0; -} - -/* - * エラーの時に -1 を返す、ってことするよりは - * perror みたいにしたほうがわかりやすいかな。 - */ -int -Task::add_data(ListData& list, memaddr addr, int size) -{ - if (list.length >= MAX_LIST_DMA_SIZE) return -1; - - list.bound[list.length] = list.size; - - // size でも制限かけるべき? - list.size += size; - - ListElementPtr elm = &list.element[list.length++]; -#ifdef __CERIUM_CELL__ - elm->addr = (uint32)(unsigned long)addr; -#else - elm->addr = addr; -#endif - elm->size = size; - return 0; -} - -#else /* ifdef SIMPLE_TASK */ - void Task::print() { @@ -93,11 +8,11 @@ "outData size %d\n", command, size(), param_count, inData_count, outData_count ); for(int i=0; i< param_count && i<5; i++) { + // large param_count shall be a bug printf("param %d = 0x%ld\n", i, (long)param(i)); } } -#endif /* end */