Mercurial > hg > Game > Cerium
annotate TaskManager/kernel/schedule/Scheduler.h @ 1479:163220e54cc0 draft
remove hard code for TaskLog
author | Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 24 Jul 2012 17:15:15 +0900 |
parents | e8db2e2d426c |
children | f402f6444237 |
rev | line source |
---|---|
42 | 1 #ifndef INCLUDED_SCHEDULER |
2 #define INCLUDED_SCHEDULER | |
3 | |
621 | 4 #include <stdlib.h> |
736 | 5 #include <stdarg.h> |
301
7f991471d43f
remove deprecated source. not work.
tkaito@localhost.localdomain
parents:
298
diff
changeset
|
6 #include "base.h" |
7f991471d43f
remove deprecated source. not work.
tkaito@localhost.localdomain
parents:
298
diff
changeset
|
7 #include "TaskList.h" |
7f991471d43f
remove deprecated source. not work.
tkaito@localhost.localdomain
parents:
298
diff
changeset
|
8 #include "ListData.h" |
7f991471d43f
remove deprecated source. not work.
tkaito@localhost.localdomain
parents:
298
diff
changeset
|
9 #include "DmaManager.h" |
7f991471d43f
remove deprecated source. not work.
tkaito@localhost.localdomain
parents:
298
diff
changeset
|
10 #include "SchedTaskBase.h" |
373 | 11 #include "MemList.h" |
1435
9f6ba00ca15c
add gpu_sched_register
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
1229
diff
changeset
|
12 #include "MemHash.h" |
619 | 13 |
1435
9f6ba00ca15c
add gpu_sched_register
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
1229
diff
changeset
|
14 #ifdef __APPLE__ |
9f6ba00ca15c
add gpu_sched_register
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
1229
diff
changeset
|
15 #include <OpenCL/opencl.h> |
9f6ba00ca15c
add gpu_sched_register
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
1229
diff
changeset
|
16 #else |
9f6ba00ca15c
add gpu_sched_register
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
1229
diff
changeset
|
17 #include <CL/cl.h> |
9f6ba00ca15c
add gpu_sched_register
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
1229
diff
changeset
|
18 #endif |
109 | 19 |
1135
8142e652ea4c
t_dandy move on MacOSX. But, we have to fix MAX_USER_TASK to dynamic load from outside of TaskManager.
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
1124
diff
changeset
|
20 #define MAX_USER_TASK 100 |
109 | 21 #define MAX_SYSTEM_TASK 2 |
22 #define MAX_TASK_OBJECT MAX_USER_TASK + MAX_SYSTEM_TASK | |
23 #define MAX_GLOBAL_AREA 32 | |
24 #define MAX_MAINMEM_AREA 32 | |
25 | |
42 | 26 class SchedTaskBase; |
109 | 27 class SchedTask; |
184 | 28 class SchedTaskList; |
621 | 29 class TaskManagerImpl; |
30 class HTask; | |
42 | 31 |
464
0d64bdb63005
task run is mere C function now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
460
diff
changeset
|
32 typedef int (*TaskObjectRun)(SchedTask* smanager, void* r, void *w); |
403
e2f29e912d0b
clean up and add more info on task_list
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
389
diff
changeset
|
33 |
698
72b2da99e875
no compile error for Task Array
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
697
diff
changeset
|
34 // Task Object Table |
72b2da99e875
no compile error for Task Array
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
697
diff
changeset
|
35 // this is named TaskObjectRun but it is not an object. |
72b2da99e875
no compile error for Task Array
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
697
diff
changeset
|
36 // It is a pointer to an object creation function |
72b2da99e875
no compile error for Task Array
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
697
diff
changeset
|
37 // 大きいので、SPEには置かない方が本当は良い... |
72b2da99e875
no compile error for Task Array
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
697
diff
changeset
|
38 // get_segment で取って来るのが、おそらくは正しい。 |
887
4860272b2f47
remove run variable to avoid SPU compiler bug from SchedTaskArray::exec().
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
872
diff
changeset
|
39 typedef struct task_object { |
698
72b2da99e875
no compile error for Task Array
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
697
diff
changeset
|
40 TaskObjectRun run; |
72b2da99e875
no compile error for Task Array
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
697
diff
changeset
|
41 memaddr location; // location address in a.out |
72b2da99e875
no compile error for Task Array
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
697
diff
changeset
|
42 memaddr end; |
72b2da99e875
no compile error for Task Array
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
697
diff
changeset
|
43 uint32 entry_offset; // offset for create(); |
72b2da99e875
no compile error for Task Array
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
697
diff
changeset
|
44 MemorySegment *segment; |
1435
9f6ba00ca15c
add gpu_sched_register
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
1229
diff
changeset
|
45 const char *name; |
698
72b2da99e875
no compile error for Task Array
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
697
diff
changeset
|
46 void (*load)(Scheduler *,int); |
72b2da99e875
no compile error for Task Array
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
697
diff
changeset
|
47 void (*wait)(Scheduler *,int); |
1435
9f6ba00ca15c
add gpu_sched_register
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
1229
diff
changeset
|
48 cl_kernel *kernel; |
1147 | 49 } __attribute__ ((aligned (DEFAULT_ALIGNMENT))) //sizeはどれくらい? |
895
b662e9dd26b0
add alignment of classes in SPU
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
887
diff
changeset
|
50 TaskObject, *TaskObjectPtr; |
698
72b2da99e875
no compile error for Task Array
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
697
diff
changeset
|
51 |
621 | 52 extern "C" { |
53 extern long random(); | |
54 } | |
55 | |
42 | 56 class Scheduler { |
836 | 57 private: |
58 TaskManagerImpl* manager_tmp; | |
59 | |
42 | 60 public: |
403
e2f29e912d0b
clean up and add more info on task_list
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
389
diff
changeset
|
61 virtual ~Scheduler(); |
109 | 62 BASE_NEW_DELETE(Scheduler); |
42 | 63 |
64 /* variables */ | |
194 | 65 int id; |
387
b6fce69839b5
no compile error but not worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
373
diff
changeset
|
66 MemHash *hash; |
109 | 67 |
68 // double buffering | |
69 TaskListPtr buff_taskList[2]; | |
70 | |
71 int buffFlag_taskList; | |
72 | |
73 /* GlobalMemoryList */ | |
631
30dd8a3deb4a
Cell 64 bit tried, but not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
626
diff
changeset
|
74 /* global among Tasks in the same CPU */ |
109 | 75 void* globalList[MAX_GLOBAL_AREA]; |
76 | |
77 /* MainMemory Allocate Command List */ | |
631
30dd8a3deb4a
Cell 64 bit tried, but not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
626
diff
changeset
|
78 memaddr mainMemList[MAX_MAINMEM_AREA]; |
109 | 79 |
423
609758f9f350
Code load implementation... (not yet tested)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
403
diff
changeset
|
80 /* Code Area */ |
609758f9f350
Code load implementation... (not yet tested)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
403
diff
changeset
|
81 MemList *code_segment_pool; |
609758f9f350
Code load implementation... (not yet tested)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
403
diff
changeset
|
82 |
42 | 83 DmaManager* connector; |
619 | 84 TaskManagerImpl* manager; |
109 | 85 |
42 | 86 |
87 /* functions */ | |
1479
163220e54cc0
remove hard code for TaskLog
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
1471
diff
changeset
|
88 void init(TaskManagerImpl *m, int useRefDma=0, int export_task_log=0); |
1451 | 89 virtual void run(){}; |
697 | 90 void run(SchedTaskBase* task1); |
91 | |
1229
424c1f16e704
add args useRefDma
Daichi TOMA <e085740@ie.u-ryukyu.ac.jp>
parents:
1213
diff
changeset
|
92 virtual void init_impl(int useRefDma) {}; |
403
e2f29e912d0b
clean up and add more info on task_list
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
389
diff
changeset
|
93 void finish(); |
42 | 94 |
403
e2f29e912d0b
clean up and add more info on task_list
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
389
diff
changeset
|
95 TaskListPtr get_curListBuf(); |
e2f29e912d0b
clean up and add more info on task_list
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
389
diff
changeset
|
96 TaskListPtr get_renewListBuf(); |
109 | 97 |
187 | 98 void set_backupTaskList(TaskListPtr cur_taskList); |
99 void set_backupTaskListIndex(int cur_index); | |
403
e2f29e912d0b
clean up and add more info on task_list
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
389
diff
changeset
|
100 SchedTaskList* get_nextRenewTaskList(); |
e2f29e912d0b
clean up and add more info on task_list
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
389
diff
changeset
|
101 TaskListPtr get_backupTaskList(); |
e2f29e912d0b
clean up and add more info on task_list
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
389
diff
changeset
|
102 int get_backupTaskListIndex(); |
184 | 103 |
109 | 104 |
105 /* GlobalMemory */ | |
106 void* global_alloc(int id, int size); | |
107 void* global_get(int id); | |
373 | 108 void global_set(int id, void *addr); |
109 | 109 void global_free(int id); |
836 | 110 //MemList* createMemList(int size, int count); |
373 | 111 MemList* createMemList(int size, int count); |
467
839e34d0cc3c
fix all examples. test_render is not working now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
464
diff
changeset
|
112 void free_(void *p) { free(p); } |
109 | 113 |
114 virtual void mainMem_alloc(int id, int size) {}; | |
403
e2f29e912d0b
clean up and add more info on task_list
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
389
diff
changeset
|
115 virtual void mainMem_wait() {}; |
631
30dd8a3deb4a
Cell 64 bit tried, but not yet worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
626
diff
changeset
|
116 memaddr mainMem_get(int id); |
109 | 117 |
389 | 118 MemorySegment * get_segment(memaddr addr, MemList *m); |
437 | 119 MemorySegment * get_segment(memaddr addr, MemList *m, int size); |
1173 | 120 MemorySegment * get_free_segment(memaddr addr, MemList *m); |
1175 | 121 void overwrite_segment(MemorySegment *s, memaddr addr); |
1173 | 122 |
872 | 123 void allocate_code_segment(int size, int count,struct tbl *table); |
423
609758f9f350
Code load implementation... (not yet tested)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
403
diff
changeset
|
124 |
389 | 125 void put_segment(MemorySegment *s); |
126 void wait_segment(MemorySegment *s); | |
387
b6fce69839b5
no compile error but not worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
373
diff
changeset
|
127 |
619 | 128 /* manager */ |
129 | |
836 | 130 void set_manager(TaskManagerImpl *m) { |
131 manager = m; | |
132 }; | |
619 | 133 |
800
54f0180cea0f
run16 word count ( not yet worked. )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
743
diff
changeset
|
134 /* user */ |
634 | 135 |
621 | 136 long get_random() ; |
137 Scheduler *get_scheduler() { return this; }; | |
736 | 138 int printf(const char *format, ...); |
743 | 139 int vprintf0(const char *format, va_list ap); |
619 | 140 |
899 | 141 } ; |
42 | 142 |
1058
d3cb29f1eccb
create task_name_list array in Scheduler.h
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
1024
diff
changeset
|
143 extern void register_task(int cmd, TaskObjectRun run, const char *str); |
430
4d4443138484
code loading (on going...)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
426
diff
changeset
|
144 extern void register_dynamic_task(int cmd, |
464
0d64bdb63005
task run is mere C function now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
460
diff
changeset
|
145 memaddr start, int size, TaskObjectRun run, |
1062
f994f5032299
add TaskManagerImpl::get_task_name()
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
1058
diff
changeset
|
146 int entry_offset, |
1058
d3cb29f1eccb
create task_name_list array in Scheduler.h
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
1024
diff
changeset
|
147 const char *str); |
403
e2f29e912d0b
clean up and add more info on task_list
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
389
diff
changeset
|
148 |
441 | 149 struct tbl { |
150 unsigned int vma; | |
151 unsigned int size; | |
152 unsigned int file_offset; | |
153 unsigned int buf; | |
154 }; | |
155 | |
698
72b2da99e875
no compile error for Task Array
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
697
diff
changeset
|
156 extern TaskObject task_list[MAX_TASK_OBJECT]; |
1471 | 157 |
158 int null_run(SchedTask* smanager, void* r, void *w); | |
159 void null_loader(Scheduler *m, int task_id); | |
160 | |
1147 | 161 extern int entry_cmd[MAX_TASK_OBJECT]; |
698
72b2da99e875
no compile error for Task Array
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
697
diff
changeset
|
162 |
72b2da99e875
no compile error for Task Array
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
697
diff
changeset
|
163 inline void |
72b2da99e875
no compile error for Task Array
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
697
diff
changeset
|
164 loadSchedTask(Scheduler *scheduler,int command) |
72b2da99e875
no compile error for Task Array
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
697
diff
changeset
|
165 { |
72b2da99e875
no compile error for Task Array
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
697
diff
changeset
|
166 task_list[command].load(scheduler,command); |
72b2da99e875
no compile error for Task Array
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
697
diff
changeset
|
167 } |
109 | 168 |
698
72b2da99e875
no compile error for Task Array
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
697
diff
changeset
|
169 #endif |
72b2da99e875
no compile error for Task Array
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
697
diff
changeset
|
170 |
72b2da99e875
no compile error for Task Array
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
697
diff
changeset
|
171 |
109 | 172 |
373 | 173 #define SchedConstructor(str) \ |
423
609758f9f350
Code load implementation... (not yet tested)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
403
diff
changeset
|
174 str() {} \ |
373 | 175 BASE_NEW_DELETE(str) \ |
109 | 176 |
468
796f72cb21d9
test_nogl on Mac OS X worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
467
diff
changeset
|
177 #define SchedDefineTask(str) SchedDefineTask1(str,run) \ |
796f72cb21d9
test_nogl on Mac OS X worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
467
diff
changeset
|
178 |
796f72cb21d9
test_nogl on Mac OS X worked.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
467
diff
changeset
|
179 #define SchedDefineTask1(str,run) \ |
464
0d64bdb63005
task run is mere C function now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
460
diff
changeset
|
180 static int run(SchedTask *smanager, void *rbuf, void *wbuf); \ |
460 | 181 extern "C" { \ |
464
0d64bdb63005
task run is mere C function now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
460
diff
changeset
|
182 int runTask_##str(SchedTask *smanager, void *rbuf, void *wbuf) \ |
373 | 183 { \ |
464
0d64bdb63005
task run is mere C function now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
460
diff
changeset
|
184 return run(smanager, rbuf, wbuf); \ |
460 | 185 } \ |
109 | 186 } |
187 | |
373 | 188 #define SchedExternTask(str) \ |
460 | 189 extern "C" { \ |
464
0d64bdb63005
task run is mere C function now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
460
diff
changeset
|
190 extern int runTask_##str(SchedTask *manager, void *rbuf, void *wbuf) ; \ |
460 | 191 } |
109 | 192 |
373 | 193 #define SchedRegisterTask(cmd, str) \ |
1058
d3cb29f1eccb
create task_name_list array in Scheduler.h
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
1024
diff
changeset
|
194 register_task(cmd, runTask_##str, #str); |
403
e2f29e912d0b
clean up and add more info on task_list
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
389
diff
changeset
|
195 |
615
184d6d3f0cd9
remove uncessary Task Name definision
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
501
diff
changeset
|
196 #define SchedRegister(str) \ |
1058
d3cb29f1eccb
create task_name_list array in Scheduler.h
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
1024
diff
changeset
|
197 register_task(str, runTask_##str, #str); |
615
184d6d3f0cd9
remove uncessary Task Name definision
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
501
diff
changeset
|
198 |
423
609758f9f350
Code load implementation... (not yet tested)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
403
diff
changeset
|
199 #define SchedDefineDynamicTask(str,segment) \ |
464
0d64bdb63005
task run is mere C function now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
460
diff
changeset
|
200 SchedDefineTask(str) |
423
609758f9f350
Code load implementation... (not yet tested)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
403
diff
changeset
|
201 |
437 | 202 #ifndef NO_OVERLAY |
423
609758f9f350
Code load implementation... (not yet tested)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
403
diff
changeset
|
203 #define SchedExternDynamicTask(str,segment) \ |
441 | 204 extern "C" { \ |
205 extern unsigned long long _EAR_; \ | |
206 extern struct tbl _ovly_table[]; \ | |
464
0d64bdb63005
task run is mere C function now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
460
diff
changeset
|
207 extern int runTask_##str(SchedTask *manager, void *rbuf, void *wbuf) ; \ |
441 | 208 } |
437 | 209 #else |
439 | 210 #define SchedExternDynamicTask(str,segment) SchedExternTask(str) |
437 | 211 #endif |
423
609758f9f350
Code load implementation... (not yet tested)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
403
diff
changeset
|
212 |
609758f9f350
Code load implementation... (not yet tested)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
403
diff
changeset
|
213 |
437 | 214 #ifndef NO_OVERLAY |
423
609758f9f350
Code load implementation... (not yet tested)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
403
diff
changeset
|
215 #define SchedRegisterDynamicTask(cmd, str, segment) \ |
626
0e91ddaad798
64bit mode compatibility on Cell
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
625
diff
changeset
|
216 register_dynamic_task(cmd, (memaddr)(_EAR_+_ovly_table[segment].file_offset), \ |
441 | 217 _ovly_table[segment].size, \ |
464
0d64bdb63005
task run is mere C function now.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
460
diff
changeset
|
218 runTask_##str, \ |
1058
d3cb29f1eccb
create task_name_list array in Scheduler.h
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
1024
diff
changeset
|
219 runTask_##str##_offset, \ |
d3cb29f1eccb
create task_name_list array in Scheduler.h
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
1024
diff
changeset
|
220 #str); |
615
184d6d3f0cd9
remove uncessary Task Name definision
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
501
diff
changeset
|
221 #define SchedRegisterDynamic(str, segment) SchedRegisterDynamicTask(str, str, segment) |
437 | 222 #else |
223 #define SchedRegisterDynamicTask(cmd, str, segment) SchedRegisterTask(cmd, str) | |
615
184d6d3f0cd9
remove uncessary Task Name definision
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
501
diff
changeset
|
224 #define SchedRegisterDynamic(str, segment) SchedRegisterDynamicTask(str, str, segment) |
437 | 225 #endif |
423
609758f9f350
Code load implementation... (not yet tested)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
403
diff
changeset
|
226 |
403
e2f29e912d0b
clean up and add more info on task_list
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
389
diff
changeset
|
227 |
e2f29e912d0b
clean up and add more info on task_list
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
389
diff
changeset
|
228 /* end */ |