comparison TaskManager/kernel/ppe/HTask.h @ 366:09f33c51a204

rename include/TaskManager/* and add memory
author aaa
date Mon, 27 Jul 2009 15:51:18 +0900
parents include/TaskManager/HTask.h@b89ba1d96fff
children a4f690f44842
comparison
equal deleted inserted replaced
365:f8769040a5df 366:09f33c51a204
1 #ifndef INCLUDED_HTASK
2 #define INCLUDED_HTASK
3
4 #include "base.h"
5 #include "types.h"
6 #include "Task.h"
7 #include "TaskQueueInfo.h"
8
9 class TaskManagerImpl;
10
11 /*!
12 @class
13
14 @brief
15
16 Cerium の Task で、spawn() でキューに格納されて順次実行される。
17 cpu の指定があれば並列に実行される。
18 特定の Task を待ち合わせる事が可能。
19 Task の入出力は dma などで copy される。
20 */
21
22 class HTask : public Task {
23 public:
24 BASE_NEW_DELETE(HTask);
25
26 TaskQueuePtr wait_me; // List of task waiting for me
27 TaskQueuePtr wait_i; // List of task for which I am waiting
28 void (*post_func)(void *);
29 void *post_arg;
30 CPU_TYPE cpu_type;
31 HTask *next;
32 TaskManagerImpl *mimpl;
33
34 void spawn(void);
35 void wait_for(HTask *);
36 void set_cpu(CPU_TYPE type);
37 void set_post(void (*func)(void *), void *arg);
38 };
39
40 typedef HTask* HTaskPtr;
41
42 #endif