Mercurial > hg > Members > kono > Cerium
diff TaskManager/kernel/schedule/Scheduler.h @ 437:fd44dbd049aa
overlay...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 24 Sep 2009 22:40:58 +0900 |
parents | fb62b7acc92b |
children | 95c0457a7d31 |
line wrap: on
line diff
--- a/TaskManager/kernel/schedule/Scheduler.h Thu Sep 24 21:09:27 2009 +0900 +++ b/TaskManager/kernel/schedule/Scheduler.h Thu Sep 24 22:40:58 2009 +0900 @@ -152,6 +152,7 @@ void *mainMem_get(int id); MemorySegment * get_segment(memaddr addr, MemList *m); + MemorySegment * get_segment(memaddr addr, MemList *m, int size); void allocate_code_segment(int count, int size); virtual uint32 get_tag(); @@ -199,17 +200,26 @@ return new str(); \ } +#ifndef NO_OVERLAY #define SchedExternDynamicTask(str,segment) \ extern char __load_start_##segment[], \ __load_stop_##segment[]; \ extern void spe_load_entry(); \ - extern SchedTask* createTask_##str(Scheduler *manager); + extern SchedTask* createTask_##str(Scheduler *manager); \ + extern unsigned long long _EAR_; +#else +#define SchedExternDynamicTask(str,segment) SchedExternTask(str,segment) +#endif +#ifndef NO_OVERLAY #define SchedRegisterDynamicTask(cmd, str, segment) \ - register_dynamic_task(cmd, (memaddr)__load_start_##segment, \ - (memaddr)__load_stop_##segment,\ + register_dynamic_task(cmd, _EAR_+(memaddr)__load_start_##segment, \ + _EAR_+(memaddr)__load_stop_##segment,\ ((char *)createTask_##str)-(char *)spe_load_entry); +#else +#define SchedRegisterDynamicTask(cmd, str, segment) SchedRegisterTask(cmd, str) +#endif /* end */