comparison TaskManager/kernel/ppe/TaskManagerImpl.h @ 637:5530fa36d42e

not yet worked...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 19 Nov 2009 11:13:42 +0900
parents d433fc37587d
children 7c9ded1ea750
comparison
equal deleted inserted replaced
636:d433fc37587d 637:5530fa36d42e
21 TaskListInfo *taskListImpl; 21 TaskListInfo *taskListImpl;
22 TaskQueueInfo *taskQueueImpl; 22 TaskQueueInfo *taskQueueImpl;
23 HTaskInfo *htaskImpl; 23 HTaskInfo *htaskImpl;
24 24
25 SchedTask *schedTaskManager; 25 SchedTask *schedTaskManager;
26 Scheduler *scheduler;
26 27
27 /* constructor */ 28 /* constructor */
28 TaskManagerImpl(int num = 1) ; 29 TaskManagerImpl(int num = 1) ;
29 30
30 virtual ~TaskManagerImpl() { } 31 virtual ~TaskManagerImpl() { }
40 void wakeup_waitTask(); 41 void wakeup_waitTask();
41 42
42 void systask_init(); 43 void systask_init();
43 44
44 // user 45 // user
45 HTaskPtr create_task(int cmd); 46 virtual HTaskPtr create_task(int cmd);
46 HTaskPtr create_task(int cmd, memaddr rbuf, long r_size, memaddr wbuf, long w_size); 47 virtual HTaskPtr create_task(int cmd, memaddr rbuf, long r_size, memaddr wbuf, long w_size);
47 void set_task_depend(HTaskPtr master, HTaskPtr slave); 48 virtual void set_task_depend(HTaskPtr master, HTaskPtr slave);
48 void spawn_task(HTaskPtr); 49 virtual void spawn_task(HTaskPtr);
49 void set_task_cpu(HTaskPtr, CPU_TYPE); 50 virtual void set_task_cpu(HTaskPtr, CPU_TYPE);
50 51
51 virtual void* allocate(int size) = 0; 52 void* allocate(int size, int alignment)
52 virtual void* allocate(int size,int align) = 0; 53 {
53 virtual Scheduler* get_scheduler() = 0; 54 if (size==0) return 0;
55 #if defined(__SPU__) || ! defined(HAS_POSIX_MEMALIGN)
56 return malloc(size);
57 #else
58 void *buff;
59 posix_memalign(&buff, alignment, size);
60 return buff;
61 #endif
62 }
63
64 void* allocate(int size)
65 {
66 if (size==0) return 0;
67 #if defined(__SPU__) || ! defined(HAS_POSIX_MEMALIGN)
68 return malloc(size);
69 #else
70 void *buff;
71 posix_memalign(&buff, DEFAULT_ALIGNMENT, size);
72 return buff;
73 #endif
74 }
75
76 Scheduler* get_scheduler() { return scheduler; }
77 void set_scheduler(Scheduler *s) { scheduler = s; }
54 }; 78 };
55 79
56 #endif 80 #endif