Mercurial > hg > Members > kono > Cerium
annotate TaskManager/kernel/ppe/Task.h @ 625:60aa3f241b10
64bit mode worked on Mac OS X.
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 16 Nov 2009 10:59:55 +0900 |
parents | f7d78b3c1106 |
children | 0558abba673c |
rev | line source |
---|---|
274 | 1 #ifndef INCLUDED_TASK |
2 #define INCLUDED_TASK | |
3 | |
307 | 4 #include "base.h" |
5 #include "types.h" | |
6 #include "ListData.h" | |
625
60aa3f241b10
64bit mode worked on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
615
diff
changeset
|
7 #include "SimpleTask.h" |
274 | 8 |
9 #define MAX_PARAMS 8 | |
10 | |
625
60aa3f241b10
64bit mode worked on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
615
diff
changeset
|
11 class Task : public SimpleTask { |
274 | 12 public: // variables |
13 | |
14 BASE_NEW_DELETE(Task); | |
15 | |
625
60aa3f241b10
64bit mode worked on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
615
diff
changeset
|
16 ListData inData __attribute__ ((aligned (DEFAULT_ALIGNMENT))); |
60aa3f241b10
64bit mode worked on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
615
diff
changeset
|
17 ListData outData __attribute__ ((aligned (DEFAULT_ALIGNMENT))); |
274 | 18 |
19 public: // functions | |
603
42c94f85c779
long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
602
diff
changeset
|
20 int add_inData_t(memaddr addr, int size); // unsigned int ではなく 64bit |
42c94f85c779
long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
602
diff
changeset
|
21 int add_outData_t(memaddr addr, int size); // unsigned int ではなく 64bit |
42c94f85c779
long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
602
diff
changeset
|
22 int add_data(ListData &list, memaddr addr, int size); |
625
60aa3f241b10
64bit mode worked on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
615
diff
changeset
|
23 int add_param0(memaddr param); // obsolete. do not use. |
60aa3f241b10
64bit mode worked on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
615
diff
changeset
|
24 int set_param0(int index, memaddr param); |
60aa3f241b10
64bit mode worked on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
615
diff
changeset
|
25 |
60aa3f241b10
64bit mode worked on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
615
diff
changeset
|
26 #define add_param(param) add_param0((memaddr)(param)) |
60aa3f241b10
64bit mode worked on Mac OS X.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
615
diff
changeset
|
27 #define set_param(index,param) set_param0(index, (memaddr) (param)) |
274 | 28 |
29 #define add_inData(addr, size) \ | |
603
42c94f85c779
long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
602
diff
changeset
|
30 add_inData_t((memaddr)(addr), (size)); |
274 | 31 #define add_outData(addr, size) \ |
603
42c94f85c779
long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
602
diff
changeset
|
32 add_outData_t((memaddr)(addr), (size)); |
274 | 33 }; |
34 | |
35 typedef Task* TaskPtr; | |
36 | |
37 #endif |