annotate TaskManager/Fifo/MainScheduler.cc @ 640:a909c50081c2

SimpeTask on Cell worked.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 20 Nov 2009 23:12:34 +0900
parents 8cc609285bbe
children 07bd86a352eb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
1 #include <stdlib.h>
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
2 #include <string.h>
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
3 #include "MainScheduler.h"
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
4 #include "FifoDmaManager.h"
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
5 #include "error.h"
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
6
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
7 void
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
8 MainScheduler::init_impl(void)
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
9 {
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
10 connector = new FifoDmaManager();
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
11 }
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
12
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
13 void
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
14 MainScheduler::set_mailManager(MailManager *m)
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
15 {
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
16 ((FifoDmaManager*)connector)->mailManager = m;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
17 }
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
18
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
19 /**
321
f64d75473f95 merge 317
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 318
diff changeset
20 * PPE TaskManager から TaskList やその他コマンドが格納された
f64d75473f95 merge 317
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 318
diff changeset
21 * メールキューが送られてくる
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
22 */
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
23 void
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
24 MainScheduler::send_mailList(MailQueuePtr mail_list)
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
25 {
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
26 ((FifoDmaManager*)connector)->mail_recvQueue = mail_list;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
27 ((FifoDmaManager*)connector)->mail_sendQueue = NULL;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
28 }
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
29
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
30 /**
321
f64d75473f95 merge 317
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 318
diff changeset
31 * PPE TaskManager が、 Task の終了やその他コマンドが格納された
f64d75473f95 merge 317
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 318
diff changeset
32 * メールキューを受け取る
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
33 */
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
34 MailQueuePtr
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
35 MainScheduler::recv_mailList(void)
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
36 {
640
a909c50081c2 SimpeTask on Cell worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 635
diff changeset
37 MailQueuePtr m = ((FifoDmaManager*)connector)->mail_sendQueue;
a909c50081c2 SimpeTask on Cell worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 635
diff changeset
38 ((FifoDmaManager*)connector)->mail_sendQueue = 0;
a909c50081c2 SimpeTask on Cell worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 635
diff changeset
39 return m;
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
40 }
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
41
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
42
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
43
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
44 /**
321
f64d75473f95 merge 317
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 318
diff changeset
45 * メインメモリ領域を allocate する。
f64d75473f95 merge 317
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 318
diff changeset
46 * Fifo バージョンだから、まあ普通に malloc でおk
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
47 */
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
48 void
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
49 MainScheduler::mainMem_alloc(int id, int size)
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
50 {
629
8843edf37c0e Cell 64 bit tried, but not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 321
diff changeset
51 mainMemList[id] = (memaddr)allocate(size);
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
52 }
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
53
640
a909c50081c2 SimpeTask on Cell worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 635
diff changeset
54 /* end */