diff TaskManager/kernel/schedule/SchedTask.cc @ 800:2708c4a7bade

run16 word count ( not yet worked. )
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 21 May 2010 07:47:25 +0900
parents 83cbe70ba25d
children daab9cd6f91f
line wrap: on
line diff
--- a/TaskManager/kernel/schedule/SchedTask.cc	Wed May 19 19:49:49 2010 +0900
+++ b/TaskManager/kernel/schedule/SchedTask.cc	Fri May 21 07:47:25 2010 +0900
@@ -50,7 +50,8 @@
     scheduler   = sc;
     cur_index   = index;
 
-    scheduler->mainMem_wait();   // これはなんで?
+    // scheduler->mainMem_wait();   // これはなんで?
+    manager = sc->manager;
 
 }
 
@@ -67,7 +68,7 @@
     // 読むデータが一つもなければ無視
     if (task->r_size == 0) return;
     // load Input Data
-    readbuf = scheduler->allocate(task->r_size);
+    readbuf = manager->allocate(task->r_size);
     scheduler->dma_load(readbuf, task->rbuf,task->r_size, DMA_READ);
 
 
@@ -80,7 +81,7 @@
     __debug("[SchedTask:%s]\n", __FUNCTION__);
 
     if (task->w_size > 0) {
-	writebuf = scheduler->allocate(task->w_size);
+	writebuf = manager->allocate(task->w_size);
     }
     scheduler->dma_wait(DMA_READ);
     task_list[task->command].wait(scheduler,task->command);
@@ -251,39 +252,44 @@
 HTaskPtr
 SchedTask::create_task(int cmd)
 {
-    return scheduler->create_task(cmd);
+    return manager->create_task(cmd);
 }
 
 HTaskPtr 
 SchedTask::create_task(int cmd, memaddr r, long rs, memaddr w, long ws)
 {
-    return scheduler->create_task(cmd,r,rs,w,ws);
+    return manager->create_task(cmd,r,rs,w,ws);
+}
+
+HTaskPtr 
+SchedTask::create_task_array(int id, int num_task, int num_param, int num_inData, int num_outData) {
+    return manager->create_task_array(id, num_task, num_param, num_inData, num_outData) ;
 }
 
 
 void SchedTask::set_task_depend(HTaskPtr master, HTaskPtr slave)
 {
-    scheduler->set_task_depend(master, slave);
+    manager->set_task_depend(master, slave);
 }
 
 void SchedTask::spawn_task(HTaskPtr t)
 {
-    scheduler->spawn_task(t);
+    manager->spawn_task(t);
 }
 
 void SchedTask::set_task_cpu(HTaskPtr t, CPU_TYPE cpu)
 {
-    scheduler->set_task_cpu(t, cpu);
+    manager->set_task_cpu(t, cpu);
 }
 
 void* SchedTask::allocate(int size) 
 {
-    return scheduler->allocate(size) ;
+    return manager->allocate(size) ;
 }
 
 void* SchedTask::allocate(int size,int align) 
 {
-    return scheduler->allocate(size,align) ;
+    return manager->allocate(size,align) ;
 }
 
 Scheduler* SchedTask::get_scheduler()