diff 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
line wrap: on
line diff
--- a/TaskManager/kernel/ppe/Task.h	Sun Nov 15 04:56:09 2009 +0900
+++ b/TaskManager/kernel/ppe/Task.h	Mon Nov 16 10:59:55 2009 +0900
@@ -4,30 +4,27 @@
 #include "base.h"
 #include "types.h"
 #include "ListData.h"
+#include "SimpleTask.h"
 
 #define MAX_PARAMS 8
 
-class TaskQueue;
-
-class Task {
+class Task : public SimpleTask {
 public: // variables
 
     BASE_NEW_DELETE(Task);
 
-    int command;         // 4 byte
-    memaddr self;         // 4 byte (or 8byte on 64bit mode)
-
-    int param_size;        // 4 byte
-    memaddr param[MAX_PARAMS]; // 4*MAX_PARAMS byte
-    ListData inData  __attribute__ ((aligned (DEFAULT_ALIGNMENT)));  // 4 byte 64bit であるべき
-    ListData outData  __attribute__ ((aligned (DEFAULT_ALIGNMENT))); // 4 byte 64bit であるべき
+    ListData inData  __attribute__ ((aligned (DEFAULT_ALIGNMENT)));  
+    ListData outData  __attribute__ ((aligned (DEFAULT_ALIGNMENT))); 
 
 public: // functions
     int add_inData_t(memaddr addr, int size);  // unsigned int ではなく 64bit
     int add_outData_t(memaddr addr, int size); // unsigned int ではなく 64bit
     int add_data(ListData &list, memaddr addr, int size);
-    int add_param(memaddr param);  // obsolete. do not use.
-    int add_param(int index, memaddr param);
+    int add_param0(memaddr param);  // obsolete. do not use.
+    int set_param0(int index, memaddr param);
+
+#define add_param(param) add_param0((memaddr)(param))
+#define set_param(index,param) set_param0(index, (memaddr) (param))
 
 #define add_inData(addr, size)			\
     add_inData_t((memaddr)(addr), (size));