Mercurial > hg > Members > kono > Cerium
comparison TaskManager/kernel/schedule/SchedTaskArrayLoad.cc @ 697:257ad1a518e3
TaskArray on going...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 13 Dec 2009 18:45:09 +0900 |
parents | cbcf0182635e |
children | 7e937a1cd121 |
comparison
equal
deleted
inserted
replaced
696:b5c3ef336878 | 697:257ad1a518e3 |
---|---|
2 #include "SchedTaskArray.h" | 2 #include "SchedTaskArray.h" |
3 #include "Task.h" | 3 #include "Task.h" |
4 | 4 |
5 SchedTaskArrayLoad::SchedTaskArrayLoad(SchedTaskBase *savedTask_) | 5 SchedTaskArrayLoad::SchedTaskArrayLoad(SchedTaskBase *savedTask_) |
6 { | 6 { |
7 savedTask = saveTask_; | 7 savedTask = savedTask_; |
8 } | 8 } |
9 | 9 |
10 ~SchedTaskArrayLoad::SchedTaskArrayLoad() {} | 10 SchedTaskArrayLoad::~SchedTaskArrayLoad() {} |
11 | 11 |
12 void | 12 void |
13 SchedTaskArrayLoad::read() | 13 SchedTaskArrayLoad::read() |
14 { | 14 { |
15 if (task->r_size == 0) return; | 15 // if (task->r_size == 0) return; cannot happen... |
16 // load Task Array Data | 16 // load Task Array Data |
17 readbuf = scheduler->allocate(task->r_size); | 17 readbuf = scheduler->allocate(task->r_size); |
18 scheduler->dma_load(readbuf, task->rbuf,task->r_size, DMA_READ); | 18 scheduler->dma_load(readbuf, task->rbuf,task->r_size, DMA_READ); |
19 } | 19 } |
20 | 20 |
23 | 23 |
24 void | 24 void |
25 SchedTaskArrayLoad::write() {} // to empty the pipeline | 25 SchedTaskArrayLoad::write() {} // to empty the pipeline |
26 | 26 |
27 SchedTaskBase* | 27 SchedTaskBase* |
28 SchedNop::next(Scheduler *scheduler, SchedTaskBase *p) | 28 SchedTaskArrayLoad::next(Scheduler *scheduler, SchedTaskBase *p) |
29 { | 29 { |
30 Task *nextTask = (Task *)readbuf; | 30 Task *nextTask = (Task *)readbuf; |
31 return new SchedTaskArray(savedTask, nextTask, nextTask); | 31 return new SchedTaskArray(savedTask, nextTask, nextTask); |
32 } | 32 } |
33 | 33 |