LV2 Functions and Syscalls

From PS3 Developer wiki
Jump to navigation Jump to search

Functions

string.h

Function Notes Offset in 3.55 Offset in 3.41 Offset in 3.15 Offset in 3.10 Offset in 3.01 Offset in 2.76
char *strcpy(char *dest, const char *src) 0x4E684 0x4D2F0 0x4CDAC 0X4CDA8 0x4AAC4 0x469B8
int strlen(char *str) 0x4E6AC 0x4D318 0X4CDD4 0X4CDD0 0x4AAEC 0x469E0
char *strcat(char *destination, const char *source) 0x4E5B4 0x4D220 0x4CCDC
char *strchr(const char* str, char chr) 0x4E5EC 0x4D258 0x4CD14
char *strrchr(const char* str, char chr) 0x4CEE4
int strcmp(const char *s1, const char *s2) 0x4E630 0x4D29C 0x4CD58
int strncmp(const char *s1, const char *s2, size_t n) 0x4E6D8 0x4D344 0X4CE00 0X4CDFC 0x4AB18 0x46A0C
char *strncpy(char *destination, const char *source, size_t num) 0x4E74C 0x4D3B8 0x4CE74
int memcmp(void *v1, void *v2, size_t n) 0x4D7E8 0x4C454 0x4BF10
void *memchr(void *s, int c, size_t n) 0x4BEC0
void *memcpy(void *dest, const void *src, size_t n) 0x7C3A4 0x7C01C 0X7BE9C 0X7BE98 0x77E84 0x7395C
void *memset(void *s, int c, size_t n) 0x4E4D8 0x4D144 0X4CC00 0X4CBFC 0x4A95C 0x46850

stdio.h

Function Notes Offset in 3.55 Offset in 3.41 Offset in 3.15
int snprintf(char *str, size_t size, char *format, ...) 0x4F86C 0x4E4D8 0x4DF94
int sprintf(char *str, char *format, ...) 0x4F900 0x4E56C 0x4E028
int printf(char *format, ...) This prints to the serial debug console. 0x29285C 0x28A654 0x28A11C

lv2

Function Notes Offset in 3.55 Offset in 3.41 Offset in 3.15 Offset in 3.10 Offset in 3.01 Offset in 2.76
void* alloc(size_t size, int unk) unk is possibly pool? PSGroove uses 0x27. 0x60b78 0x62088 0x61CF0 0x61CEC 0x5DF4C 0x59D54
void dealloc(void* ptr, int unk) unk is possibly pool? Should be the same value of unk given to alloc. 0x60fb4 0x624C8 0x62138 0x62134 0x5E38C 0x5A194
void process_utils::create_initial_system_process(). Called to start the first userspace process, which is normally "sys_init_osd.self" but it can also launch recovery mode or update mode. 0x287D50 0x287858
void Panic(int unk) This function does not return.

(It seems that the offset point to a location that will cause panic after, not the real panic function, use with caution)

0x288568 0x288070
USBGetDeviceDescriptor USB function 0xd2998 0xd3474 0xCCD2C
USBOpenEndpoint 0xd29c4 0xd34ac 0xCCD58
USBControlTransfer 0xd292c 0xd3408 0xCCCC0
USBRegisterDriver 0xd22d8 0xd2978 0xCC6A0

Lv2 System Table Offset

FW version Alloc Free Syscall
Table
Mem_base TOC Copy
to
User
Notes
3.56 Retail 0x60b24 0x60f60 0x346570 0xef60 0x330540
3.55 Retail 0x60b78 0x60fb4 0x346570 0x0ef48 0x330540 0xf6a4
3.55 DEX 0x64464 0x648a0 0x361578 0xf590 0x34ac80 0xfcec
3.50 Retail
3.42 Retail
3.41 Retail 0x62088 0x624c8 0x2eb128 0x50b3c 0x33e720 0xe050
3.41 DEX 0x65974 0x65db4 0x303130 0x54400 0x359320 0xe698
3.41 KIOSK 0x62084 0x624c4 0x2eb128 0x50b3c
3.40 Retail 0x62084 0x624c4 0x2eb128 0x50b38
3.30 Retail 0x62080 0x624c0 0x2ea728 0xe04c
3.21 Retail 0x61cf0 0x62138 0x2ea8a0 0xe0fc
3.15 Retail 0x61cf0 0x62138 0x2ea820 0x50608 0x33da10 0xe0fc
3.15 DEX 0x65704 0x65b4c 0x302828 0x53ff4 0x3585f0 0xe748
3.10 Retail 0x61cec 0x62134 0x2ea820
3.01 Retail 0x5df4c 0x5e38c 0x2cfb40
3.00 Retail
2.85 Retail 0x5daf4 0x5df34 0x2cbec0
2.80 Retail
2.76 Retail 0x59d54 0x5a194 0x2c4318 0xe198
2.70 Retail 0x59d50 0x5a190 0x2c4318 0xe194
2.60 Retail 0x59040 0x5944c 0x2b67c0 0xdfdc
2.53 Retail 0x5903c 0x59448 0x2b5bb8 0xdfe0
2.43 Retail 0x6c2e0 0x6c708 0x2d2b18 0x1e0e0
2.43 JIG 0x31ddb0 0x371400
2.42 DEX 0x2ed980
1.92 TOOL 0x361e40
1.60 TOOL 0x36c880
1.02 Retail 0x322428
1.00 DEX 0x3206e0

Syscalls

LV2 Syscalls

