diff TaskManager/kernel/ppe/Task.h @ 366:09f33c51a204

rename include/TaskManager/* and add memory
author aaa
date Mon, 27 Jul 2009 15:51:18 +0900
parents include/TaskManager/Task.h@a8fcb4431c76
children 9d225ba0c34f
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TaskManager/kernel/ppe/Task.h	Mon Jul 27 15:51:18 2009 +0900
@@ -0,0 +1,37 @@
+#ifndef INCLUDED_TASK
+#define INCLUDED_TASK
+
+#include "base.h"
+#include "types.h"
+#include "ListData.h"
+
+#define MAX_PARAMS 8
+
+class Task {
+public: // variables
+
+    BASE_NEW_DELETE(Task);
+
+    int command;         // 4 byte
+    ListDataPtr inData;  // 4 byte 64bit であるべき
+    ListDataPtr outData; // 4 byte 64bit であるべき
+    uint32 self;         // 4 byte
+
+    int param_size;        // 4 byte
+    int param[MAX_PARAMS]; // 4*MAX_PARAMS byte
+
+public: // functions
+    int add_inData_t(unsigned int addr, int size);  // unsigned int ではなく 64bit
+    int add_outData_t(unsigned int addr, int size); // unsigned int ではなく 64bit
+    int add_data(ListDataPtr list, unsigned int addr, int size);
+    int add_param(int param);
+
+#define add_inData(addr, size)			\
+    add_inData_t((unsigned int)(addr), (size));
+#define add_outData(addr, size)			\
+    add_outData_t((unsigned int)(addr), (size));
+};
+
+typedef Task* TaskPtr;
+
+#endif