view TaskManager/Cell/spe/main.cc @ 0:04e28d8d3c6f

first commit
author Daiki KINJYO <e085722@ie.u-ryukyu.ac.jp>
date Mon, 08 Nov 2010 01:23:25 +0900
parents
children
line wrap: on
line source

#include <stdio.h>
#include "CellScheduler.h"
#include "SpeTaskManagerImpl.h"
#include "spu_mfcio.h"
#include "error.h"
#include "SysFunc.h"
#include "SchedNop.h"


extern unsigned char _end[];

SchedExternTask(ShowTime);
SchedExternTask(StartProfile);


int
main(unsigned long long speid,
     unsigned long long argc, unsigned long long argv)
{
    CellScheduler *c_scheduler;

    //const unsigned ls_size   = (unsigned)&argc;
    //unsigned code_size = (unsigned)&_end;
    //unsigned heap_size = ls_size - code_size;

    __debug("  ls_size:%10d bytes\n", ls_size);
    __debug("code_size:%10d bytes\n", code_size);
    __debug("heap_size:%10d bytes\n", heap_size);

    TaskManagerImpl *manager = new SpeTaskManagerImpl();


    c_scheduler = new CellScheduler();
    c_scheduler->init(manager);
    c_scheduler->id = (int)argc;

    manager->set_scheduler(c_scheduler);

    SchedRegister(ShowTime);
    SchedRegister(StartProfile);

    c_scheduler->run(new SchedNop());
    
    c_scheduler->finish();

    return 0;
}