diff TaskManager/kernel/ppe/TaskManagerImpl.cc @ 46:f154d9d07a42

*** empty log message ***
author gongo
date Fri, 15 Feb 2008 13:09:43 +0900
parents aa11038dbdc1
children 70a0ac46133e
line wrap: on
line diff
--- a/TaskManager/kernel/ppe/TaskManagerImpl.cc	Fri Feb 15 13:09:43 2008 +0900
+++ b/TaskManager/kernel/ppe/TaskManagerImpl.cc	Fri Feb 15 13:09:43 2008 +0900
@@ -1,17 +1,14 @@
 #include <stdio.h>
 #include "TaskManagerImpl.h"
-
-#include "ppe_spe.h"
+#include "types.h"
+#include "error.h"
 
 void
 noaction(void)
 {
 }
 
-TaskManagerImpl::TaskManagerImpl(int num)
-{
-    machineNum = num;
-}
+TaskManagerImpl::TaskManagerImpl(int num) : machineNum(num) {}
 
 void
 TaskManagerImpl::init(void)
@@ -32,7 +29,7 @@
 {
     HTaskPtr new_task;
 
-    new_task = taskInfo->get_free_task(cmd, size, in_addr, out_addr);
+    new_task = taskInfo->create_task(cmd, size, in_addr, out_addr);
 
     if (func == NULL) {
 	new_task->post_func = noaction;
@@ -52,11 +49,11 @@
 {
     TaskQueuePtr m, s;
 
-    m = taskInfo->get_free_taskQueue(master);
-    s = taskInfo->get_free_taskQueue(slave);
+    m = taskInfo->create_taskQueue(master);
+    s = taskInfo->create_taskQueue(slave);
 
-    master->wait_me = append_taskQueue(master->wait_me, s);
-    slave->wait_i = append_taskQueue(slave->wait_i, m);
+    master->wait_me = TaskQueueInfo::append(master->wait_me, s);
+    slave->wait_i = TaskQueueInfo::append(slave->wait_i, m);
 }
 
 void
@@ -100,17 +97,13 @@
 	task->self = htask;
 
 	taskInfo->free_taskQueue(d);
-    }	
+    }
 
     taskInfo->activeTaskQueue = NULL;
 
     return list;
 }
 
-
-// ../spe/main.cpp
-extern MailQueuePtr spe_main(MailManager*, MailQueuePtr);
-
 void
 TaskManagerImpl::run(void)
 {
@@ -130,10 +123,11 @@
 	sentinel  = mailManager->create_mail(MY_SPE_COMMAND_EXIT);
 	in_mail_list = append_mailQueue(in_mail_list, sentinel);
 
-	// 返って来た mail_list には、spe からの mail がある
 	scheduler->send_mailList(in_mail_list);
 	scheduler->run();
 	out_mail_list = scheduler->recv_mailList();
+
+	// out_mail_list には、ppe scheduler からの mail がある
 	in_mail_list = mail_check(out_mail_list);
     } while (in_mail_list);
 }
@@ -154,18 +148,14 @@
 	data = q->data;
 
 	if (data == MY_SPE_STATUS_READY) {
-#ifdef _PPE_DEBUG
-	    printf("[FIFO] finish\n");
-#endif
+	    __debug_ppe("[FIFO] finish\n");
 	    next_list = set_task();
 	    if (next_list != NULL) {
 		d = mailManager->create_mail((unsigned int)next_list);
 		ret = append_mailQueue(ret, d);
 	    }
 	} else {
-#ifdef _PPE_DEBUG
-	    printf("[PPE] recv from : 0x%x\n", data);
-#endif
+	    __debug_ppe("[PPE] recv from : 0x%x\n", data);
 	    taskInfo->check_task_finish((HTaskPtr)data);
 	}