view TaskManager/Fifo/MainScheduler.cc @ 638:671fca057ad3

hmmmm
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 19 Nov 2009 18:18:20 +0900
parents 8cc609285bbe
children a909c50081c2
line wrap: on
line source

#include <stdlib.h>
#include <string.h>
#include "MainScheduler.h"
#include "FifoDmaManager.h"
#include "error.h"

void
MainScheduler::init_impl(void)
{
    connector = new FifoDmaManager();
}

void
MainScheduler::set_mailManager(MailManager *m)
{
    ((FifoDmaManager*)connector)->mailManager = m;
}

/**
 * PPE TaskManager から TaskList やその他コマンドが格納された
 * メールキューが送られてくる
 */
void
MainScheduler::send_mailList(MailQueuePtr mail_list)
{
    ((FifoDmaManager*)connector)->mail_recvQueue = mail_list;
    ((FifoDmaManager*)connector)->mail_sendQueue = NULL;
}

/**
 * PPE TaskManager が、 Task の終了やその他コマンドが格納された
 * メールキューを受け取る
 */
MailQueuePtr
MainScheduler::recv_mailList(void)
{
    return ((FifoDmaManager*)connector)->mail_sendQueue;
}



/**
 * メインメモリ領域を allocate する。
 * Fifo バージョンだから、まあ普通に malloc でおk
 */
void
MainScheduler::mainMem_alloc(int id, int size)
{
    mainMemList[id] = (memaddr)allocate(size);
}

#if 0
/**
 * MainScheduler.h に書いてます
 */ 
void
MainScheduler::mainMem_wait(void)
{
    // 何もしねえ
}
#endif