annotate TaskManager/Fifo/MainScheduler.cc @ 321:f64d75473f95

merge 317
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 10 Jun 2009 15:23:25 +0900
parents 7efc5ede2c03
children 8843edf37c0e
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 {
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
37 return ((FifoDmaManager*)connector)->mail_sendQueue;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
38 }
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
39
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
40
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
41 void*
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
42 MainScheduler::allocate(int size)
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
43 {
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
44 void *ptr = malloc(size);
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
45 bzero(ptr, size);
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
46
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
47 return ptr;
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
48 }
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
49
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
50
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
51 /**
321
f64d75473f95 merge 317
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 318
diff changeset
52 * メインメモリ領域を allocate する。
f64d75473f95 merge 317
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 318
diff changeset
53 * Fifo バージョンだから、まあ普通に malloc でおk
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
54 */
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
55 void
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
56 MainScheduler::mainMem_alloc(int id, int size)
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
57 {
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
58 mainMemList[id] = allocate(size);
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
59 }
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
60
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
61 #if 0
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
62 /**
321
f64d75473f95 merge 317
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 318
diff changeset
63 * MainScheduler.h に書いてます
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
64 */
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
65 void
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
66 MainScheduler::mainMem_wait(void)
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
67 {
321
f64d75473f95 merge 317
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 318
diff changeset
68 // 何もしねえ
109
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
69 }
5c194c71eca8 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
70 #endif