Mercurial > hg > Members > kono > Cerium
annotate TaskManager/kernel/ppe/Task.h @ 603:42c94f85c779
long -> memaddr (64 or 32)
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 07 Nov 2009 14:13:29 +0900 |
parents | 1733f3cbfa28 |
children | f7d78b3c1106 |
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" | |
274 | 7 |
8 #define MAX_PARAMS 8 | |
9 | |
497 | 10 class TaskQueue; |
11 | |
274 | 12 class Task { |
13 public: // variables | |
14 | |
15 BASE_NEW_DELETE(Task); | |
16 | |
17 int command; // 4 byte | |
603
42c94f85c779
long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
602
diff
changeset
|
18 memaddr self; // 4 byte (or 8byte on 64bit mode) |
567 | 19 |
274 | 20 int param_size; // 4 byte |
603
42c94f85c779
long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
602
diff
changeset
|
21 memaddr param[MAX_PARAMS]; // 4*MAX_PARAMS byte |
501
4a2c9ff53605
Cell inData/outData DMA removal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
498
diff
changeset
|
22 ListData inData __attribute__ ((aligned (DEFAULT_ALIGNMENT))); // 4 byte 64bit であるべき |
4a2c9ff53605
Cell inData/outData DMA removal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
498
diff
changeset
|
23 ListData outData __attribute__ ((aligned (DEFAULT_ALIGNMENT))); // 4 byte 64bit であるべき |
274 | 24 |
25 public: // functions | |
603
42c94f85c779
long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
602
diff
changeset
|
26 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
|
27 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
|
28 int add_data(ListData &list, memaddr addr, int size); |
42c94f85c779
long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
602
diff
changeset
|
29 int add_param(memaddr param); |
274 | 30 |
31 #define add_inData(addr, size) \ | |
603
42c94f85c779
long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
602
diff
changeset
|
32 add_inData_t((memaddr)(addr), (size)); |
274 | 33 #define add_outData(addr, size) \ |
603
42c94f85c779
long -> memaddr (64 or 32)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
602
diff
changeset
|
34 add_outData_t((memaddr)(addr), (size)); |
274 | 35 }; |
36 | |
37 typedef Task* TaskPtr; | |
38 | |
39 #endif |