18 #ifndef MINICL_TASK_SCHEDULER_H
19 #define MINICL_TASK_SCHEDULER_H
34 #define CMD_SAMPLE_TASK_COMMAND 10
117 #if defined(USE_LIBSPE2) && defined(__SPU__)
118 #include "../SpuLibspe2Support.h"
120 #include <spu_intrinsics.h>
121 #include <spu_mfcio.h>
124 void * SamplelsMemoryFunc();
125 void SampleThreadFunc(
void* userPtr,
void* lsMemory);
129 int main(
unsigned long long speid,
addr64 argp,
addr64 envp)
131 printf(
"SPU is up \n");
135 unsigned int received_message = Spu_Mailbox_Event_Nothing;
136 bool shutdown =
false;
141 status.m_status = Spu_Status_Free;
142 status.m_lsMemory.p = SamplelsMemoryFunc();
150 received_message = spu_read_in_mbox();
154 switch(received_message)
156 case Spu_Mailbox_Event_Shutdown:
159 case Spu_Mailbox_Event_Task:
161 #ifdef DEBUG_LIBSPE2_MAINLOOP
162 printf(
"SPU recieved Task \n");
163 #endif //DEBUG_LIBSPE2_MAINLOOP
167 btAssert(status.m_status==Spu_Status_Occupied);
172 SampleThreadFunc((
void*)&taskDesc, reinterpret_cast<void*> (taskDesc.m_mainMemoryPtr) );
174 case Spu_Mailbox_Event_Nothing:
180 status.m_status = Spu_Status_Free;
193 #endif // MINICL_TASK_SCHEDULER_H