Dec Hex Name Notes
#sys_process Syscalls (1-31)
1 0x001 sys_process_getpid sys_pid_t sys_process_getpid(void);
2 0x002 sys_process_wait_for_child 3 params
3 0x003 sys_process_? 1 param = "cellProcessElf"
4 0x004 sys_process_get_status 1 param
5 0x005 sys_process_detach_child 1 param
6 0x006 sys_process_create_program_segment
12 0x00B sys_process_get_number_of_object int sys_process_get_number_of_object(uint32_t object, size_t * nump);
13 0x00C sys_process_get_id int sys_process_get_id(uint32_t object, uint32_t * buff, size_t size, size_t * set_size);
14 0x00D sys_process_is_spu_lock_line_reservation_address int sys_process_is_spu_lock_line_reservation_address(sys_addr_t addr, uint64_t flags);
18 0x012 sys_process_getppid sys_pid_t sys_process_getppid(void);
19 0x013 sys_process_kill int sys_process_kill(sys_pid_t pid);
21 0x015 CreateSystemSoftwareProcess 7 param
22 0x016 sys_process_exit void sys_process_exit(int error_code,0,0)
23 0x017 sys_process_wait_for_child2 6 params
24 0x018 8 params
25 0x019 sys_process_get_sdk_version 2 params :sys_pid_t pid, *outbuf?
26 0x01A 3 params
27 0x01B 8 params
28 0x01C 1 params
29 0x01D 4 params
30 0x01E sys_process_get_paramsfo int sys_process_get_paramsfo(uint64_t buffer); Buffer Size 40h, returns infos from sfo.sample: 00000000 01 42 4C 45 53 38 30 36 30 38 00 00 00 00 00 00 �BLES80608......
31 0x01F sys_process_get_ppu_guid sys_addr_t sys_process_get_ppu_guid(void);
41 0x029 1 param: Error-Code
#sys_ppu_thread Syscalls (43-58)
43 0x02B sys_ppu_thread_yield void sys_ppu_thread_yield(void);
44 0x02C sys_ppu_thread_join int sys_ppu_thread_join(sys_ppu_thread_t thread_id, uint64_t * vptr);
45 0x02D sys_ppu_thread_detach int sys_ppu_thread_detach(sys_ppu_thread_t thread_id);
46 0x02E sys_ppu_thread_get_join_state void sys_ppu_thread_get_join_state(int *isjoinable);
47 0x02F sys_ppu_thread_set_priority int sys_ppu_thread_set_priority(sys_ppu_thread_t thread_id, int prio);
48 0x030 sys_ppu_thread_get_priority int sys_ppu_thread_get_priority(sys_ppu_thread_t thread_id, int *prio);
49 0x031 sys_ppu_thread_get_stack_information int sys_ppu_thread_get_stack_information(sys_ppu_thread_stack_t * info);
50 0x032
51 0x033
52 0x034
53 0x035
54 0x036
55 0x037
56 0x038 sys_ppu_thread_rename int sys_ppu_thread_rename(sys_ppu_thread_t thread_id, const char *name);
57 0x039 sys_ppu_thread_recover_page_fault int sys_ppu_thread_recover_page_fault(sys_ppu_thread_t thread_id);
58 0x03A sys_ppu_thread_get_page_fault_context int sys_ppu_thread_get_page_fault_context(sys_ppu_thread_t thread_id, sys_ppu_thread_icontext_t * ctxp);
#sys_trace Syscalls (67-69+77)
60 0x03C sys_trace_create
64 0x040 syscall_sys_trace_destroy
67 0x043 sys_trace_allocate_buffer
68 0x044 sys_trace_free_buffer
69 0x045 sys_trace_create2
#sys_timer Syscalls (70-76+141+142)
70 0x046 sys_timer_create int sys_timer_create(sys_timer_t * timer_id);
71 0x047 sys_timer_destroy int sys_timer_destroy(sys_timer_t timer_id);
72 0x048 sys_timer_get_information int sys_timer_get_information(sys_timer_t timer_id, sys_timer_information_t * info);
73 0x049 sys_timer_start int sys_timer_start(sys_timer_t timer_id, system_time_t base_time, usecond_t period);
74 0x04A sys_timer_stop int sys_timer_stop(sys_timer_t timer_id);
75 0x04B sys_timer_connect_event_queue int sys_timer_connect_event_queue(sys_timer_t timer_id, sys_event_queue_t queue_id, uint64_t name, uint64_t data1, uint64_t data2);
76 0x04C sys_timer_disconnect_event_queue int sys_timer_disconnect_event_queue(sys_timer_t timer_id);
#sys_trace Syscalls (67-69+77)
77 0x04D sys_trace_create2_in_cbepm
#sys_interrupt Syscalls (80+81+84+88+89)
80 0x050 sys_interrupt_tag_create int sys_interrupt_tag_create(sys_interrupt_tag_t * intrtag, sys_irqoutlet_id_t irq, sys_hw_thread_t hwthread);
81 0x051 sys_interrupt_tag_destroy int sys_interrupt_tag_destroy(sys_interrupt_tag_t intrtag);
#sys_event Syscalls (82+83+85-87+118+128-140)
82 0x052 sys_event_flag_create int sys_event_flag_create(sys_event_flag_t * id, sys_event_flag_attribute_t * attr, uint64_t init);
83 0x053 sys_event_flag_destroy int sys_event_flag_destroy(sys_event_flag_t id);
#sys_interrupt Syscalls (80+81+84+88+89)
84 0x054 sys_interrupt_thread_establish int sys_interrupt_thread_establish(sys_interrupt_thread_handle_t * ih, sys_interrupt_tag_t intrtag, uint64_t intrthread, uint64_t arg1, uint64_t arg2);
#sys_event Syscalls (82+83+85-87+118+128-140)
85 0x055 sys_event_flag_wait int sys_event_flag_wait(sys_event_flag_t id, uint64_t bitptn, uint32_t mode, uint64_t * result, usecond_t timeout);
86 0x056 sys_event_flag_trywait int sys_event_flag_trywait(sys_event_flag_t id, uint64_t bitptn, uint32_t mode, uint64_t * result);
87 0x057 sys_event_flag_set int sys_event_flag_set(sys_event_flag_t id, uint64_t bitptn);
#sys_interrupt Syscalls (80+81+84+88+89)
88 0x058 sys_interrupt_thread_eoi void sys_interrupt_thread_eoi(void);
89 0x059 sys_interrupt_thread_disestablish int sys_interrupt_thread_disestablish(sys_interrupt_thread_handle_t ih);
#sys_semaphore Syscalls (90-94+114)
90 0x05A sys_semaphore_create int sys_semaphore_create(sys_semaphore_t * sem, sys_semaphore_attribute_t * attr, sys_semaphore_value_t initial_val, sys_semaphore_value_t max_val);
91 0x05B sys_semaphore_destroy int sys_semaphore_destroy(sys_semaphore_t sem);
92 0x05C sys_semaphore_wait int sys_semaphore_wait(sys_semaphore_t sem, usecond_t timeout);
93 0x05D sys_semaphore_trywait int sys_semaphore_trywait(sys_semaphore_t sem);
94 0x05E sys_semaphore_post int sys_semaphore_post(sys_semaphore_t sem, sys_semaphore_value_t val);
#sys_lwmutex Syscalls (95-99)
95 0x05F sys_lwmutex_create int sys_lwmutex_create(sys_lwmutex_t *lwmutex, sys_lwmutex_attribute_t *attr)
96 0x060 sys_lwmutex_destroy int sys_lwmutex_destroy(sys_lwmutex_t *lwmutex)
97 0x061 sys_lwmutex_lock int sys_lwmutex_lock(sys_lwmutex_t *lwmutex, usecond_t timeout)
98 0x062 sys_lwmutex_trylock int sys_lwmutex_trylock(sys_lwmutex_t *lwmutex)
99 0x063 sys_lwmutex_unlock int sys_lwmutex_unlock(sys_lwmutex_t *lwmutex)
#sys_mutex Syscalls (100-104)
100 0x064 sys_mutex_create int sys_mutex_create(sys_mutex_t * mutex_id, sys_mutex_attribute_t * attr);
101 0x065 sys_mutex_destroy int sys_mutex_destroy(sys_mutex_t mutex_id);
102 0x066 sys_mutex_lock int sys_mutex_lock(sys_mutex_t mutex_id, usecond_t timeout);
103 0x067 sys_mutex_trylock int sys_mutex_trylock(sys_mutex_t mutex_id);
104 0x068 sys_mutex_unlock int sys_mutex_unlock(sys_mutex_t mutex_id);
#sys_cond Syscalls (105-110)
105 0x069 sys_cond_create int sys_cond_create(sys_cond_t * cond_id, sys_mutex_t mutex_id, sys_cond_attribute_t * attr);
106 0x06A sys_cond_destroy int sys_cond_destroy(sys_cond_t cond_id);
107 0x06B sys_cond_wait int sys_cond_wait(sys_cond_t cond_id, usecond_t timeout);
108 0x06C sys_cond_signal int sys_cond_signal(sys_cond_t cond_id);
109 0x06D sys_cond_signal_all int sys_cond_signal_all(sys_cond_t cond_id);
110 0x06E sys_cond_signal_to int sys_cond_signal_to(sys_cond_t cond_id, sys_ppu_thread_t thread);
#sys_lwcond Syscalls (111+112)
111 0x06F sys_lwcond_create int sys_lwcond_create(sys_lwcond_t *lwcond, sys_lwmutex_t *lwmutex, sys_lwcond_attribute_t *attr)
112 0x070 sys_lwcond_destroy int sys_lwcond_destroy(sys_lwcond_t *lwcond)
113 0x071 sys_lwcond_queue_wait 3 params
#sys_semaphore Syscalls (90-94+114)
114 0x072 sys_semaphore_get_value int sys_semaphore_get_value(sys_semaphore_t sem, sys_semaphore_value_t * val);
115 0x073 4 params
116 0x074 3 params
117 0x075 1 params : sys_lwmutex_t *lwmutex
#sys_event Syscalls (82+83+85-87+118+128-140)
118 0x076 sys_event_flag_clear int sys_event_flag_clear(sys_event_flag_t id, uint64_t bitptn);
119 0x077 1 Param
#sys_rwlock Syscalls (120-127+148)
120 0x078 sys_rwlock_create int sys_rwlock_create(sys_rwlock_t * rw_lock_id, sys_rwlock_attribute_t * attr);
121 0x079 sys_rwlock_destroy int sys_rwlock_destroy(sys_rwlock_t rw_lock_id);
122 0x07A sys_rwlock_rlock int sys_rwlock_rlock(sys_rwlock_t rw_lock_id, usecond_t timeout);
123 0x07B sys_rwlock_tryrlock int sys_rwlock_tryrlock(sys_rwlock_t rw_lock_id);
124 0x07C sys_rwlock_runlock int sys_rwlock_runlock(sys_rwlock_t rw_lock_id);
125 0x07D sys_rwlock_wlock int sys_rwlock_wlock(sys_rwlock_t rw_lock_id, usecond_t timeout);
126 0x07E sys_rwlock_trywlock int sys_rwlock_trywlock(sys_rwlock_t rw_lock_id);
127 0x07F sys_rwlock_wunlock int sys_rwlock_wunlock(sys_rwlock_t rw_lock_id);
#sys_event Syscalls (82+83+85-87+118+128-140)
128 0x080 sys_event_queue_create int sys_event_queue_create(sys_event_queue_t * equeue_id, sys_event_queue_attribute_t * attr, sys_ipc_key_t event_queue_key, int size);
129 0x081 sys_event_queue_destroy int sys_event_queue_destroy(sys_event_queue_t equeue_id, int mode);
130 0x082 sys_event_queue_receive int sys_event_queue_receive(sys_event_queue_t equeue_id, sys_event_t * event, usecond_t timeout);
131 0x083 sys_event_queue_tryreceive int sys_event_queue_tryreceive(sys_event_queue_t equeue_id, sys_event_t * event_array, int size, int *number);
132 0x084 sys_event_flag_cancel int sys_event_flag_cancel(sys_event_flag_t id, int *num);
133 0x085 sys_event_queue_drain int sys_event_queue_drain(sys_event_queue_t equeue_id);
134 0x086 sys_event_port_create int sys_event_port_create(sys_event_port_t * eport_id, int port_type, uint64_t name);
135 0x087 sys_event_port_destroy int sys_event_port_destroy(sys_event_port_t eport_id);
136 0x088 sys_event_port_connect_local int sys_event_port_connect_local(sys_event_port_t event_port_id, sys_event_queue_t event_queue_id);
137 0x089 sys_event_port_disconnect int sys_event_port_disconnect(sys_event_port_t event_port_id);
138 0x08A sys_event_port_send int sys_event_port_send(sys_event_port_t eport_id, unint64_t data1, uint64_t data2, uint64_t data3);
139 0x08B sys_event_flag_get int sys_event_flag_get(sys_event_flag_t id, uint64_t * bitptn);
140 0x08C sys_event_port_connect_ipc int sys_event_port_connect_ipc(sys_event_port_t eport_id, ??);
#sys_timer Syscalls (70-76+141+142)
141 0x08D sys_timer_usleep int sys_timer_usleep(usecond_t sleep_time);
142 0x08E sys_timer_sleep int sys_timer_sleep(second_t sleep_time);
143 0x08F 2 Params
144 0x090 2 Params
#sys_time Syscalls (145-147)
145 0x091 sys_time_get_current_time int sys_time_get_current_time(sys_time_sec_t * sec, sys_time_nsec_t * nsec);
146 0x092 sys_time_get_system_time system_time_t sys_time_get_system_time(void)
147 0x093 sys_time_get_timebase_frequency uint64_t sys_time_get_timebase_frequency(void);
#sys_rwlock Syscalls (120-127+148)
148 0x094 sys_rwlock_trywlock int sys_rwlock_trywlock(sys_rwlock_t rw_lock_id);
#sys_spu/sys_raw_spu Syscalls (150-260)
150 0x096 sys_raw_spu_create_interrupt_tag int sys_raw_spu_create_interrupt_tag(sys_raw_spu_t id,sys_class_id_t class_id, sys_hw_thread_t hwthread, sys_interrupt_tag_t *intrtag)
151 0x097 sys_raw_spu_set_int_mask int sys_raw_spu_set_int_mask(sys_raw_spu_t id, sys_class_id_t class_id, uint64_t mask)
152 0x098 sys_raw_spu_get_int_mask int sys_raw_spu_get_int_mask(sys_raw_spu_t id, sys_class_id_t class_id, uint64_t *mask)
153 0x099 sys_raw_spu_set_int_stat int sys_raw_spu_set_int_stat(sys_raw_spu_t id, sys_class_id_t class_id, uint64_t stat)
154 0x09A sys_raw_spu_get_int_stat int sys_raw_spu_get_int_stat(sys_raw_spu_t id, sys_class_id_t class_id, uint64_t *stat)
156 0x09C sys_spu_image_open int sys_spu_image_open(sys_spu_image_t *img, const char *path)
157 0x09D sys_spu_image_import int sys_spu_image_import(sys_spu_image_t *img, const void *src, uint32_t type)
158 0x09E sys_spu_image_close int sys_spu_image_close(sys_spu_image_t *img);
159 0x09F 3 Params
160 0x0A0 sys_raw_spu_create int sys_raw_spu_create(sys_raw_spu_t *id, sys_raw_spu_attribute_t *attr)
161 0x0A1 sys_raw_spu_destroy int sys_raw_spu_destroy(sys_raw_spu_t id)
163 0x0A3 sys_raw_spu_read_puint_mb int sys_raw_spu_read_puint_mb(sys_raw_spu_t id, uint32_t *value)
165 0x0A5 sys_spu_thread_get_exit_status int sys_spu_thread_get_exit_status(sys_spu_thread_t id, int *status)
166 0x0A6 sys_spu_thread_set_argument int sys_spu_thread_set_argument(sys_spu_thread_t id, sys_spu_thread_argument_t *arg)
167 0x0A7 sys_spu_thread_group_start_on_exit
169 0x0A9 sys_spu_initialize int sys_spu_initialize(unsigned int max_usable_spu, unsigned int max_raw_spu)
170 0x0AA sys_spu_thread_group_create int sys_spu_thread_group_create(sys_spu_thread_group_t *id, unsigned int num, int prio, sys_spu_thread_group_attribute_t *attr)
171 0x0AB sys_spu_thread_group_destroy int sys_spu_thread_group_destroy(sys_spu_thread_group_t id)
172 0x0AC sys_spu_thread_initialize int sys_spu_thread_initialize(sys_spu_thread_t *thread,sys_spu_thread_group_t group,uint spu_num,sys_spu_image_t *img,sys_spu_thread_attribute_t *attr,sys_spu_thread_argument_t *arg)
173 0x0AD sys_spu_thread_group_start int sys_spu_thread_group_start(sys_spu_thread_group_t id)
174 0x0AE sys_spu_thread_group_suspend int sys_spu_thread_group_suspend(sys_spu_thread_group_t id)
175 0x0AF sys_spu_thread_group_resume int sys_spu_thread_group_resume(sys_spu_thread_group_t id)
176 0x0B0 sys_spu_thread_group_yield int sys_spu_thread_group_yield(sys_spu_thread_group_t id)
177 0x0B1 sys_spu_thread_group_terminate int sys_spu_thread_group_terminate(sys_spu_thread_group_t id, int value)
178 0x0B2 sys_spu_thread_group_join int sys_spu_thread_group_join(sys_spu_thread_group_t gid, int *cause, int *status)
179 0x0B3 sys_spu_thread_group_set_priority int sys_spu_thread_group_set_priority(sys_spu_thread_group_t id, int priority)
180 0x0B4 sys_spu_thread_group_get_priority int sys_spu_thread_group_get_priority(sys_spu_thread_group_t id, int *priority)
181 0x0B5 sys_spu_thread_write_ls int sys_spu_thread_write_ls(sys_spu_thread_t id, uint32_t address, uint64_t value, size_t type)
182 0x0B6 sys_spu_thread_read_ls int sys_spu_thread_read_ls(sys_spu_thread_t id, uint32_t address, uint64_t *value, size_t type)
184 0x0B8 sys_spu_thread_write_snr int sys_spu_thread_write_snr(sys_spu_thread_t id, int number, uint32_t value)
185 0x0B9 sys_spu_thread_group_connect_event int sys_spu_thread_group_connect_event(sys_spu_thread_group_t id, sys_event_queue_t eq, sys_event_type_t et)
186 0x0BA sys_spu_thread_group_disconnect_event int sys_spu_thread_group_disconnect_event(sys_spu_thread_group_t id, sys_event_type_t et)
187 0x0BB sys_spu_thread_set_spu_cfg int sys_spu_thread_set_spu_cfg(sys_spu_thread_t id, uint64_t value)
188 0x0BC sys_spu_thread_get_spu_cfg int sys_spu_thread_get_spu_cfg(sys_spu_thread_t id, uint64_t *value)
190 0x0BE sys_spu_thread_write_spu_mb int sys_spu_thread_write_spu_mb(sys_spu_thread_t id, uint32_t value);
191 0x0BF sys_spu_thread_connect_event int sys_spu_thread_connect_event(sys_spu_thread_t id, sys_event_queue_t eq, sys_event_type_t et, uint8_t spup)
192 0x0C0 sys_spu_thread_disconnect_event int sys_spu_thread_disconnect_event(sys_spu_thread_t id, sys_event_type_t et, uint8_t spup)
193 0x0C1 sys_spu_thread_bind_queue int sys_spu_thread_bind_queue(sys_spu_thread_t id,sys_event_queue_t spuq,uint32_t spuq_num)
194 0x0C2 sys_spu_thread_unbind_queue int sys_spu_thread_unbind_queue(sys_spu_thread_t id, uint32_t spuq_num)
196 0x0C4 sys_raw_spu_set_spu_cfg int sys_raw_spu_set_spu_cfg(sys_raw_spu_t id, uint32_t value)
197 0x0C5 sys_raw_spu_get_spu_cfg int sys_raw_spu_get_spu_cfg(sys_raw_spu_t id, uint32_t *value)
198 0x0C6 sys_spu_thread_recover_page_fault int sys_spu_thread_recover_page_fault(sys_spu_thread_t id)
199 0x0C7 sys_raw_spu_recover_page_fault int sys_raw_spu_recover_page_fault(sys_raw_spu_t id)
230 0x0E6 sys_isoself_spu_create int sys_isoself_spu_create(sys_raw_spu_t *id, uint8_t *source_spe, in?: args?,0,0,0)
231 0x0E7 sys_isoself_spu_destroy int sys_isoself_spu_destroy(sys_raw_spu_t id)
232 0x0E8 sys_isoself_spu_start int sys_isoself_spu_start(sys_raw_spu_t id)
233 0x0E9 sys_isoself_spu_create_interrupt_tag int sys_isoself_spu_create_interrupt_tag(sys_raw_spu_t id, uint32_t class_id, uint32_t hwthread, sys_interrupt_tag_t *intrtag)
234 0x0EA sys_isoself_spu_set_int_mask int sys_isoself_spu_set_int_mask(sys_raw_spu_t id, uint32_t class_id, uint64_t mask)
235 0x0EB sys_isoself_spu_get_int_mask int sys_isoself_spu_get_int_mask(sys_raw_spu_t id, uint32_t class_id, uint64_t *mask)
236 0x0EC sys_isoself_spu_set_int_stat int sys_isoself_spu_set_int_stat(sys_raw_spu_t id, uint32_t class_id, uint64_t stat)
237 0x0ED sys_isoself_spu_get_int_stat int sys_isoself_spu_get_int_stat(sys_raw_spu_t id, uint32_t class_id, uint64_t * stat)
238 0x0EE 2 Params
239 0x0EF 2 Params
240 0x0F0 sys_isoself_spu_read_puint_mb int sys_isoself_spu_read_puint_mb(sys_raw_spu_t id, uint32_t * value)
244 0x0F4 sys_spu_thread_group_system_set_next_group int sys_spu_thread_group_system_set_next_group(void)
245 0x0F5 sys_spu_thread_group_system_unset_next_group int sys_spu_thread_group_system_unset_next_group(void)
246 0x0F6 sys_spu_thread_group_system_set_switch_group int sys_spu_thread_group_system_set_switch_group(void)
247 0x0F7 sys_spu_thread_group_system_unset_switch_group int sys_spu_thread_group_system_unset_switch_group(void)
248 0x0F8 5 Params
249 0x0F9 1 Param
250 0x0FA sys_spu_thread_group_set_cooperative_victims 2 Params
251 0x0FB sys_spu_thread_group_connect_event_all_threads int sys_spu_thread_group_connect_event_all_threads(sys_spu_thread_group_t id, sys_event_queue_t eq, uint64_t req, uint8_t *spup)
252 0x0FC sys_spu_thread_group_disconnect_event_all_threads int sys_spu_thread_group_disconnect_event_all_threads(sys_spu_thread_group_t id, uint8_t spup)
253 0x0FD 2 Params
254 0x0FE sys_spu_thread_group_log int sys_spu_thread_group_log(int command, int *stat)
260 0x104 sys_spu_image_open_by_fd int sys_spu_image_open_by_fd(sys_spu_image_t *img, int fd, off64_t offset)
#sys_vm/sys_memory/sys_mmapper Syscalls (300-352)
300 0x12C sys_vm_memory_map int sys_vm_memory_map(size_t vsize, size_t psize, sys_memory_container_t container, uint64_t flag, uint64_t policy, sys_addr_t * addr);
301 0x12D sys_vm_unmap int sys_vm_unmap(sys_addr_t addr);
302 0x12E sys_vm_append_memory int sys_vm_append_memory(sys_addr_t addr, size_t size);
303 0x12F sys_vm_return_memory int sys_vm_return_memory(sys_addr_t addr, size_t size);
304 0x130 sys_vm_lock int sys_vm_lock(sys_addr_t addr, size_t size);
305 0x131 sys_vm_unlock int sys_vm_unlock(sys_addr_t addr, size_t size);
306 0x132 sys_vm_touch int sys_vm_touch(sys_addr_t addr, size_t size);
307 0x133 sys_vm_flush int sys_vm_flush(sys_addr_t addr, size_t size);
308 0x134 sys_vm_invalidate int sys_vm_invalidate(sys_addr_t addr, size_t size);
309 0x135 sys_vm_store int sys_vm_store(sys_addr_t addr, size_t size);
310 0x136 sys_vm_sync int sys_vm_sync(sys_addr_t addr, size_t size);
311 0x137 sys_vm_test int sys_vm_test(sys_addr_t addr, size_t size, uint64_t * result);
312 0x138 sys_vm_get_statistics int sys_vm_get_statistics(sys_addr_t addr, sys_vm_statistics_t * stat);
313 0x139 6 Params
314 0x13A 2 Params
315 0x13B 1 Param
324 0x144 sys_memory_container_create int sys_memory_container_create(sys_memory_container_t * cid, size_t yield_size);
325 0x145 sys_memory_container_destroy int sys_memory_container_destroy(sys_memory_container_t cid);
326 0x146 sys_mmapper_allocate_fixed_address int sys_mmapper_allocate_fixed_address(void);
327 0x147 sys_mmapper_enable_page_fault_notification int sys_mmapper_enable_page_fault_notification(sys_addr_t start_addr, sys_event_queue_t queue_id);
328 0x148 7 Params
329 0x149 sys_mmapper_free_shared_memory int sys_mmapper_free_shared_memory(sys_addr_t start_addr);
330 0x14A sys_mmapper_allocate_address int sys_mmapper_allocate_address(size_t size, uint64_t flags, size_t alignment, sys_addr_t * alloc_addr);
331 0x14B sys_mmapper_free_address int sys_mmapper_free_address(sys_addr_t start_addr);
332 0x14C sys_mmapper_allocate_shared_memory 4 Params: (size_t size, uint64_t flags, size_t alignment, sys_addr_t * alloc_addr) ?
333 0x14D sys_mmapper_set_shared_memory_flag int sys_mmapper_set_shared_memory_flag(sys_addr_t, flags) ?;
334 0x14E sys_mmapper_map_shared_memory 3 Params: (sys_addr_t start_addr, sys_memory_t mem_id, uint64_t flags) ?
335 0x14F sys_mmapper_unmap_shared_memory 2 Params: (sys_addr_t start_addr,sys_memory_t *mem_id ) ?
336 0x150 sys_mmapper_change_address_access_right int sys_mmapper_change_address_access_right(sys_addr_t start_addr, uint64_t flags);
337 0x151 sys_mmapper_search_and_map int sys_mmapper_search_and_map(sys_addr_t start_addr, sys_memory_t mem_id, uint64_t flags, sys_addr_t * alloc_addr);
338 0x152 sys_mmapper_get_shared_memory_attribute 2 Params:
339 0x153 5 Params
340 0x154 2 Params
341 0x155 sys_memory_container_create int sys_memory_container_create(sys_memory_container_t * cid, size_t yield_size);
342 0x156 sys_memory_container_destroy int sys_memory_container_destroy(sys_memory_container_t cid);
343 0x157 sys_memory_container_get_size int sys_memory_container_get_size(sys_memory_info_t * mem_info, sys_memory_container_t cid);
344 0x158 sys_memory_budget_set
345 0x159 3 Params
346 0x15A
348 0x15C sys_memory_allocate int sys_memory_allocate(size_t size, uint64_t flags, sys_addr_t * alloc_addr);
349 0x15D sys_memory_free int sys_memory_free(sys_addr_t start_addr);
350 0x15E sys_memory_allocate_from_container int sys_memory_allocate_from_container(size_t size, sys_memory_container_t container, uint64_t flags, sys_addr_t * alloc_addr);
351 0x15F sys_memory_get_page_attribute int sys_memory_get_page_attribute(sys_addr_t addr, sys_page_attr_t * attr);
352 0x160 sys_memory_get_user_memory_size int sys_memory_get_user_memory_size(sys_memory_info_t * mem_info);
353 0x161 sys_memory_(get)_stat(us/istics?) 1 Param: out:uint64_t buffer
354 0x162 3 Params
355 0x163 1 Param
356 0x164 sys_memory_allocate_colored 4 Params
357 0x165 2 Params
358 0x166 5 Params
359 0x167 2 Params
360 0x168 7 Params
361 0x169 sys_memory_allocate_from_container_colored 5 Params
362 0x16A sys_mmapper_allocate_memory_from_container sys_mmapper_allocate_memory_from_container(size_t size, sys_memory_container_t container, uint64_t flags, sys_memory_t *mem_id)
363 0x16B 6 Params
#sys_av Syscalls (367-370)
367 0x16F prolly sys_avset_initialize syscall(367, void)
368 0x170 prolly sys_avset_receive 3 Params: uint32_t ?,0x400 / 0x800, 1
369 0x171 prolly sys_avset_send
370 0x172 1 input
371 0x173
#sys_game Syscalls (372-376+410-412)
372 0x174 sys_game_watchdog_start 1 param
373 0x175 sys_game_watchdog_stop int sys_game_watchdog_stop(void)
374 0x176 sys_game_watchdog_clear int sys_game_watchdog_clear(void)
375 0x177 1 param
376 0x178 sys_game_get_system_sw_version int sys_game_get_system_sw_version(void)
#sys_sm/sys_ctrl Syscalls (378-396)
377 0x179 sys_sm_set_shop_mode 1 Param: 0/1, HV System Manager access - ServiceID 39 (SET_SHOP_DEMO_MODE)
378 0x17A sys_sm_get_ext_event2 4 Param,
IsConsoleHot?=sc378(uint64_t v1,uint64_t v2, uint64_t v3, 1), v1==7 -> yesHOT
379 0x17B sys_sm_shutdown system_call_4(379,0x200,0,0,0); // 0x1100/0x100 = turn off, 0x1200/0x200 = reboot, 0x8201/0x8202 = ?
HV System Manager access - ServiceID 1 (REQUEST)
380 0x17C sys_sm_get_params alias sys_get_system_parameter
381 0x17D 2Params: syscall(381,uint64_t out_buff, 0x600 (size?));
382 0x17E sys_sm_clear?_rtc_alarm int syscall(382, void);
383 0x17F sys_game_get_temperature int sys_game_get_temperature(0/1,uint32_t *temperature)
HV System Manager access - ServiceID 13 (TEMPERATURE)
384 0x180 sys_sm_get_tzpb syscall(384,uint64_t *tzpb); used by sys_game_get_temperature)
HV System Manager access - ServiceID 15
385 0x181 2 Params, HV System Manager access - ServiceID 17
386 0x182 sys_sm_control_led? Controls Power LED - Parameters: value1,value2 Value1 = 0,1,2 (red, green, red+green combined: looks like yellow); Value2 = 0,1,2 (off,on,blink)
387 0x183 sys_sm_get_platform_info? syscall(387, uint8_t platform_info[0x18]) / OS Version, Revision, System Software Version?
388 0x184 sys_sm_ring_buzzer_too HV System Manager access - ServiceID 21 (RING_BUZZER)
389 0x185 sys_sm_ 3 Params (all 3 uint8_t*), HV System Manager access - ServiceID 25 (FAN_POLICY)
(Requires Product Mode)
390 0x186 sys_sm_request_error_log? 4 Params, HV System Manager access - ServiceID 26 (REQUEST_ERROR_LOG)
391 0x187 sys_sm_request_be_count? 4 Params, HV System Manager access - ServiceID 28 (REQUEST_BE_COUNT)
392 0x188 lv2_sm_ring_buzzer? 3 Params: PacketID=0x1004, field2, field4 [Parameters]
393 0x189 sys_sm_get_model? gets hw? model: syscall(393,uint8_t *out1, uint64_t *out2)
394 0x18A sys_sm_request_scVersion? gets some stuff,3 Params : syscall(394,uint64_t *v1,uint64_t *v2,uint64_t *v3); v1-3 pre set with -1
HV System Manager access - ServiceID 30 (REQUEST_SC_VERSION)
395 0x18B sys_sm_request_system_event_log? 6 Params, HV System Manager access - ServiceID 32 (REQUEST_SYSTEM_EVENT_LOG)
(Requires Product mode)
396 0x18C sys_sm_set_rtc_alarm 1 Param, HV System Manager access - ServiceID 34+38 (RTC_ALARM)
397 0x18D sys_sm_compare?_rtc_alarm 1 Param, HV System Manager access - ServiceID 36
398 0x18E 2 Params,
400 0x190 3 Params, HV System Manager access - ServiceID 32 (REQUEST_SYSTEM_EVENT_LOG)
(Requires Product Mode)
401 0x191 2 Params, HV System Manager access - ServiceID 40 (BOOT_PARAMETER)
#sys_tty Syscalls (402-403)
402 0x192 sys_tty_read int sys_tty_read(unsigned int ch, void *buf, unsigned int len, unsigned int *preadlen);
403 0x193 sys_tty_write int sys_tty_write(unsigned int ch, const void *buf, unsigned int len, unsigned int *pwritelen);
404 0x194 2 Params: out:uint8_t [8], out:uint8_t [1], HV System Manager access - ServiceID 42 (BOOT_PARAMETER)
405 0x195 2 Params: out:uint8_t [2],out:uint8_t[1], HV System Manager access - ServiceID 44
(Requires Product Mode)
406 0x196 2 Params: in:uint64,out:uint8_t[1], HV System Manager access - ServiceID 46
(Requires Product Mode)
407 0x197 1 Param: out:uint8_t [1], HV System Manager access - ServiceID 48
(Requires Product Mode)
408 0x198 1 Param: out:uint8_t [0x20]
(Requires Product Mode)
409 0x199 5 Params, HV System Manager access - ServiceID 50 (FAN_POLICY)
(Requires Product Mode)
#sys_game Syscalls (372-376+410-412)
410 0x19A sys_game_board_storage_read 2 Params, HV System Manager access - ServiceID 54
411 0x19B sys_game_board_storage_write 2 Params, HV System Manager access - ServiceID 52
412 0x19C sys_game_get_rtc_status
413 0x19D 3 Params, HV System Manager access - ServiceID 56
414 0x19E 3 Params, HV System Manager access - ServiceID 58
415 0x19F 3 Params, HV System Manager access - ServiceID 60
#sys_overlay Syscalls (450-457)
450 0x1C2 sys_overlay_load_module int sys_overlay_load_module(sys_overlay_t * ovlmid, const char *path, uint64_t flags, sys_addr_t * entry)
451 0x1C3 sys_overlay_unload_module int sys_overlay_unload_module(sys_overlay_t ovlmid)
452 0x1C4 sys_overlay_get_module_list int sys_overlay_get_module_list(sys_pid_t pid, size_t ovlmids_num, sys_overlay_t * ovlmids, size_t * num_of_modules)
453 0x1C5 sys_overlay_get_module_info int sys_overlay_get_module_info(sys_pid_t pid,sys_overlay_t ovlmid, sys_overlay_module_info_t * info)
454 0x1C6 sys_overlay_load_module_by_fd int sys_overlay_load_module_by_fd(sys_overlay_t * ovlmid, int fd, off64_t offset, uint64_t flags, sys_addr_t * entry)
455 0x1C7 sys_overlay_get_module_info2 int sys_overlay_get_module_info2(sys_pid_t pid, sys_overlay_t ovlmid, sys_overlay_module_info2_t * info)
456 0x1C8 sys_overlay_get_sdk_version 2 Params
457 0x1C9 sys_overlay_get_module_dbg_info 3 Params: (sys_pid_t pid, sys_overlay_t ovlmid, sys_overlay_module_dbg_t * info) ?
458 0x1CA sys_overlay_get_module_dbg_info too 3 Params:
#sys_prx Syscalls (461-499)
461 0x1CD sys_prx_get_module_id_by_address sys_prx_id_t sys_prx_get_module_id_by_address(void* addr)
463 0x1CF sys_prx_load_module_by_fd sys_prx_id_t sys_prx_load_module_by_fd(int fd, off64_t offset, sys_prx_flags_t flags, sys_prx_load_module_option_t pOpt)
464 0x1D0 sys_prx_load_module_on_memcontainer_by_fd sys_prx_id_t sys_prx_load_module_on_memcontainer_by_fd(int fd,off64_t offset,sys_memory_container_t mem_container,sys_prx_flags_t flags,sys_prx_load_module_option_t pOpt)
465 0x1D1 sys_prx_load_module_list int sys_prx_load_module_list(int n, const char **path_list, uint64_t flags, sys_prx_load_module_list_option_t * pOpt, sys_prx_id_t * idlist)
466 0x1D2 sys_prx_load_module_list_on_memcontainer sys_prx_id_t sys_prx_load_module_by_fd(int fd, off64_t offset, uint64_t flags, sys_prx_load_module_option_t * pOpt)
467 0x1D3 sys_prx_get_ppu_guid sys_addr_t sys_prx_get_ppu_guid(sys_prx_id_t id)
470 0x1D6 2 Params:
471 0x1D7 int syscall_471(uint32_t type, char* titleID, void* klicensee, uint8_t* actdat, uint8_t* rif, int32_t licenseType, uint8_t* magicVersion);
472 0x1D8 2 Params:
473 0x1D9
474 0x1DA
475 0x1DB 6 Params:
476 0x1DC 2 Params:
480 0x1E0 sys_prx_load_module sys_prx_id_t sys_prx_load_module(const char* path, sys_prx_flags_t flags, sys_prx_load_module_option_t pOpt)
481 0x1E1 sys_prx_start_module int sys_prx_start_module(sys_prx_id_t id, size_t args, void *argp, int *modres, sys_prx_flags_t flags, sys_prx_start_module_option_t pOpt)
482 0x1E2 sys_prx_stop_module int sys_prx_stop_module(sys_prx_id_t id, size_t args, void *argp, int *modres, sys_prx_flags_t flags, sys_prx_stop_module_option_t pOpt)
483 0x1E3 sys_prx_unload_module int sys_prx_unload_module(sys_prx_id_t id, sys_prx_flags_t flags, sys_prx_unload_module_option_t pOpt);
484 0x1E4 sys_prx_register_module int sys_prx_register_module(const sys_prx_register_module_option_t * pOpt)
485 0x1E5 sys_prx_query_module
486 0x1E6 sys_prx_register_library int sys_prx_register_library(void* library)
487 0x1E7 sys_prx_unregister_library int sys_prx_unregister_library(void* library)
488 0x1E8 sys_prx_link_library
489 0x1E9 sys_prx_unlink_library
490 0x1EA sys_prx_query_library
492 0x1EC 4 Params:
493 0x1ED sys_prx_dbg_get_module_info 3 Params:
494 0x1EE sys_prx_get_module_list int sys_prx_get_module_list(sys_prx_flags_t flags, sys_prx_get_module_list_t *pInfo);
495 0x1EF sys_prx_get_module_info int sys_prx_get_module_info(sys_prx_id_t id, sys_prx_flags_t flags, sys_prx_module_info_t *pInfo)
496 0x1F0 sys_prx_get_module_id_by_name sys_prx_id_t sys_prx_get_module_id_by_name(const char* name, sys_prx_flags_t flags, sys_prx_get_module_id_by_name_option_t *pOpt)
497 0x1F1 sys_prx_load_module_on_memcontainer sys_prx_id_t sys_prx_load_module_on_memcontainer(const char* path, sys_memory_container_t mem_container, sys_prx_flags_t flags, sys_prx_load_module_option_t pOpt)
498 0x1F2 sys_prx_start
499 0x1F3 sys_prx_stop
500 0x1F4 2 Params
501 0x1F5 1 Param
502 0x1F6 3 Params
503 0x1F7 4 Params
504 0x1F8 3 Params
505 0x1F9 3 Params
506 0x1FA 2 Params
507 0x1FB 2 Params
508 0x1FC 1 Param: sys_pid_t pid (for example current pid)
509 0x1FD 1 Param
510 0x1FE int syscall(510, void), returns pid?/threadid?
511 0x1FF 1 Param
512 0x200 1 Param : int syscall(512,sys_pid_t pid);
513 0x201 4 Params
514 0x202 3 Params
516 0x204 sys_config_open 2 Params : (sys_event_queue_t * equeue_id, uint64_t *out)
517 0x205 sys_config_close sys_config_close(sys_event_queue_t * equeue_id);
518 0x206 sys_config_get_service_event 4 Params:
519 0x207 sys_config_add_service_listener 6 Params
520 0x208 sys_config_remove_service_listener 2 Params
521 0x209 sys_config_register_service 7 Params
522 0x20A sys_config_unregister_service 2 Params
523 0x20B
524 0x20C
525 0x20D
530 0x212
531 0x213
532 0x214
533 0x215
534 0x216
535 0x217
536 0x218
537 0x219
538 0x21A
539 0x21B
540 0x21C
541 0x21D
542 0x21E
543 0x21F
544 0x220
545 0x221
546 0x222
547 0x223
548 0x224
549 0x225
550 0x226
551 0x227
552 0x228
553 0x229
554 0x22A
555 0x22B
556 0x22C
557 0x22D
558 0x22E
559 0x22F
#sys_gl819 Syscalls Cardcontroller cf/sd/mmc/sm/ms
560 0x230
561 0x231
562 0x232
563 0x233
564 0x234
565 0x235
566 0x236
567 0x237
568 0x238
569 0x239
570 0x23A
571 0x23B
572 0x23C
573 0x23D
574 0x23E
575 0x23F
577 0x241
578 0x242
580 0x244
581 0x245
582 0x246
583 0x247
#sys_dfu Syscalls
584 0x248
585 0x249
586 0x24A
587 0x24B
588 0x24C
589 0x24D
590 0x24E
591 0x24F
592 0x250
593 0x251
594 0x252
595 0x253
596 0x254
597 0x255 bt_cancel_connect_accept_controller()
598 0x256 0 Param
599 0x257 2 Params
#sys_storage Syscalls (600-623+837+838)
600 0x258 sys_storage_open int sys_storage_open(uint64_t id, int unknown_1, int *fd, int unknown_2) unknown_1=0,unknown_2=0
601 0x259 sys_storage_close int sys_storage_close(int fd)
602 0x25A sys_storage_read int sys_storage_read(int fd, int unknown_1, uint32_t start_sector, uint32_t sectors, uint8_t *bounce_buf, uint32_t *sectors_read, int unknown_2) unknown_1=0,unknown_2=0
603 0x25B sys_storage_write
604 0x25C sys_storage_send_device_command 6 Params:
605 0x25D sys_storage_async_configure int sys_storage_async_configure(uint32_t fd, sys_io_buffer_t io_buffer, sys_event_queue_t equeue_id, int *unknown)
606 0x25E sys_storage_async_read int sys_storage_async_read(int fd, int unknown_1, uint32_t start_sector, uint32_t sectors, sys_io_block_t bounce_buf, uint64_t user_data, int unknown_2) unknown_1=0, unknown_2=0
607 0x25F sys_storage_async_write 7 Params:
608 0x260 sys_storage_async_cancel 2 Params
609 0x261 sys_storage_get_device_info int sys_storage_get_device_info(uint64_t device, uint8_t *buffer), buffer[40]=total sectors,buffer[48]=sector size,buffer[53]=writable
610 0x262 sys_storage_get_device_config 2 Params: int sys_storage_get_device_config(uint64_t device, uint8_t *config) ?
611 0x263 sys_storage_report_devices 4 Params:
612 0x264 sys_storage_configure_medium_event 3 Params
613 0x265 sys_storage_set_medium_polling_interval 2 Params
614 0x266 sys_storage_create_region
615 0x267 sys_storage_delete_region int sys_storage_delete_region(uint32_t dev_id,uint64_t index);
616 0x268 sys_storage_execute_device_command
617 0x269 sys_storage_check_region_acl alias int sys_storage_get_region_acl(device_id, region_id, index, authority, mask);
618 0x26A sys_storage_set_region_acl int sys_storage_set_region_acl(device_id, region_id, authority, permission);
619 0x26B sys_storage_async_send_device_command
620 0x26C sending storage mediacontrolkey /-command? (param1: ?,0,1,2 or 3;param2;param3;param4;param5)
621 0x26D 3 Params: get smth, syscall(621,9,0,uint8_t *out)
622 0x26E sys_storage_get_region_offset
623 0x26F sys_storage_set_emulated_speed
#sys_io Syscalls (624-627)
624 0x270 sys_io_buffer_create int sys_io_buffer_create(int io_block_count, int block_size, int blocks, int unknown_3, sys_io_buffer_t *io_buffer)
625 0x271 sys_io_buffer_destroy int sys_io_buffer_destroy(sys_io_buffer_t io_buffer)
626 0x272 sys_io_buffer_allocate int sys_io_buffer_allocate(sys_io_buffer_t io_buffer, sys_io_block_t *block)
627 0x273 sys_io_buffer_free int sys_io_buffer_free(sys_io_buffer_t io_buffer, sys_io_block_t block)
#sys_gpio Syscalls (630-631)
630 0x276 sys_gpio_set int sys_gpio_set (uint64_t device_id, uint64_t mask, uint64_t value)
631 0x277 sys_gpio_get int sys_gpio_get (uint64_t device_id, uint64_t *value)
#sys_fsw Syscalls (633-634)
633 0x278 sys_fsw_connect_event int sys_fsw_connect_event(sys_event_queue_t eq_id)
634 0x279 sys_fsw_disconnect_event int sys_fsw_disconnect_event(void)
#usbbtaudio Syscalls
635 0x27B sys_btsetting_? 2 Params: var1(0=btsetting_initialize(), 1=btsetting_finalize()),out:buff
640 0x280
649 0x289 1 Params: 0 ; UsbBTAudio/RSX related
654 0x28E 1 Params: 1=text like "G5B5_Z1R5G5B5"  ; UsbBTAudio/RSX related
655 0x28F 1 Params:; UsbBTAudio/RSX related
656 0x290 1 Params: 1=text like "G5B5_Z1R5G5B5" ; UsbBTAudio/RSX related
659 0x293 3 Params: 1=text like "G5B5_Z1R5G5B5", 2= 0 or 1, 3= ptr
#sys_rsx Syscalls (666-667)
666 0x29A sys_rsx_device_open 1 Param
667 0x29B sys_rsx_device_close
668 0x29C sys_rsx_memory_allocate
669 0x29D sys_rsx_memory_free
670 0x29E sys_rsx_context_allocate
671 0x29F sys_rsx_context_free
672 0x2A0 sys_rsx_context_iomap
673 0x2A1 sys_rsx_context_iounmap
674 0x2A2 sys_rsx_context_attribute
675 0x2A3 sys_rsx_device_map
676 0x2A4 sys_rsx_device_unmap
677 0x2A5 sys_rsx_attribute
#sys_iosys Syscalls (698)
698 0x2BA sys_iosys_infra_test_execute
#sys_bdemu Syscalls (699)
699 0x2BB sys_bdemu_send_command
#sys_net Syscalls (700-726)
700 0x2BC sys_net_bnet_accept
701 0x2BD sys_net_bnet_bind
702 0x2BE sys_net_bnet_connect
703 0x2BF sys_net_bnet_getpeername
704 0x2C0 sys_net_bnet_getsockname
705 0x2C1 sys_net_bnet_getsockopt
706 0x2C2 sys_net_bnet_listen
707 0x2C3 sys_net_bnet_recvfrom
708 0x2C4 sys_net_bnet_recvmsg
709 0x2C5 sys_net_bnet_sendmsg
710 0x2C6 sys_net_bnet_sendto
711 0x2C7 sys_net_bnet_setsockop
712 0x2C8 sys_net_bnet_shutdown
713 0x2C9 sys_net_bnet_socket
714 0x2CA sys_net_bnet_close
715 0x2CB sys_net_bnet_poll
716 0x2CC sys_net_bnet_select
724 0x2D4 sys_net_bnet_ioctl
725 0x2D5 sys_net_bnet_sysctl
726 0x2D6
800 0x320
#lv2Fs Syscalls (801-834)
801 0x321 cellFsOpen CellFsErrno cellFsOpen(const char *path, int flags, int *fd, const void *arg, uint64_t size);
802 0x322 cellFsRead CellFsErrno cellFsRead(int fd, void *buf, uint64_t nbytes, uint64_t *nread);
803 0x323 cellFsWrite CellFsErrno cellFsWrite(int fd, const void *buf, uint64_t nbytes, uint64_t *nwrite);
804 0x324 cellFsClose CellFsErrno cellFsClose(int fd);
805 0x325 cellFsOpenDir CellFsErrno cellFsOpendir(const char *path, int *fd);
806 0x326 cellFsReadDir CellFsErrno cellFsReaddir(int fd, CellFsDirent *dir, uint64_t *nread);
807 0x327 cellFsCloseDir CellFsErrno cellFsClosedir(int fd);
808 0x328 cellFsStat CellFsErrno cellFsStat(const char *path, CellFsStat *sb);
809 0x329 cellFsFstat CellFsErrno cellFsFstat(int fd, CellFsStat *sb);
810 0x32A
811 0x32B cellFsMkdir CellFsErrno cellFsMkdir(const char *path, CellFsMode mode);
812 0x32C cellFsRename CellFsErrno cellFsRename(const char *from, const char *to);
813 0x32D cellFsRmdir CellFsErrno cellFsRmdir(const char *path);
814 0x32E cellFsUnlink CellFsErrno cellFsUnlink(const char *path);
815 0x32F cellFsUtime CellFsErrno cellFsUtime(const char *path, const CellFsUtimbuf *timep);
816 0x330
817 0x331
818 0x332 cellFsLSeek CellFsErrno cellFsLseek(int fd, int64_t offset, int whence, uint64_t *pos);
819 0x333
820 0x334 cellFsFSync CellFsErrno cellFsFsync(int fd);
821 0x335 sys_fs_cellFsFGetBlockSize
822 0x336
823 0x337
824 0x338
825 0x339
826 0x33A
827 0x33B
828 0x33C
829 0x33D
831 0x33F cellFsTruncate CellFsErrno cellFsTruncate(const char *path, uint64_t size);
832 0x340 cellFsFTruncate CellFsErrno cellFsFtruncate(int fd, uint64_t size);
833 0x341
834 0x342 cellFsChmod CellFsErrno cellFsChmod(const char *path, CellFsMode mode);
835 0x343
#sys_storage Syscalls (600-623+837+838)
837 0x345 sys_storage_util_mount(?) Parameters: Device Name (e.g CELL_FS_IOS:BUILTIN_FLSH1), Device File System (e.g CELL_FS_FAT), Device Path (e.g. /dev_flash), 0, Write Protection (0 or 1), 0, 0, 0
838 0x346 sys_storage_util_unmount(?) Parameters: Device Path (e.g. /dev_flash)
839 0x347 sys_storage_util_sync(?) Parameter: Device Path (e.g. /dev_hdd0)
840 0x348
841 0x349 sys_storage_util_get_mount_info_size 1 Param
842 0x34A sys_storage_util_get_mount_info 3 Params
843 0x34B
844 0x34C
845 0x34D
846 0x34E
847 0x34F
#process socket service syscalls (862-864)
862 0x35E [trm_manager_if (Interface)]
863 0x35F [update_manager_if (Interface)]
864 0x360 [storage_manager_if (Interface)]
#sys_ss/sys_get Syscalls (865-879)
865 0x361 sys_ss_random_number_generator alias sys_get_random_number
866 0x362 [secure_rtc_manager_if (Interface)]
867 0x363 sys_get_system_parameter int sys_get_system_parameter(uint32_t packet_id, uint8_t ptr[16]); id<=19006 [aim_manager_if ?(Interface)]
868 0x364 [indi_info_manager_if (Interface)]
869 0x365 syscall(869,0x22001 or 0x22002 or 0x22003 or 0x22004, ??) // set rtc related
870 0x366 sys_ss_get_console_id int sys_ss_get_console_id(uint8_t *buf) //returns IDPS in buf
871 0x367 sys_ss_access_control_engine 3 params (1,sys_pid_t,out:uint8_t [8]) / (2 or 3,out:uint8_t [8],0)
872 0x368 sys_ss_get_open_psid int sys_ss_get_open_psid(CellSsOpenPSID *ptr) ; typedef struct CellSsOpenPSID { uint64_t high; uint64_t low;}
873 0x369 sys_ss_get_cache_of_product_mode int sys_ss_get_cache_of_product_mode(uint8_t *ptr [1]);
874 0x36A sys_ss_get_cache_of_flash_ext_flag int sys_ss_get_cache_of_flash_ext_flag(uint8_t *flag [1])
875 0x36B sys_ss_get_boot_device int sys_ss_get_boot_device(uint8_t * buf [8]);
876 0x36C sys_ss_disc_access_control 2Params: 0x20000(=get_disc_access_control),uint8_t [4] / 0x20001(=set_disc_access_control),1
877 0x36D sys_ss_~utoken_if syscall(877,0x25003=Decrypt or 0x25004 or 0x25005=Encrypt, uint8_t *token, 0xC50 (size)), [user token related]
878 0x36E sys_ss_ad_sign syscall(878, 0x26001, in_buffer[0x14], out_buffer[0x80])
879 0x36F sys_ss_media_id syscall(879, 0x10001, out_buffer[0x10])
#sys_deci3 Syscalls (880-884)
880 0x370 sys_deci3_open int sys_deci3_open(sys_deci3_protocol_t protocol, sys_deci3_port_t port, void *option, sys_deci3_session_t * session_id);
881 0x371 sys_deci3_create_event_path int sys_deci3_create_event_path(sys_deci3_session_t session_id, size_t bufsize, sys_event_queue_t event_queue_id);
882 0x372 sys_deci3_close int sys_deci3_close(sys_deci3_session_t session_id);
883 0x373 sys_deci3_send int sys_deci3_send(sys_deci3_session_t session_id, uint8_t * buf, __CSTD size_t size);
884 0x374 sys_deci3_receive int sys_deci3_receive(sys_deci3_session_t session_id, uint8_t * buf, __CSTD size_t size);
#sys_dbg Syscalls (900-970)
900 0x384 sys_dbg_stop_processes 2 params: sys_pid_t pid, 1
903 0x387 2 params: uint64_t *outbuff, val (0 or ... or 8) , sceVSHforceshutdown (outbuff,8) ?
909 0x38D sys_dbg_get_thread_list 4 Params: sys_pid_t pid,..., uint64_t size,uint64_t *outbuff
914 0x392 sys_dbg_get_process_info
918 0x396 sys_dbg_read_kernel_event_queue
921 0x399 sys_dbg_set_process_event_cntl_flag
923 0x39B sys_dbg_set_spu_thread_group_event_cntl_flag
925 0x39D sys_dbg_get_raw_spu_list
932 0x3A4 sys_dbg_get_mutex_list
934 0x3A6 sys_dbg_get_cond_list
936 0x3A8 sys_dbg_get_rwlock_list
938 0x3AA sys_dbg_get_lwmutex_list
939 0x3AB sys_dbg_get_address_from_dabr int sys_dbg_get_address_from_dabr ( uint64_t *address, uint64_t *flag );
940 0x3AC sys_dbg_set_address_to_dabr int sys_dbg_set_address_to_dabr ( uint64_t address, uint64_t flag );
942 0x3AE sys_dbg_get_event_queue_list
946 0x3B2 sys_dbg_get_semaphore_list
948 0x3B4 sys_dbg_get_kernel_thread_list
949 0x3B5 sys_dbg_get_kernel_thread_info
950 0x3B6 sys_dbg_get_lwcond_list
951 0x3B7
952 0x3B8 sys_dbg_create_scratch_data_area_ext
954 0x3BA sys_dbg_vm_get_info
957 0x3BD
959 0x3BF
970 0x3CA sys_dbg_get_event_flag_list
971 0x3CB
972 0x3CC
974 0x3CE
975 0x3CF
976 0x3D0
977 0x3D1
978 0x3D2
979 0x3D3
980 0x3D4
981 0x3D5
982 0x3D6
983 0x3D7
984 0x3D8 seems to return max. 0x10 Randombytes, 2Params: buffer,rand_amount you want
985 0x3D9 seems to return Console Type, syscall(985,out_buffer,0,0), return values:2=DEX,3=TOOL,1=CEX
986 0x3DA seems to return Game Application Title ID , syscall(986,out_buffer)
987 0x3DB smth related? to vsh.self, syscall(987,0 or 1, ??)
988 0x3DC 2 Params: syscall(988,1 or 4 or 8 or 0x10,0)
989 0x3DD

