annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
695
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #include "SchedTaskArrayLoad.h"
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 #include "SchedTaskArray.h"
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 #include "Task.h"
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 SchedTaskArrayLoad::SchedTaskArrayLoad(SchedTaskBase *savedTask_)
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 {
697
257ad1a518e3 TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 695
diff changeset
7 savedTask = savedTask_;
695
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 }
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9
697
257ad1a518e3 TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 695
diff changeset
10 SchedTaskArrayLoad::~SchedTaskArrayLoad() {}
695
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 void
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 SchedTaskArrayLoad::read()
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 {
697
257ad1a518e3 TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 695
diff changeset
15 // if (task->r_size == 0) return; cannot happen...
695
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 // load Task Array Data
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 readbuf = scheduler->allocate(task->r_size);
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 scheduler->dma_load(readbuf, task->rbuf,task->r_size, DMA_READ);
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 }
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 void
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 SchedTaskArrayLoad::exec() {} // to empty the pipeline
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 void
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 SchedTaskArrayLoad::write() {} // to empty the pipeline
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 SchedTaskBase*
697
257ad1a518e3 TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 695
diff changeset
28 SchedTaskArrayLoad::next(Scheduler *scheduler, SchedTaskBase *p)
695
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 {
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 Task *nextTask = (Task *)readbuf;
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 return new SchedTaskArray(savedTask, nextTask, nextTask);
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 }
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33
cbcf0182635e TaskArray on going...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 /* end */