#pragma once u32 LoadSpuImage(vfsStream& stream, u32& spu_ep); enum { SYS_SPU_THREAD_GROUP_JOIN_GROUP_EXIT = 0x0001, SYS_SPU_THREAD_GROUP_JOIN_ALL_THREADS_EXIT = 0x0002, SYS_SPU_THREAD_GROUP_JOIN_TERMINATED = 0x0004 }; enum { SYS_SPU_SEGMENT_TYPE_COPY = 0x0001, SYS_SPU_SEGMENT_TYPE_FILL = 0x0002, SYS_SPU_SEGMENT_TYPE_INFO = 0x0004, }; struct sys_spu_thread_group_attribute { be_t name_len; be_t name_addr; be_t type; /* struct {} option; */ be_t ct; // memory container id }; struct sys_spu_thread_attribute { be_t name_addr; be_t name_len; be_t option; }; struct sys_spu_thread_argument { be_t arg1; be_t arg2; be_t arg3; be_t arg4; }; struct sys_spu_image { be_t type; be_t entry_point; be_t segs_addr; //temporarily used as offset of LS image after elf loading be_t nsegs; }; struct sys_spu_segment { be_t type; be_t ls_start; be_t size; be_t src; };