Mercurial > hg > Members > kono > Cerium
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; }