Mercurial > hg > Members > kono > Cerium
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 |