# HG changeset patch # User Shinji KONO # Date 1254700616 -32400 # Node ID c9127aec8c9cfe0895d5676f9ddb917fb80a0d6b # Parent 926d6aff886cd10702a141f0725c0399e5a8304e remove duplicate sources in Cell/spe diff -r 926d6aff886c -r c9127aec8c9c TaskManager/Cell/spe/Task.cc --- a/TaskManager/Cell/spe/Task.cc Sun Oct 04 11:47:46 2009 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,59 +0,0 @@ -#include "Task.h" - -/** - * タスクの入力データを追加する - * - * @param [addr] add input data - * @param [size] size of data at [addr] - * - * @return if ([ret] == 0) ? success : failuer; - */ -int -Task::add_inData_t(unsigned int addr, int size) -{ - return add_data(this->inData, addr, size); -} - -int -Task::add_outData_t(unsigned int addr, int size) -{ - return add_data(this->outData, addr, size); -} - -/** - * エラーの時に -1 を返す、ってことするよりは - * perror みたいにしたほうがわかりやすいかな。 - * - * 現在は 3 個まで。 - * 本当は、3個以上にすると task->param[] には アドレスが入り - * そのアドレスは メインメモリでアロケートされた int の集合。 - */ -int -Task::add_param(int _param) -{ - if (param_size >= MAX_PARAMS) return -1; - - this->param[param_size++] = _param; - return 0; -} - -/* - * エラーの時に -1 を返す、ってことするよりは - * perror みたいにしたほうがわかりやすいかな。 - */ -int -Task::add_data(ListDataPtr list, uint32 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++]; - elm->addr = addr; - elm->size = size; - - return 0; -} diff -r 926d6aff886c -r c9127aec8c9c TaskManager/Cell/spe/TaskList.cc --- a/TaskManager/Cell/spe/TaskList.cc Sun Oct 04 11:47:46 2009 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,16 +0,0 @@ -#include "TaskList.h" - -TaskListPtr -TaskList::append(TaskListPtr list, TaskListPtr q) -{ - TaskListPtr p = list; - - if (!p) { - return q; - } else { - while (p->next) p = p->next; - p->next = q; - return list; - } -} - diff -r 926d6aff886c -r c9127aec8c9c TaskManager/Cell/spe/TaskQueue.cc --- a/TaskManager/Cell/spe/TaskQueue.cc Sun Oct 04 11:47:46 2009 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ -#include "TaskQueue.h" - -TaskQueue::TaskQueue(TaskPtr q) -{ - task = q; - next = NULL; -} - -TaskQueuePtr -TaskQueue::append(TaskQueuePtr list, TaskQueuePtr q) -{ - TaskQueuePtr p = list; - - if (!p) { - return q; - } else { - while(p->next) p = p->next; - p->next = q; - return list; - } -} diff -r 926d6aff886c -r c9127aec8c9c TaskManager/Makefile.cell --- a/TaskManager/Makefile.cell Sun Oct 04 11:47:46 2009 +0900 +++ b/TaskManager/Makefile.cell Mon Oct 05 08:56:56 2009 +0900 @@ -19,15 +19,17 @@ CELL_SPE_SRCS = \ $(CELL_SPE_DIR)/CellDmaManager.cc \ + $(CELL_SPE_DIR)/CellScheduler.cc \ + $(CELL_SPE_DIR)/main.cc + +CELL_SPE_TASK_SRCS = \ $(CELL_SPE_DIR)/TaskList.cc \ - $(CELL_SPE_DIR)/CellScheduler.cc \ $(CELL_SPE_DIR)/TaskQueue.cc \ - $(CELL_SPE_DIR)/Task.cc \ - $(CELL_SPE_DIR)/main.cc + $(CELL_SPE_DIR)/Task.cc # $(wildcard $(CELL_SPE_DIR)/*.cc) -CELL_SPE_OBJS = $(CELL_SPE_SRCS:.cc=.o) $(CELL_SPE_SCHEDULE_OBJ) +CELL_SPE_OBJS = $(CELL_SPE_SRCS:.cc=.o) $(CELL_SPE_SCHEDULE_OBJ) $(CELL_SPE_TASK_SRCS:.cc=.o) SPUCC = spu-g++ @@ -53,6 +55,8 @@ $(CELL_SPE_SCHEDULE_SRC): kernel/schedule/*.cc cp kernel/schedule/*.cc $(CELL_SPE_DIR)/ cp kernel/memory/*.cc $(CELL_SPE_DIR)/ + cp kernel/ppe/{TaskList.cc,TaskQueue.cc,Task.cc} $(CELL_SPE_DIR)/ + $(CELL_SPE_OBJS): %.o : %.cc $(SPUCC) $(CFLAGS) $(SPE_CFLAGS) $(INCLUDE) -c $< -o $@ @@ -61,7 +65,7 @@ rm -f $(SPETARGET) cellclean: - rm -f $(CELL_SPE_OBJS) $(CELL_SPE_SCHEDULE_SRC) + rm -f $(CELL_SPE_OBJS) $(CELL_SPE_SCHEDULE_SRC) $(CELL_SPE_TASK_SRCS) (cd $(CELL_SPE_DIR); rm -f *~ \#*) diff -r 926d6aff886c -r c9127aec8c9c TaskManager/kernel/ppe/Task.cc --- a/TaskManager/kernel/ppe/Task.cc Sun Oct 04 11:47:46 2009 +0900 +++ b/TaskManager/kernel/ppe/Task.cc Mon Oct 05 08:56:56 2009 +0900 @@ -31,6 +31,10 @@ /** * エラーの時に -1 を返す、ってことするよりは * perror みたいにしたほうがわかりやすいかな。 + * + * 現在は 3 個まで。 + * 本当は、3個以上にすると task->param[] には アドレスが入り + * そのアドレスは メインメモリでアロケートされた int の集合。 */ int Task::add_param(int _param)