Mercurial > hg > Members > kono > Cerium
annotate TaskManager/kernel/schedule/SchedTaskArrayNop.cc @ 1048:40cde8c1a6cd default tip
add ScaleXY (not for allExecute...)
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 08 Dec 2010 06:22:15 +0900 |
parents | c67379f9d411 |
children |
rev | line source |
---|---|
786
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
1 #include "SchedTaskArrayNop.h" |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
2 #include "Scheduler.h" |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
3 |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
4 |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
5 SchedTaskArrayNop::SchedTaskArrayNop(Scheduler *s, SchedTaskBase *savedTask_, Task *curTask_, Task *_array) |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
6 { |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
7 savedTask = savedTask_; |
797
45c141669de7
SchedTask instance variable clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
786
diff
changeset
|
8 atask = _array; |
786
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
9 scheduler = s; |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
10 |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
11 inListData.bound = 0; |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
12 inListData.size = 0; |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
13 inListData.length = 0; |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
14 inListData.element = 0; |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
15 outListData.bound = 0; |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
16 outListData.size = 0; |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
17 outListData.length = 0; |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
18 outListData.element = 0; |
893
96536163c0a0
fix SimpleTask alignment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
890
diff
changeset
|
19 cur_index = -3; |
786
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
20 } |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
21 |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
22 |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
23 |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
24 /** |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
25 */ |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
26 SchedTaskArrayNop::~SchedTaskArrayNop() |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
27 { |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
28 } |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
29 |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
30 |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
31 /** |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
32 * Task data / code read |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
33 */ |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
34 void |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
35 SchedTaskArrayNop::read() |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
36 { |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
37 |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
38 } |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
39 |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
40 /** |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
41 * Wait read data and execute task |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
42 * Start write DMA |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
43 */ |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
44 void |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
45 SchedTaskArrayNop::exec() |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
46 { |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
47 |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
48 } |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
49 |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
50 /** |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
51 * Wait write DMA |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
52 * send finish mail |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
53 */ |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
54 void |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
55 SchedTaskArrayNop::write() |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
56 { |
1009 | 57 savedTask->write(); |
58 | |
797
45c141669de7
SchedTask instance variable clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
786
diff
changeset
|
59 free(atask); |
888
586ed400413a
call savedTask->write() in TaskArray finish.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
830
diff
changeset
|
60 delete savedTask; |
890
baae338d91da
minor fix. possible schedTaskArray overrun
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
888
diff
changeset
|
61 savedTask = 0; |
786
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
62 } |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
63 |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
64 SchedTaskBase* |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
65 SchedTaskArrayNop::next(Scheduler *scheduler, SchedTaskBase *p) |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
66 { |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
67 |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
68 // 最後のTask が exec されて、次の Task を実行してかまわない。 |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
69 |
893
96536163c0a0
fix SimpleTask alignment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
890
diff
changeset
|
70 return savedTask->next(scheduler, savedTask); |
786
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
71 |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
72 } |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
73 |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
74 |
ccf78a465459
fix early free of TaskArray, add SchedTaskArrayNop stage.
yutaka@localhost.localdomain
parents:
diff
changeset
|
75 /* end */ |