94
|
1 #include "SchedMail.h"
|
|
2 #include "SchedTaskList.h"
|
|
3 #include "SchedExit.h"
|
|
4 #include "error.h"
|
|
5
|
109
|
6 SchedMail::SchedMail(Scheduler *sched)
|
94
|
7 {
|
109
|
8 scheduler = sched;
|
94
|
9 }
|
|
10
|
|
11 SchedTaskBase*
|
|
12 SchedMail::next(Scheduler *m, SchedTaskBase *p)
|
|
13 {
|
|
14 delete p;
|
233
|
15
|
249
|
16 // dma wait
|
|
17 scheduler->start_dmawait_profile();
|
233
|
18 params_addr = scheduler->mail_read();
|
249
|
19 scheduler->end_dmawait_profile();
|
94
|
20
|
|
21 __debug("[SchedMail:%s]\n", __FUNCTION__);
|
233
|
22
|
271
|
23 <<<<<<< local
|
249
|
24 if ((int)params_addr == MY_SPE_COMMAND_EXIT) {
|
|
25 // ppu 側から spu の実行状況表示用 Task を投げる
|
|
26 // counter は global
|
|
27 return new SchedExit(m);
|
271
|
28 =======
|
94
|
29 if ((int)params_addr == MY_SPE_COMMAND_EXIT) {
|
255
|
30 return new SchedExit();
|
271
|
31 >>>>>>> other
|
94
|
32 } else {
|
109
|
33 return new SchedTaskList(params_addr, m);
|
94
|
34 }
|
|
35 }
|