comparison TaskManager/kernel/ppe/TaskList.h @ 1466:cb57420a8219 draft

TaskList on going...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 15 Jul 2012 13:36:55 +0900
parents 3f2230d79eba
children a7895ab4d0e3
comparison
equal deleted inserted replaced
1465:fc5b23108608 1466:cb57420a8219
10 10
11 class TaskList { // 1024 byte 11 class TaskList { // 1024 byte
12 public: 12 public:
13 BASE_NEW_DELETE(TaskList); 13 BASE_NEW_DELETE(TaskList);
14 14
15 Task *lastTask; // 4 byte 15 long lastTask; // 4 byte
16 TaskList *next; // 4 byte 16 TaskList *next; // 4 byte
17 TaskList *prev; // 4 byte 17 TaskList *prev; // 4 byte
18 TaskList *waiter; // 4 byte 18 TaskList *waiter; // 4 byte
19 HTask *self; // 4 byte 19 HTask *self; // 4 byte
20 long dummy[3]; // 16 byte 20 long dummy[3]; // 16 byte
21 Task tasks[TASK_MAX_SIZE]; // 32*TASK_MAX_SIZE 21 Task tasks[TASK_MAX_SIZE]; // 32*TASK_MAX_SIZE
22 22
23 TaskPtr last() { return lastTask; } 23 TaskPtr last() { return (TaskPtr)(((memaddr)tasks)+lastTask); }
24 void init() { lastTask = &tasks[TASK_MAX_SIZE]; waiter=this; } 24 void set_last(Task *t) { lastTask = ((memaddr)t) - ((memaddr)tasks); }
25 void init() { lastTask = ((memaddr)&tasks[TASK_MAX_SIZE])-(memaddr)(tasks); waiter=this; }
25 void initOnce() { } 26 void initOnce() { }
26 void freeOnce() {} 27 void freeOnce() {}
27 28
28 } ; 29 } ;
29 30