Mercurial > hg > Members > kono > Cerium
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