14#define SYS_PROCESS_SPAWN_MAGIC 0x13bcc5f6
16#define SYS_PROCESS_SPAWN_VERSION_1 0x00000001
17#define SYS_PROCESS_SPAWN_VERSION_084 0x00008400
18#define SYS_PROCESS_SPAWN_VERSION_090 0x00009000
19#define SYS_PROCESS_SPAWN_VERSION_330 0x00330000
20#define SYS_PROCESS_SPAWN_VERSION_INVALID 0xffffffff
22#define SYS_PROCESS_SPAWN_MALLOC_PAGE_SIZE_NONE 0x00000000
23#define SYS_PROCESS_SPAWN_MALLOC_PAGE_SIZE_64K 0x00010000
24#define SYS_PROCESS_SPAWN_MALLOC_PAGE_SIZE_1M 0x00100000
26#define SYS_PROCESS_SPAWN_FW_VERSION_192 0x00192001
27#define SYS_PROCESS_SPAWN_FW_VERSION_330 0x00330000
28#define SYS_PROCESS_SPAWN_FW_VERSION_UNKNOWN 0xffffffff
30#define SYS_PROCESS_SPAWN_PPC_SEG_DEFAULT 0x00000000
31#define SYS_PROCESS_SPAWN_PPC_SEG_OVLM 0x00000001
32#define SYS_PROCESS_SPAWN_PPC_SEG_PRX 0x00000002
35#define SYS_PROCESS_SPAWN_STACK_SIZE_32K 0x10
37#define SYS_PROCESS_SPAWN_STACK_SIZE_64K 0x20
39#define SYS_PROCESS_SPAWN_STACK_SIZE_96K 0x30
41#define SYS_PROCESS_SPAWN_STACK_SIZE_128K 0x40
43#define SYS_PROCESS_SPAWN_STACK_SIZE_256K 0x50
45#define SYS_PROCESS_SPAWN_STACK_SIZE_512K 0x60
47#define SYS_PROCESS_SPAWN_STACK_SIZE_1M 0x70
66#define SYS_PROCESS_PARAM(prio,stacksize) \
67 sys_process_param_t __sys_process_param __attribute__((aligned(8), section(".sys_proc_param"), unused)) = { \
68 sizeof(sys_process_param_t), \
69 SYS_PROCESS_SPAWN_MAGIC, \
70 SYS_PROCESS_SPAWN_VERSION_090, \
71 SYS_PROCESS_SPAWN_FW_VERSION_192, \
74 SYS_PROCESS_SPAWN_MALLOC_PAGE_SIZE_1M, \
75 SYS_PROCESS_SPAWN_PPC_SEG_DEFAULT\
78#define SYS_PROCESS_PARAM_OVLM(prio,stacksize) \
79 sys_process_param_t __sys_process_param __attribute__((aligned(8), section(".sys_proc_param"), unused)) = { \
80 sizeof(sys_process_param_t), \
81 SYS_PROCESS_SPAWN_MAGIC, \
82 SYS_PROCESS_SPAWN_VERSION_090, \
83 SYS_PROCESS_SPAWN_FW_VERSION_192, \
86 SYS_PROCESS_SPAWN_MALLOC_PAGE_SIZE_1M, \
87 SYS_PROCESS_SPAWN_PPC_SEG_OVLM \
90#define SYS_PROCESS_PARAM_FIXED(prio,stacksize) \
91 sys_process_param_t __sys_process_param __attribute__((aligned(8), section(".sys_proc_param"), unused)) = { \
92 sizeof(sys_process_param_t), \
93 SYS_PROCESS_SPAWN_MAGIC, \
94 SYS_PROCESS_SPAWN_VERSION_090, \
95 SYS_PROCESS_SPAWN_FW_VERSION_192, \
98 SYS_PROCESS_SPAWN_MALLOC_PAGE_SIZE_1M, \
99 SYS_PROCESS_SPAWN_PPC_SEG_PRX \
103#define SYS_OBJECT_MEM (0x08UL)
104#define SYS_OBJECT_MUTEX (0x85UL)
105#define SYS_OBJECT_COND (0x86UL)
106#define SYS_OBJECT_RWLOCK (0x88UL)
107#define SYS_OBJECT_INTR_TAG (0x0AUL)
108#define SYS_OBJECT_INTR_SERVICE_HANDLE (0x0BUL)
109#define SYS_OBJECT_EVENT_QUEUE (0x8DUL)
110#define SYS_OBJECT_EVENT_PORT (0x0EUL)
111#define SYS_OBJECT_TRACE (0x21UL)
112#define SYS_OBJECT_SPUIMAGE (0x22UL)
113#define SYS_OBJECT_PRX (0x23UL)
114#define SYS_OBJECT_SPUPORT (0x24UL)
115#define SYS_OBJECT_LWMUTEX (0x95UL)
116#define SYS_OBJECT_TIMER (0x11UL)
117#define SYS_OBJECT_SEMAPHORE (0x96UL)
118#define SYS_OBJECT_FS_FD (0x73UL)
119#define SYS_OBJECT_LWCOND (0x97UL)
120#define SYS_OBJECT_EVENT_FLAG (0x98UL)
160 return_to_user_prog(sys_pid_t);
169 return_to_user_prog(sys_pid_t);
179 return_to_user_prog(s32);
189 return_to_user_prog(s32);
197 return_to_user_prog(sys_addr_t);
LV2_SYSCALL sysProcessGetPpuGuid(void)
get ppu guid info from ELF
LV2_SYSCALL sysProcessGetPid(void)
get process id
LV2_SYSCALL sysProcessGetNumberOfObject(u32 object, size_t *numptr)
get number of object
LV2_SYSCALL sysProcessIsSpuLockLinkReservation(u32 addr, u64 flags)
check if SPU can wait for lock line reservation lost event
struct _sys_process_param sys_process_param_t
LV2_SYSCALL sysProcessGetPpid(void)
get parent process id
#define SYSCALL_PROCESS_GETPID
#define SYSCALL_PROCESS_GETPPID
#define SYSCALL_PROCESS_IS_SPU_LOCK_LINE_RESERVATION_ADDRESS
#define SYSCALL_PROCESS_GET_PPU_GUID
#define SYSCALL_PROCESS_GET_NUMBER_OF_OBJECT