Network Syscalls

Networking uses syscalls 700-726

File Syscalls

OFLAGS

Name Value
CELL_FS_O_RDONLY 000000
CELL_FS_O_WRONLY 000001
CELL_FS_O_RDWR 000002
CELL_FS_O_ACCMODE 000003
CELL_FS_O_CREAT 000100
CELL_FS_O_EXCL 000200
CELL_FS_O_TRUNC 001000
CELL_FS_O_APPEND 002000
CELL_FS_O_MSELF 010000

Classes

Name Structure Packed
cellFsStat s32 st_mode; s32 st_uid; s32 st_gid; u64 st_access_time; u64 st_modify_time; u64 st_create_time; u64 st_size; u64 st_blksize; yes
cellFsUtimbuf u64 access_time; u64 modify_time; no
cellFsDirent u8 d_type; u8 d_namlen; char d_name[256]; no

Filesystem Syscalls

Filesystem uses syscalls 700-726

Unofficial Syscalls added

See also : Syscalls, what they mean for you and for multiMAN

since 3.55 Sony fixed memory region restrictions and Write and Execute access permissions so that's why lv1 peek (lv2_lv1_peek - graf_chokolo) and lv1 poke(lv2_lv1_poke - graf_chokolo) where created.

Number Function - Added by Notes
6 lv2_peek - PL3-DEV, PSGroove v1.1, Payloader3 r3 is a 64 bit address to read. A 64 bit value will be returned in r3
7 lv2_poke - PL3-DEV, PSGroove v1.1, Payloader3 r4 is a 64 bit value. r3 is the address to write that value to.
8 lv2_lv1_peek - graf_chokolo r3 is a 64 bit address to read. A 64 bit value will be returned in r3
8 Peek - ps3cobra r3 is a 64 bit address to read. A 64 bit value will be returned in r3
8 Remapper - Hermes4 redirections of any paths, including /dev_usb for AVCHD HDD
9 lv2_lv1_poke - graf_chokolo r4 is a 64 bit value. r3 is the address to write that value to.
10 lv2_lv1_peek - jfw 'bad idea' r3 is a 64 bit address to read. A 64 bit value will be returned in r3
11 lv2_lv1_poke - jfw 'bad idea' r4 is a 64 bit value. r3 is the address to write that value to.
35 Remapper - PL3, PSGroove, PSFreedom syscall_35 (char *old_path, char *new_path);
36 Remapper - Hermes, PSJailbreak hardcoded /dev_bdvd & /app_home remapping
200 Run_Payload - Payloader3
201 Alloc - Payloader3
202 Free - Payloader3



See also: psl1ght::Syscalls