diff TaskManager/kernel/schedule/Scheduler.cc @ 439:95c0457a7d31

still overlay...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 25 Sep 2009 00:46:50 +0900
parents fd44dbd049aa
children 7bae2117f239
line wrap: on
line diff
--- a/TaskManager/kernel/schedule/Scheduler.cc	Thu Sep 24 22:41:41 2009 +0900
+++ b/TaskManager/kernel/schedule/Scheduler.cc	Fri Sep 25 00:46:50 2009 +0900
@@ -362,7 +362,10 @@
         (TaskObjectCreator)(
             (char*)task_list[task_id].segment->data +
             task_list[task_id].entry_offset);
-    task_list[task_id].creator = creator;
+    // task_list[task_id].creator = creator;
+    fprintf(stderr,"wait load task id %d done. creator = 0x%x entry_offset = 0x%x\n",task_id,
+	(unsigned int)creator,
+            task_list[task_id].entry_offset);
 }
 
 static void
@@ -380,14 +383,20 @@
 
 extern void 
 register_dynamic_task(int cmd, 
-    memaddr start, memaddr end, int entry_offset)
+    memaddr start, memaddr end, 
+    TaskObjectCreator creator, int entry_offset)
 {
-    task_list[cmd].creator = 0;
+    task_list[cmd].creator = creator;
     task_list[cmd].location = start;
     task_list[cmd].end = end;
     task_list[cmd].entry_offset = entry_offset;
     task_list[cmd].load = load_task;
     task_list[cmd].wait = wait_load;
+fprintf(stderr,"cmd        = %d\n",cmd);
+fprintf(stderr,"locatation = 0x%llx\n",start);
+fprintf(stderr,"end        = 0x%llx\n",end);
+fprintf(stderr,"entry      = 0x%x\n",entry_offset);
+
 }
 
 
@@ -447,6 +456,7 @@
     MemorySegment *s = hash->get(addr);
     if (s) {
 	/* 既に load されている */
+// fprintf(stderr,"get_segement loaded %llx 0x%x size 0x%d\n",addr,s->data,size);
 	m->moveToFirst(s);
 	return s;
     }
@@ -465,6 +475,8 @@
     s->address = addr;
     hash->put(s->address, s);
 
+// fprintf(stderr,"get_segement %llx 0x%x size 0x%d\n",addr, s->data,size);
+
     return s;
 }