59
|
1 #include <malloc.h>
|
|
2 #include "CellScheduler.h"
|
|
3 #include "CellDmaManager.h"
|
|
4 #include "error.h"
|
|
5
|
88
|
6 // ユーザプログラムで定義
|
|
7 // なんだけど、それは微妙じゃね?
|
|
8 extern void task_init(void);
|
98
|
9 void* CellScheduler::tex;
|
88
|
10
|
59
|
11 void
|
61
|
12 CellScheduler::init_impl(void)
|
59
|
13 {
|
|
14 connector = new CellDmaManager;
|
|
15
|
|
16 for (int i = 0; i < 2; i++) {
|
98
|
17 listBuf[i] = (TaskListPtr)memalign(DEFAULT_ALIGNMENT, sizeof(TaskList));
|
94
|
18 //listBuf[i] = (TaskListPtr)memalign(DEFAULT_ALIGNMENT, DMA_MAX_SIZE);
|
98
|
19 //readBuf[i] = memalign(DEFAULT_ALIGNMENT, DMA_MAX_SIZE);
|
|
20 //writeBuf[i] = memalign(DEFAULT_ALIGNMENT, DMA_MAX_SIZE);
|
|
21 readBuf[i] = 0;
|
|
22 writeBuf[i] = 0;
|
59
|
23 }
|
88
|
24
|
|
25 task_init();
|
59
|
26 }
|
98
|
27
|
|
28
|
|
29 void*
|
|
30 CellScheduler::get_state(int id) {
|
|
31 return state[id];
|
|
32 }
|
|
33
|
|
34 void*
|
|
35 CellScheduler::set_state(int id, void *value) {
|
|
36 void* reply = state[id];
|
|
37 state[id] = value;
|
|
38 return reply;
|
|
39 }
|