Mercurial > hg > Members > kono > Cerium
comparison 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 |
comparison
equal
deleted
inserted
replaced
624:c7b5c99252ad | 625:60aa3f241b10 |
---|---|
2 #define INCLUDED_TASK | 2 #define INCLUDED_TASK |
3 | 3 |
4 #include "base.h" | 4 #include "base.h" |
5 #include "types.h" | 5 #include "types.h" |
6 #include "ListData.h" | 6 #include "ListData.h" |
7 #include "SimpleTask.h" | |
7 | 8 |
8 #define MAX_PARAMS 8 | 9 #define MAX_PARAMS 8 |
9 | 10 |
10 class TaskQueue; | 11 class Task : public SimpleTask { |
11 | |
12 class Task { | |
13 public: // variables | 12 public: // variables |
14 | 13 |
15 BASE_NEW_DELETE(Task); | 14 BASE_NEW_DELETE(Task); |
16 | 15 |
17 int command; // 4 byte | 16 ListData inData __attribute__ ((aligned (DEFAULT_ALIGNMENT))); |
18 memaddr self; // 4 byte (or 8byte on 64bit mode) | 17 ListData outData __attribute__ ((aligned (DEFAULT_ALIGNMENT))); |
19 | |
20 int param_size; // 4 byte | |
21 memaddr param[MAX_PARAMS]; // 4*MAX_PARAMS byte | |
22 ListData inData __attribute__ ((aligned (DEFAULT_ALIGNMENT))); // 4 byte 64bit であるべき | |
23 ListData outData __attribute__ ((aligned (DEFAULT_ALIGNMENT))); // 4 byte 64bit であるべき | |
24 | 18 |
25 public: // functions | 19 public: // functions |
26 int add_inData_t(memaddr addr, int size); // unsigned int ではなく 64bit | 20 int add_inData_t(memaddr addr, int size); // unsigned int ではなく 64bit |
27 int add_outData_t(memaddr addr, int size); // unsigned int ではなく 64bit | 21 int add_outData_t(memaddr addr, int size); // unsigned int ではなく 64bit |
28 int add_data(ListData &list, memaddr addr, int size); | 22 int add_data(ListData &list, memaddr addr, int size); |
29 int add_param(memaddr param); // obsolete. do not use. | 23 int add_param0(memaddr param); // obsolete. do not use. |
30 int add_param(int index, memaddr param); | 24 int set_param0(int index, memaddr param); |
25 | |
26 #define add_param(param) add_param0((memaddr)(param)) | |
27 #define set_param(index,param) set_param0(index, (memaddr) (param)) | |
31 | 28 |
32 #define add_inData(addr, size) \ | 29 #define add_inData(addr, size) \ |
33 add_inData_t((memaddr)(addr), (size)); | 30 add_inData_t((memaddr)(addr), (size)); |
34 #define add_outData(addr, size) \ | 31 #define add_outData(addr, size) \ |
35 add_outData_t((memaddr)(addr), (size)); | 32 add_outData_t((memaddr)(addr), (size)); |