annotate TaskManager/kernel/ppe/HTask.cc @ 242:23e76c5369b7 draft

dma_wait
author e065746@localhost.localdomain
date Sun, 31 May 2009 15:55:00 +0900
parents 028ffc9c0375
children da8edd0735f2 cfd20d609ace
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
1 #include "HTask.h"
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
2 #include "ListData.h"
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
3 #include "TaskManagerImpl.h"
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
4
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
5
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
6 /**
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
7 * manager->set_task_depend(task1, task2); // task2 は task1 の終了を待つ
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
8 *
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
9 * ってやるより
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
10 *
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
11 * task2->set_depend(task1);
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
12 *
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
13 * ってやったほうがわかりやすいよねー的な話し合いで
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
14 * 下のようなAPIを作りました
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
15 */
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
16 void
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
17 HTask::spawn(void)
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
18 {
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
19 mimpl->spawn_task(this);
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
20 }
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
21
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
22 void
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
23 HTask::set_depend(HTaskPtr master)
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
24 {
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
25 mimpl->set_task_depend(master, this);
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
26 }
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
27
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
28 void
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
29 HTask::set_cpu(CPU_TYPE type)
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
30 {
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
31 mimpl->set_task_cpu(this, type);
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
32 }
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
33
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
34 void
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
35 HTask::set_post(void (*func)(void *), void *arg)
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
36 {
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
37 this->post_func = func;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
38 this->post_arg = arg;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
39 }