109
|
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 /**
|
318
|
20 * PPE TaskManager から TaskList やその他コマンドが格納された
|
|
21 * メールキューが送られてくる
|
109
|
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 /**
|
318
|
31 * PPE TaskManager が、 Task の終了やその他コマンドが格納された
|
|
32 * メールキューを受け取る
|
109
|
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 /**
|
318
|
52 * メインメモリ領域を allocate する。
|
|
53 * Fifo バージョンだから、まあ普通に malloc でおk
|
109
|
54 */
|
|
55 void
|
|
56 MainScheduler::mainMem_alloc(int id, int size)
|
|
57 {
|
|
58 mainMemList[id] = allocate(size);
|
|
59 }
|
|
60
|
|
61 #if 0
|
|
62 /**
|
318
|
63 * MainScheduler.h に書いてます
|
109
|
64 */
|
|
65 void
|
|
66 MainScheduler::mainMem_wait(void)
|
|
67 {
|
318
|
68 // 何もしねえ
|
109
|
69 }
|
|
70 #endif
|