Mercurial > hg > Members > kono > Cerium
diff TaskManager/kernel/schedule/SchedTask.h @ 373:eab18aa0c7f6
MemList not working
author | kazz@kazzone.cr.ie.u-ryukyu.ac.jp |
---|---|
date | Fri, 31 Jul 2009 17:52:27 +0900 |
parents | 09f33c51a204 |
children | 5e2d30bfbf23 |
line wrap: on
line diff
--- a/TaskManager/kernel/schedule/SchedTask.h Fri Jul 31 01:44:06 2009 +0900 +++ b/TaskManager/kernel/schedule/SchedTask.h Fri Jul 31 17:52:27 2009 +0900 @@ -6,6 +6,7 @@ #include "SchedTaskBase.h" #include "ListData.h" #include "TaskGroup.h" +#include "MemList.h" class SchedTask : public SchedTaskBase { public: @@ -61,7 +62,7 @@ void (SchedTask::*ex_exec)(); void (SchedTask::*ex_write)(); SchedTaskBase* (SchedTask::*ex_next)(); - + /* functions */ // override @@ -80,7 +81,7 @@ //--- System API --- SchedTask* get_nextTask(TaskListPtr list); - + /** * PPE で生成されたタスクに対する * __init__, read,exec,write,next の付属(?)処理 @@ -106,7 +107,7 @@ void __setRenew(); void __init__(TaskListPtr _list, TaskPtr _task, int index, - ListDataPtr rbuf, ListDataPtr wbuf, Scheduler* sc); + ListDataPtr rbuf, ListDataPtr wbuf, Scheduler* sc); //--- User API --- int get_cpuid(); @@ -124,7 +125,9 @@ void* global_alloc(int id, int size); void* global_get(int id); + void global_set(int id, void *addr); void global_free(int id); + MemList* createMemList(int size, int count); void mainMem_alloc(int id, int size); void mainMem_wait(); @@ -136,7 +139,7 @@ void dma_store(void *buf,uint32 addr, uint32 size, uint32 mask); void dma_wait(uint32 mask); void show_dma_wait(); - + /*! SPU用の get_input, get_output */ @@ -144,10 +147,10 @@ void* get_input(int index) { return get_input(__readbuf, index); } - + void* get_output(int index) { return get_output(__writebuf, index); - } + } }; const int SCHED_TASK_NORMAL = 0;