2013-11-19 22:10:23 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
2014-01-07 21:27:34 +01:00
|
|
|
u32 LoadSpuImage(vfsStream& stream, u32& spu_ep);
|
2013-12-24 18:34:51 +01:00
|
|
|
|
2013-12-31 12:10:24 +01:00
|
|
|
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
|
|
|
|
|
};
|
|
|
|
|
|
2014-01-07 21:27:34 +01:00
|
|
|
enum
|
|
|
|
|
{
|
|
|
|
|
SYS_SPU_SEGMENT_TYPE_COPY = 0x0001,
|
|
|
|
|
SYS_SPU_SEGMENT_TYPE_FILL = 0x0002,
|
|
|
|
|
SYS_SPU_SEGMENT_TYPE_INFO = 0x0004,
|
|
|
|
|
};
|
|
|
|
|
|
2013-11-19 22:10:23 +01:00
|
|
|
struct sys_spu_thread_group_attribute
|
|
|
|
|
{
|
|
|
|
|
be_t<u32> name_len;
|
|
|
|
|
be_t<u32> name_addr;
|
|
|
|
|
be_t<int> type;
|
2014-01-31 22:35:48 +01:00
|
|
|
/* struct {} option; */
|
|
|
|
|
be_t<u32> ct; // memory container id
|
2013-11-19 22:10:23 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct sys_spu_thread_attribute
|
|
|
|
|
{
|
|
|
|
|
be_t<u32> name_addr;
|
|
|
|
|
be_t<u32> name_len;
|
|
|
|
|
be_t<u32> option;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct sys_spu_thread_argument
|
|
|
|
|
{
|
|
|
|
|
be_t<u64> arg1;
|
|
|
|
|
be_t<u64> arg2;
|
|
|
|
|
be_t<u64> arg3;
|
|
|
|
|
be_t<u64> arg4;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct sys_spu_image
|
|
|
|
|
{
|
|
|
|
|
be_t<u32> type;
|
2014-01-07 21:27:34 +01:00
|
|
|
be_t<u32> entry_point;
|
|
|
|
|
be_t<u32> segs_addr; //temporarily used as offset of LS image after elf loading
|
2013-11-19 22:10:23 +01:00
|
|
|
be_t<int> nsegs;
|
|
|
|
|
};
|
2013-12-24 18:34:51 +01:00
|
|
|
|
|
|
|
|
struct sys_spu_segment
|
|
|
|
|
{
|
|
|
|
|
be_t<int> type;
|
|
|
|
|
be_t<u32> ls_start;
|
|
|
|
|
be_t<int> size;
|
|
|
|
|
be_t<u64> src;
|
|
|
|
|
};
|