diff 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 diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TaskManager/Cell/spe/main.cc	Mon Nov 08 01:23:25 2010 +0900
@@ -0,0 +1,47 @@
+#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;
+}