comparison TaskManager/Fifo/MainScheduler.cc @ 263:001583879ac3 akira

merge 12 & 122
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 03 Jun 2009 23:55:07 +0900
parents 5c194c71eca8
children 58fd16298954
comparison
equal deleted inserted replaced
12:29e333952985 263:001583879ac3
1 #include <stdlib.h>
2 #include <string.h>
3 #include "MainScheduler.h"
4 #include "FifoDmaManager.h"
5 #include "error.h"
6
7 void
8 MainScheduler::init_impl(void)
9 {
10 connector = new FifoDmaManager();
11 }
12
13 void
14 MainScheduler::set_mailManager(MailManager *m)
15 {
16 ((FifoDmaManager*)connector)->mailManager = m;
17 }
18
19 /**
20 * PPE TaskManager から TaskList やその他コマンドが格納された
21 * メールキューが送られてくる
22 */
23 void
24 MainScheduler::send_mailList(MailQueuePtr mail_list)
25 {
26 ((FifoDmaManager*)connector)->mail_recvQueue = mail_list;
27 ((FifoDmaManager*)connector)->mail_sendQueue = NULL;
28 }
29
30 /**
31 * PPE TaskManager が、 Task の終了やその他コマンドが格納された
32 * メールキューを受け取る
33 */
34 MailQueuePtr
35 MainScheduler::recv_mailList(void)
36 {
37 return ((FifoDmaManager*)connector)->mail_sendQueue;
38 }
39
40
41 void*
42 MainScheduler::allocate(int size)
43 {
44 void *ptr = malloc(size);
45 bzero(ptr, size);
46
47 return ptr;
48 }
49
50
51 /**
52 * メインメモリ領域を allocate する。
53 * Fifo バージョンだから、まあ普通に malloc でおk
54 */
55 void
56 MainScheduler::mainMem_alloc(int id, int size)
57 {
58 mainMemList[id] = allocate(size);
59 }
60
61 #if 0
62 /**
63 * MainScheduler.h に書いてます
64 */
65 void
66 MainScheduler::mainMem_wait(void)
67 {
68 // 何もしねえ
69 }
70 #endif