LV2 Functions and Syscalls: Difference between revisions
m (→LV2 Syscalls) |
|||
(563 intermediate revisions by 51 users not shown) | |||
Line 1: | Line 1: | ||
[[ | = Structures = | ||
<source lang="cpp"> | |||
struct sys_process_info_t __attribute__ ((packed)) { | |||
process_id_t pid; | |||
uint32_t status; | |||
uint32_t ppu_thread_count; | |||
uint32_t spu_thread_count; | |||
uint32_t raw_spu_count; | |||
process_id_t parent_pid; | |||
char* image_file_name; | |||
uint32_t memory_size; | |||
uint8_t osabi_type; | |||
uint8_t pad[3]; | |||
uint64_t interrupt_bitmap_mask; | |||
uint32_t dbg_trace_id; | |||
}; | |||
struct sys_prx_load_module_option_t { | |||
uint64_t size; /* sizeof(this) */ | |||
}; | |||
struct sys_prx_dbg_get_module_list_t { | |||
uint64_t size; /* sizeof(this) *//* 8 */ | |||
uint32_t unk0; | |||
uint32_t max; | |||
sys_prx_user_p_prx_id_t idlist; | |||
uint32_t count; | |||
sys_prx_user_p_stop_level_t levellist; | |||
uint32_t unk1; | |||
} sys_prx_dbg_get_module_list_t; | |||
struct sys_prx_start_t { | |||
uint64_t flag; // flag ? | |||
uint64_t mode; // mode ? | |||
uint64_t entry; //either first arg of pe_func or casted to sys_prx_entry_t (see sys/prx.h) | |||
int64_t modres; | |||
uint64_t pe_func; //casted to sys_prx_entry_pe_t (see sys/prx.h) | |||
}; | |||
struct np_drm_info_t { | |||
uint32_t magic; | |||
uint32_t version; | |||
uint32_t drm_type; | |||
uint32_t type; | |||
uint8_t content_id[0x30]; | |||
struct CellRtcTick validity_start; | |||
struct CellRtcTick validity_end; | |||
struct CellRtcTick current_tick; | |||
struct CellRtcTick current_secure_tick; | |||
}; | |||
</source> | |||
= Functions = | = Functions = | ||
Line 7: | Line 59: | ||
!Function | !Function | ||
!Notes | !Notes | ||
!Offset in 3.55 | |||
!Offset in 3.41 | !Offset in 3.41 | ||
!Offset in 3.15 | !Offset in 3.15 | ||
Line 15: | Line 68: | ||
|char *strcpy(char *dest, const char *src) | |char *strcpy(char *dest, const char *src) | ||
| | | | ||
| | |0x4E684 | ||
|0x4D2F0 | |||
|0x4CDAC | |0x4CDAC | ||
|0X4CDA8 | |0X4CDA8 | ||
Line 23: | Line 77: | ||
|int strlen(char *str) | |int strlen(char *str) | ||
| | | | ||
| | |0x4E6AC | ||
|0x4D318 | |||
|0X4CDD4 | |0X4CDD4 | ||
|0X4CDD0 | |0X4CDD0 | ||
Line 31: | Line 86: | ||
|char *strcat(char *destination, const char *source) | |char *strcat(char *destination, const char *source) | ||
| | | | ||
| | |0x4E5B4 | ||
| | |0x4D220 | ||
|0x4CCDC | |||
| | | | ||
| | | | ||
Line 39: | Line 95: | ||
|char *strchr(const char* str, char chr) | |char *strchr(const char* str, char chr) | ||
| | | | ||
| | |0x4E5EC | ||
| | |0x4D258 | ||
|0x4CD14 | |||
| | | | ||
| | | | ||
Line 48: | Line 105: | ||
| | | | ||
| | | | ||
| | | | ||
|0x4CEE4 | |||
| | | | ||
| | | | ||
Line 55: | Line 113: | ||
|int strcmp(const char *s1, const char *s2) | |int strcmp(const char *s1, const char *s2) | ||
| | | | ||
|0x4E630 | |||
| | |0x4D29C | ||
| | |0x4CD58 | ||
| | | | ||
| | | | ||
Line 64: | Line 122: | ||
|int strncmp(const char *s1, const char *s2, size_t n) | |int strncmp(const char *s1, const char *s2, size_t n) | ||
| | | | ||
| | |0x4E6D8 | ||
|0x4D344 | |||
|0X4CE00 | |0X4CE00 | ||
|0X4CDFC | |0X4CDFC | ||
Line 72: | Line 131: | ||
|char *strncpy(char *destination, const char *source, size_t num) | |char *strncpy(char *destination, const char *source, size_t num) | ||
| | | | ||
| | |0x4E74C | ||
| | |0x4D3B8 | ||
|0x4CE74 | |||
| | | | ||
| | | | ||
Line 80: | Line 140: | ||
|int memcmp(void *v1, void *v2, size_t n) | |int memcmp(void *v1, void *v2, size_t n) | ||
| | | | ||
| | |0x4D7E8 | ||
| | |0x4C454 | ||
|0x4BF10 | |||
| | | | ||
| | | | ||
Line 89: | Line 150: | ||
| | | | ||
| | | | ||
| | | | ||
|0x4BEC0 | |||
| | | | ||
| | | | ||
Line 96: | Line 158: | ||
|void *memcpy(void *dest, const void *src, size_t n) | |void *memcpy(void *dest, const void *src, size_t n) | ||
| | | | ||
| | |0x7C3A4 | ||
|0x7C01C | |||
|0X7BE9C | |0X7BE9C | ||
|0X7BE98 | |0X7BE98 | ||
Line 104: | Line 167: | ||
|void *memset(void *s, int c, size_t n) | |void *memset(void *s, int c, size_t n) | ||
| | | | ||
| | |0x4E4D8 | ||
|0x4D144 | |||
|0X4CC00 | |0X4CC00 | ||
|0X4CBFC | |0X4CBFC | ||
Line 116: | Line 180: | ||
!Function | !Function | ||
!Notes | !Notes | ||
!Offset in 3.55 | |||
!Offset in 3.41 | !Offset in 3.41 | ||
!Offset in 3.15 | !Offset in 3.15 | ||
Line 121: | Line 186: | ||
|int snprintf(char *str, size_t size, char *format, ...) | |int snprintf(char *str, size_t size, char *format, ...) | ||
| | | | ||
| | |0x4F86C | ||
| | |0x4E4D8 | ||
|0x4DF94 | |||
|- | |- | ||
|int sprintf(char *str, char *format, ...) | |int sprintf(char *str, char *format, ...) | ||
| | | | ||
| | |0x4F900 | ||
| | |0x4E56C | ||
|0x4E028 | |||
|- | |- | ||
|int printf(char *format, ...) | |int printf(char *format, ...) | ||
|This prints to the serial debug console. | |This prints to the serial debug console. | ||
|0x29285C | |||
|0x28A654 | |0x28A654 | ||
|0x28A11C | |0x28A11C | ||
Line 141: | Line 209: | ||
!Function | !Function | ||
!Notes | !Notes | ||
!Offset in 4.46 | |||
!Offset in 3.55 | |||
!Offset in 3.41 | !Offset in 3.41 | ||
!Offset in 3.15 | !Offset in 3.15 | ||
Line 147: | Line 217: | ||
!Offset in 2.76 | !Offset in 2.76 | ||
|- | |- | ||
|void* alloc(size_t size, int unk) | |void* alloc(size_t size, int unk) | ||
|unk is possibly pool? PSGroove uses 0x27. | |unk is possibly pool? PSGroove uses 0x27. | ||
|0x62F78 | |||
|0x60b78 | |||
|0x62088 | |0x62088 | ||
|0x61CF0 | |0x61CF0 | ||
Line 155: | Line 227: | ||
|0x59D54 | |0x59D54 | ||
|- | |- | ||
|void dealloc(void* ptr, int unk) | |void dealloc(void* ptr, int unk) | ||
|unk is possibly pool? Should be the same value of unk given to alloc. | |unk is possibly pool? Should be the same value of unk given to alloc. | ||
| | |||
|0x60fb4 | |||
|0x624C8 | |0x624C8 | ||
|0x62138 | |0x62138 | ||
Line 163: | Line 237: | ||
|0x5A194 | |0x5A194 | ||
|- | |- | ||
|void process_utils::create_initial_system_process(). | |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 | |0x287D50 | ||
|0x287858 | |0x287858 | ||
Line 172: | Line 248: | ||
|- | |- | ||
|void Panic(int unk) | |void Panic(int unk) | ||
|This function does not return. | |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) | (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 | |USBGetDeviceDescriptor | ||
|USB function | |||
| | |||
| | |||
|0xd2998 | |||
|0xd3474 | |||
| | |||
| | |||
|0xCCD2C | |||
|- | |- | ||
|USBOpenEndpoint | |USBOpenEndpoint | ||
| | |||
| | |||
| | |||
|0xd29c4 | |||
|0xd34ac | |||
| | |||
| | |||
|0xCCD58 | |||
|- | |||
|USBControlTransfer | |USBControlTransfer | ||
| | |||
| | |||
| | |||
|0xd292c | |||
|0xd3408 | |||
| | |||
| | |||
|0xCCCC0 | |||
|- | |||
|USBRegisterDriver | |USBRegisterDriver | ||
| | |||
| | |||
| | |||
|0xd22d8 | |||
|0xd2978 | |||
| | |||
| | |||
|0xCC6A0 | |||
|- | |||
|} | |||
=== Lv2 System Table Offset === | === Lv2 System Table Offset === | ||
{| class="wikitable" | {| cellspacing="0" cellpadding="2" border="1" class="wikitable" style="text-align: center;" | ||
!FW version | |- | ||
! FW version !! Alloc !! Free !! Syscall<br />Table !! Mem_base !! TOC !! Copy<br />to<br />User !! Notes | |||
|- | |||
| 4.82 Retail || || || 0x363BE0 || || 0x34FBB0 || || | |||
|- | |||
| 4.81 Retail || || || 0x363BE0 || || 0x34FBB0 || || | |||
|- | |||
| 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.50 DEX || || || 0x3384A8 || || 0x392850 || || | ||
| | |||
|- | |- | ||
| | | 1.00 DEX || || || 0x3206e0 || || || || | ||
| | |||
|- | |- | ||
|} | |} | ||
Line 254: | Line 374: | ||
=== LV2 Syscalls === | === LV2 Syscalls === | ||
{| class="wikitable sortable" | {| class="wikitable mw-datatable sortable" style="line-height:110%;" | ||
|- | |- | ||
! | ! Dec | ||
! Hex | |||
! style="width:95px" | <abbr title="Firmware Type Specific (CEX,DEX,..)">fw_type</abbr> | |||
! <abbr title="Additional Settings/Flags required (Control Flags,Product Mode,..)">needed_flags</abbr> | |||
! Name | ! Name | ||
! Notes | ! Notes | ||
|- | |- | ||
| 1 | ! colspan="6" id="sys_process Syscalls"|[[#sys_process Syscalls]] (1-31) | ||
| sys_process_getpid | |- | ||
| | | 1 | ||
| 0x001 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_process_getpid | |||
| sys_pid_t sys_process_getpid(void); | |||
|- | |||
| 2 | |||
| 0x002 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_process_wait_for_child | |||
| 3 params: sys_pid_t, uint32_t *status, unk=0 | |||
|- | |- | ||
| | | 3 | ||
| | | 0x003 | ||
| | | {{DECR}} {{DEX}} {{CEX}} | ||
| | |||
| sys_process_exit | |||
| int sys_process_exit(int) | |||
|- | |- | ||
| 4 | | 4 | ||
| sys_process_get_status | | 0x004 | ||
| | | {{DECR}} {{DEX}} {{CEX}} | ||
| {{Dbg}} | |||
| sys_process_get_status | |||
| int sys_process_get_status(sys_pid_t pid) | |||
|- | |- | ||
| 5 | | 5 | ||
| sys_process_detach_child | | 0x005 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Dbg}} | |||
| sys_process_detach_child | |||
| 1 param | |||
|- | |||
| 6 | |||
| 0x006 | |||
| | |||
| | |||
| (sys_process_create_program_segment) | |||
| | |||
|- | |||
| 7 | |||
| 0x007 | |||
| | |||
| | | | ||
| (sys_process_destroy_program_segment) | |||
| | |||
|- | |||
| 8 | |||
| 0x008 | |||
| | |||
| | |||
| (sys_process_authenticate_program_segment) | |||
| | |||
|- | |||
| 9 | |||
| 0x009 | |||
| | |||
| | |||
| (sys_process_load_program_segment) | |||
| | |||
|- | |||
| 10 | |||
| 0x00A | |||
| | |||
| | |||
| (sys_process_unload_program_segment) | |||
| | |||
|- | |||
| 11 | |||
| 0x00B | |||
| | |||
| | |||
| (sys_process_find_program_segment) | |||
| | |||
|- | |- | ||
| 12 | | 12 | ||
| sys_process_get_number_of_object | | 0x00C | ||
| | | {{DECR}} {{DEX}} {{CEX}} | ||
| | |||
| sys_process_get_number_of_object | |||
| int sys_process_get_number_of_object(uint32_t object_type, uint32_t* count); | |||
|- | |||
| 13 | |||
| 0x00D | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_process_get_id | |||
| int sys_process_get_id(uint32_t object, uint32_t * buff, size_t size, size_t * set_size); | |||
|- | |||
| 14 | |||
| 0x00E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_process_is_spu_lock_line_reservation_address | |||
| int sys_process_is_spu_lock_line_reservation_address(sys_addr_t addr, uint64_t flags); | |||
|- | |||
| 15 | |||
| 0x00F | |||
| | |||
| | |||
| (sys_process_create) | |||
| | |||
|- | |||
| 17 | |||
| 0x011 | |||
| | |||
| | |||
| (sys_process_create_primary_ppu_thread) | |||
| | |||
|- | |||
| 18 | |||
| 0x012 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_process_getppid | |||
| sys_pid_t sys_process_getppid(void); | |||
|- | |- | ||
| | | 19 | ||
| | | 0x013 | ||
| | | {{DECR}} {{DEX}} {{CEX}} | ||
| | |||
| sys_process_kill | |||
| int sys_process_kill(sys_pid_t pid); | |||
|- | |- | ||
| | | 20 | ||
| | | 0x014 | ||
| | | | ||
| | |||
| (sys_process_create_primary_ppu_thread_tls) | |||
| | |||
|- | |- | ||
| | | 21 | ||
| | | 0x015 | ||
| | | {{DECR}} {{DEX}} {{CEX}} | ||
| {{Dbg}} | |||
| _sys_process_spawn | |||
| int sys_process_spawn(int *pid, int prio, uint64_t flags, void *stack, int stack_size, int unk1, int unk2) | |||
|- | |- | ||
| | | 22 | ||
| | | 0x016 | ||
| | | {{DECR}} {{DEX}} {{CEX}} | ||
| | |||
| sys_process_exit2 | |||
| void sys_process_exit2(int error_code,0,0) | |||
|- | |- | ||
| 23 | | 23 | ||
| 0x017 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Dbg}} | |||
| sys_process_wait_for_child2 | | sys_process_wait_for_child2 | ||
| | | 6 params | ||
|- | |||
| 24 | |||
| 0x018 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Dbg}} | |||
| | |||
| 8 params, spawns a self | |||
|- | |||
| 25 | |||
| 0x019 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_process_get_sdk_version | |||
| int sys_process_get_sdk_version(sys_pid_t pid, uint32_t* sdk_version) | |||
Only needs root permission if 'pid' is not the current process. | |||
|- | |||
| 26 | |||
| 0x01A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| _sys_process_exit as well | |||
| 4 params (calls sys_process_exit) | |||
|- | |||
| 27 | |||
| 0x01B | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Dbg}} | |||
| | |||
| 8 params, spawns a self | |||
|- | |||
| 28 | |||
| 0x01C | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| _sys_process_get_number_of_object as well kinda | |||
| int sys_process_get_number_of_object(uint32_t object) | |||
|- | |- | ||
| | | 29 | ||
| | | 0x01D | ||
| | | {{DECR}} {{DEX}} {{CEX}} | ||
| {{Root}} | |||
| sys_process_get_id as well | |||
| same as syscall13 just with root flag check, same input etc. | |||
|- | |- | ||
| 30 | | 30 | ||
| | | 0x01E | ||
| | | {{DECR}} {{DEX}} {{CEX}} | ||
| | |||
| _sys_process_get_paramsfo | |||
| int _sys_process_get_paramsfo(uint8_t buffer[0x40]); (more info: [[#sys_process_get_paramsfo]]) | |||
|- | |- | ||
| 31 | | 31 | ||
| sys_process_get_ppu_guid | | 0x01F | ||
| | | {{DECR}} {{DEX}} {{CEX}} | ||
| | |||
| sys_process_get_ppu_guid | |||
| sys_addr_t sys_process_get_ppu_guid(void); | |||
|- | |||
! colspan="6" id="sys_ppu_thread Syscalls"|[[#sys_ppu_thread Syscalls]] (40-58) | |||
|- | |||
| 41 | |||
| 0x029 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_ppu_thread_exit | |||
| int sys_ppu_thread_exit(int errorcode) | |||
|- | |||
| 42 | |||
| 0x02A | |||
| | |||
| | |||
| (sys_ppu_thread_get_id) | |||
| | |||
|- | |- | ||
| 43 | | 43 | ||
| sys_ppu_thread_yield | | 0x02B | ||
| | | {{DECR}} {{DEX}} {{CEX}} | ||
| | |||
| sys_ppu_thread_yield | |||
| void sys_ppu_thread_yield(void); | |||
|- | |- | ||
| 44 | | 44 | ||
| sys_ppu_thread_join | | 0x02C | ||
| | | {{DECR}} {{DEX}} {{CEX}} | ||
| | |||
| sys_ppu_thread_join | |||
| int sys_ppu_thread_join(sys_ppu_thread_t thread_id, uint64_t * vptr); | |||
|- | |- | ||
| 45 | | 45 | ||
| sys_ppu_thread_detach | | 0x02D | ||
| | | {{DECR}} {{DEX}} {{CEX}} | ||
| | |||
| sys_ppu_thread_detach | |||
| int sys_ppu_thread_detach(sys_ppu_thread_t thread_id); | |||
|- | |- | ||
| 46 | | 46 | ||
| 0x02E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_ppu_thread_get_join_state | | sys_ppu_thread_get_join_state | ||
| | | void sys_ppu_thread_get_join_state(int *isjoinable); | ||
|- | |- | ||
| 47 | | 47 | ||
| sys_ppu_thread_set_priority | | 0x02F | ||
| | | {{DECR}} {{DEX}} {{CEX}} | ||
| {{Dbg}} | |||
| sys_ppu_thread_set_priority | |||
| int sys_ppu_thread_set_priority(sys_ppu_thread_t thread_id, int prio); <br> Flags are checked when 3071 > prio < 3199 | |||
|- | |- | ||
| 48 | | 48 | ||
| 0x030 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_ppu_thread_get_priority | | sys_ppu_thread_get_priority | ||
| | | int sys_ppu_thread_get_priority(sys_ppu_thread_t thread_id, int *prio); | ||
|- | |- | ||
| 49 | | 49 | ||
| 0x031 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_ppu_thread_get_stack_information | | sys_ppu_thread_get_stack_information | ||
| | | int sys_ppu_thread_get_stack_information(sys_ppu_thread_stack_t * info); | ||
|- | |- | ||
| 56 | | 50 | ||
| 0x032 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_ppu_thread_stop | |||
| int sys_ppu_thread_stop(sys_ppu_thread_t thread_id); | |||
|- | |||
| 51 | |||
| 0x033 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_ppu_thread_restart | |||
| int sys_ppu_thread_restart(void); | |||
|- | |||
| 52 | |||
| 0x034 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Dbg}} | |||
| sys_ppu_thread_create | |||
| int sys_ppu_thread_create(sys_ppu_thread_t *thread_id, & void (*entry)(uint64_t), uint64_t arg, 0, int prio, size_t stacksize, uint64_t flags, const char *threadname); | |||
|- | |||
| 53 | |||
| 0x035 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_ppu_thread_start | |||
| int sys_ppu_thread_start(sys_ppu_thread_t thread_id); | |||
|- | |||
| 54 | |||
| 0x036 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| syscall(0x036, 0x109/0x111, out: uint8[4]), pu_thread get (kernel) allocation information | |||
|- | |||
| 55 | |||
| 0x037 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| syscall(0x037, 0x111, 0> int <0x100), pu_thread set (kernel) allocation? information | |||
|- | |||
| 56 | |||
| 0x038 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_ppu_thread_rename | | sys_ppu_thread_rename | ||
| | | int sys_ppu_thread_rename(sys_ppu_thread_t thread_id, const char *name); | ||
|- | |- | ||
| 57 | | 57 | ||
| 0x039 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_ppu_thread_recover_page_fault | | sys_ppu_thread_recover_page_fault | ||
| | | int sys_ppu_thread_recover_page_fault(sys_ppu_thread_t thread_id); | ||
|- | |- | ||
| 58 | | 58 | ||
| sys_ppu_thread_get_page_fault_context | | 0x03A | ||
| | | {{DECR}} {{DEX}} {{CEX}} | ||
| | |||
| 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); | |||
|- | |||
! colspan="6" id="sys_trace Syscalls"|[[#sys_trace Syscalls]] (60-69+77) | |||
|- | |||
| 60 | |||
| 0x03C | |||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_trace_create | |||
| | |||
|- | |||
| 61 | |||
| 0x03D | |||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_trace_start | |||
| | |||
|- | |||
| 62 | |||
| 0x03E | |||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_trace_stop | |||
| | |||
|- | |||
| 63 | |||
| 0x03F | |||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_trace_update_top_index | |||
| | |||
|- | |||
| 64 | |||
| 0x040 | |||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_trace_destroy | |||
| | |||
|- | |||
| 65 | |||
| 0x041 | |||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_trace_drain | |||
| | |||
|- | |||
| 66 | |||
| 0x042 | |||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_trace_attach_process | |||
| | |||
|- | |- | ||
| 67 | | 67 | ||
| 0x043 | |||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_trace_allocate_buffer | | sys_trace_allocate_buffer | ||
| | | | ||
|- | |- | ||
| 68 | | 68 | ||
| 0x044 | |||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_trace_free_buffer | | sys_trace_free_buffer | ||
| | | | ||
|- | |- | ||
| 69 | | 69 | ||
| 0x045 | |||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_trace_create2 | | sys_trace_create2 | ||
| | | | ||
|- | |- | ||
| 70 | ! colspan="6" id="sys_timer Syscalls"|[[#sys_timer Syscalls]] (70-76+141+142) | ||
| sys_timer_create | |- | ||
| | | 70 | ||
|- | | 0x046 | ||
| 71 | | {{DECR}} {{DEX}} {{CEX}} | ||
| | |||
| sys_timer_create | |||
| int sys_timer_create(sys_timer_t * timer_id); | |||
|- | |||
| 71 | |||
| 0x047 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_timer_destroy | | sys_timer_destroy | ||
| | | int sys_timer_destroy(sys_timer_t timer_id); | ||
|- | |- | ||
| 72 | | 72 | ||
| 0x048 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_timer_get_information | | sys_timer_get_information | ||
| | | int sys_timer_get_information(sys_timer_t timer_id, sys_timer_information_t * info); | ||
|- | |- | ||
| 73 | | 73 | ||
| 0x049 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_timer_start | | sys_timer_start | ||
| | | int sys_timer_start(sys_timer_t timer_id, system_time_t base_time, usecond_t period); | ||
|- | |- | ||
| 74 | | 74 | ||
| 0x04A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_timer_stop | | sys_timer_stop | ||
| | | int sys_timer_stop(sys_timer_t timer_id); | ||
|- | |- | ||
| 75 | | 75 | ||
| sys_timer_connect_event_queue | | 0x04B | ||
| | | {{DECR}} {{DEX}} {{CEX}} | ||
|- | | | ||
| 76 | | 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_timer_disconnect_event_queue | | sys_timer_disconnect_event_queue | ||
| | | int sys_timer_disconnect_event_queue(sys_timer_t timer_id); | ||
|- | |- | ||
! colspan="6" id="sys_trace Syscalls"|[[#sys_trace Syscalls]] (60-69+77) | |||
|- | |||
| 77 | | 77 | ||
| 0x04D | |||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_trace_create2_in_cbepm | | sys_trace_create2_in_cbepm | ||
| | | | ||
|- | |||
| 78 | |||
| 0x04E | |||
| {{DECR}} | |||
| | |||
| sys_trace_ | |||
| | |||
|- | |||
! colspan="6" id="sys_interrupt Syscalls"|[[#sys_interrupt Syscalls]] (80+81+84+88+89) | |||
|- | |- | ||
| 80 | | 80 | ||
| 0x050 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_interrupt_tag_create | | 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 | | 81 | ||
| 0x051 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_interrupt_tag_destroy | | sys_interrupt_tag_destroy | ||
| | | int sys_interrupt_tag_destroy(sys_interrupt_tag_t intrtag); | ||
|- | |- | ||
! colspan="6" id="sys_event Syscalls"|[[#sys_event Syscalls]] (82+83+85-87+118+128-140) | |||
|- | |||
| 82 | | 82 | ||
| 0x052 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_event_flag_create | | sys_event_flag_create | ||
| | | int sys_event_flag_create(sys_event_flag_t * id, sys_event_flag_attribute_t * attr, uint64_t init); | ||
|- | |- | ||
| 83 | | 83 | ||
| 0x053 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_event_flag_destroy | | sys_event_flag_destroy | ||
| | | int sys_event_flag_destroy(sys_event_flag_t id); | ||
|- | |||
! colspan="6" id="sys_interrupt Syscalls"|[[#sys_interrupt Syscalls]] (80+81+84+88+89) | |||
|- | |- | ||
| 84 | | 84 | ||
| 0x054 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_interrupt_thread_establish | | 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); | ||
|- | |- | ||
! colspan="6" id="sys_event Syscalls"|[[#sys_event Syscalls]] (82+83+85-87+118+128-140) | |||
|- | |||
| 85 | | 85 | ||
| 0x055 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_event_flag_wait | | 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 | | 86 | ||
| 0x056 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_event_flag_trywait | | sys_event_flag_trywait | ||
| | | int sys_event_flag_trywait(sys_event_flag_t id, uint64_t bitptn, uint32_t mode, uint64_t * result); | ||
|- | |- | ||
| 87 | | 87 | ||
| 0x057 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_event_flag_set | | sys_event_flag_set | ||
| int sys_event_flag_set(sys_event_flag_t id, uint64_t bitptn); | |||
|- | |||
! colspan="6" id="sys_interrupt Syscalls"|[[#sys_interrupt Syscalls]] (80+81+84+88+89) | |||
|- | |||
| 88 | |||
| 0x058 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_interrupt_thread_eoi | |||
| void sys_interrupt_thread_eoi(void); | |||
|- | |||
| 89 | |||
| 0x059 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_interrupt_thread_disestablish | |||
| int sys_interrupt_thread_disestablish(sys_interrupt_thread_handle_t ih); | |||
|- | |||
! colspan="6" id="sys_semaphore Syscalls"|[[#sys_semaphore Syscalls]] (90-94+114) | |||
|- | |||
| 90 | |||
| 0x05A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_semaphore_destroy | |||
| int sys_semaphore_destroy(sys_semaphore_t sem); | |||
|- | |||
| 92 | |||
| 0x05C | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_semaphore_wait | |||
| int sys_semaphore_wait(sys_semaphore_t sem, usecond_t timeout); | |||
|- | |||
| 93 | |||
| 0x05D | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_semaphore_trywait | |||
| int sys_semaphore_trywait(sys_semaphore_t sem); | |||
|- | |||
| 94 | |||
| 0x05E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_semaphore_post | |||
| int sys_semaphore_post(sys_semaphore_t sem, sys_semaphore_value_t val); | |||
|- | |||
! colspan="6" id="sys_lwmutex Syscalls"|[[#sys_lwmutex Syscalls]] (95-99) | |||
|- | |||
| 95 | |||
| 0x05F | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| _sys_lwmutex_create | |||
| int _sys_lwmutex_create(sys_lwmutex_pseudo_id_t* lwmutex, sys_protocol_t protocol, sys_lwmutex_t *control, int has_name, uint64_t name) | |||
|- | |||
| 96 | |||
| 0x060 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| _sys_lwmutex_destroy | |||
| int _sys_lwmutex_destroy(sys_lwmutex_pseudo_id_t lwmutex) | |||
|- | |||
| 97 | |||
| 0x061 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| _sys_lwmutex_lock | |||
| int _sys_lwmutex_lock(sys_lwmutex_pseudo_id_t lwmutex, usecond_t timeout) | |||
|- | |||
| 98 | |||
| 0x062 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| _sys_lwmutex_unlock | |||
| int _sys_lwmutex_unlock(sys_lwmutex_pseudo_id_t lwmutex) | |||
|- | |||
| 99 | |||
| 0x063 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| _sys_lwmutex_trylock | |||
| int _sys_lwmutex_trylock(sys_lwmutex_pseudo_id_t lwmutex) | |||
|- | |||
! colspan="6" id="sys_mutex Syscalls"|[[#sys_mutex Syscalls]] (100-104) | |||
|- | |||
| 100 | |||
| 0x064 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_mutex_create | |||
| int sys_mutex_create(sys_mutex_t * mutex_id, sys_mutex_attribute_t * attr); | |||
|- | |||
| 101 | |||
| 0x065 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_mutex_destroy | |||
| int sys_mutex_destroy(sys_mutex_t mutex_id); | |||
|- | |||
| 102 | |||
| 0x066 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_mutex_lock | |||
| int sys_mutex_lock(sys_mutex_t mutex_id, usecond_t timeout); | |||
|- | |||
| 103 | |||
| 0x067 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_mutex_trylock | |||
| int sys_mutex_trylock(sys_mutex_t mutex_id); | |||
|- | |||
| 104 | |||
| 0x068 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_mutex_unlock | |||
| int sys_mutex_unlock(sys_mutex_t mutex_id); | |||
|- | |||
! colspan="6" id="sys_cond Syscalls"|[[#sys_cond Syscalls]] (105-110) | |||
|- | |||
| 105 | |||
| 0x069 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_cond_create | |||
| int sys_cond_create(sys_cond_t * cond_id, sys_mutex_t mutex_id, sys_cond_attribute_t * attr); | |||
|- | |||
| 106 | |||
| 0x06A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_cond_destroy | |||
| int sys_cond_destroy(sys_cond_t cond_id); | |||
|- | |||
| 107 | |||
| 0x06B | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_cond_wait | |||
| int sys_cond_wait(sys_cond_t cond_id, usecond_t timeout); | |||
|- | |||
| 108 | |||
| 0x06C | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_cond_signal | |||
| int sys_cond_signal(sys_cond_t cond_id); | |||
|- | |||
| 109 | |||
| 0x06D | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_cond_signal_all | |||
| int sys_cond_signal_all(sys_cond_t cond_id); | |||
|- | |||
| 110 | |||
| 0x06E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_cond_signal_to | |||
| int sys_cond_signal_to(sys_cond_t cond_id, sys_ppu_thread_t thread); | |||
|- | |||
! colspan="6" id="sys_lwcond Syscalls"|[[#sys_lwcond Syscalls]] (111+112) | |||
|- | |||
| 111 | |||
| 0x06F | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| _sys_lwcond_create | |||
| int _sys_lwcond_create(sys_lwcond_pseudo_id_t *lwcond, sys_lwmutex_pseudo_id_t lwmutex, sys_lwcond_t *control, uint64_t name) | |||
|- | |||
| 112 | |||
| 0x070 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| _sys_lwcond_destroy | |||
| int _sys_lwcond_destroy(sys_lwcond_pseudo_id_t lwcond) | |||
|- | |||
| 113 | |||
| 0x071 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| _sys_lwcond_queue_wait | |||
| int _sys_lwcond_queue_wait(sys_lwcond_pseudo_id_t lwcond, sys_lwmutex_pseudo_id_t lwmutex, usecond_t timeout) | |||
|- | |||
! colspan="6" id="sys_semaphore Syscalls"|[[#sys_semaphore Syscalls]] (90-94+114) | |||
|- | |||
| 114 | |||
| 0x072 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_semaphore_get_value | |||
| int sys_semaphore_get_value(sys_semaphore_t sem, sys_semaphore_value_t * val); | |||
|- | |||
| 115 | |||
| 0x073 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| _sys_lwcond_signal | |||
| int _sys_lwcond_signal(sys_lwcond_pseudo_id_t lwcond, sys_lwmutex_pseudo_id_t lwmutex, sys_ppu_thread_t ppu_thread_id, uint32_t mode) | |||
|- | |||
| 116 | |||
| 0x074 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| _sys_lwcond_signal_all | |||
| int _sys_lwcond_signal_all(sys_lwcond_pseudo_id_t lwcond, sys_lwmutex_pseudo_id_t lwmutex, uint32_t mode) | |||
|- | |||
| 117 | |||
| 0x075 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| _sys_lwmutex_unlock2 | |||
| int _sys_lwmutex_unlock2(sys_lwmutex_pseudo_id_t lwmutex) | |||
Sets a different "unlocked" flag than _sys_lwmutex_unlock. | |||
|- | |||
! colspan="6" id="sys_event Syscalls"|[[#sys_event Syscalls]] (82+83+85-87+118+128-140) | |||
|- | |||
| 118 | |||
| 0x076 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_event_flag_clear | |||
| int sys_event_flag_clear(sys_event_flag_t id, uint64_t bitptn); | |||
|- | |||
| 119 | |||
| 0x077 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_time_get_rtc | |||
| int syscall(119, uint64_t *real_time_clock); Gets ps3 real time clock value, hvsc232 | |||
|- | |||
! colspan="6" id="sys_rwlock Syscalls"|[[#sys_rwlock Syscalls]] (120-127+148) | |||
|- | |||
| 120 | |||
| 0x078 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rwlock_create | |||
| int sys_rwlock_create(sys_rwlock_t * rw_lock_id, sys_rwlock_attribute_t * attr); | |||
|- | |||
| 121 | |||
| 0x079 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rwlock_destroy | |||
| int sys_rwlock_destroy(sys_rwlock_t rw_lock_id); | |||
|- | |||
| 122 | |||
| 0x07A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rwlock_rlock | |||
| int sys_rwlock_rlock(sys_rwlock_t rw_lock_id, usecond_t timeout); | |||
|- | |||
| 123 | |||
| 0x07B | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rwlock_tryrlock | |||
| int sys_rwlock_tryrlock(sys_rwlock_t rw_lock_id); | |||
|- | |||
| 124 | |||
| 0x07C | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rwlock_runlock | |||
| int sys_rwlock_runlock(sys_rwlock_t rw_lock_id); | |||
|- | |||
| 125 | |||
| 0x07D | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rwlock_wlock | |||
| int sys_rwlock_wlock(sys_rwlock_t rw_lock_id, usecond_t timeout); | |||
|- | |||
| 126 | |||
| 0x07E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rwlock_trywlock | |||
| int sys_rwlock_trywlock(sys_rwlock_t rw_lock_id); | |||
|- | |||
| 127 | |||
| 0x07F | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rwlock_wunlock | |||
| int sys_rwlock_wunlock(sys_rwlock_t rw_lock_id); | |||
|- | |||
! colspan="6" id="sys_event Syscalls"|[[#sys_event Syscalls]] (82+83+85-87+118+128-140) | |||
|- | |||
| 128 | |||
| 0x080 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_event_queue_destroy | |||
| int sys_event_queue_destroy(sys_event_queue_t equeue_id, int mode); | |||
|- | |||
| 130 | |||
| 0x082 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_event_queue_receive | |||
| int sys_event_queue_receive(sys_event_queue_t equeue_id, sys_event_t * event, usecond_t timeout); | |||
|- | |||
| 131 | |||
| 0x083 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_event_flag_cancel | |||
| int sys_event_flag_cancel(sys_event_flag_t id, int *num); | |||
|- | |||
| 133 | |||
| 0x085 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_event_queue_drain | |||
| int sys_event_queue_drain(sys_event_queue_t equeue_id); | |||
|- | |||
| 134 | |||
| 0x086 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_event_port_create | |||
| int sys_event_port_create(sys_event_port_t * eport_id, int port_type, uint64_t name); | |||
|- | |||
| 135 | |||
| 0x087 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_event_port_destroy | |||
| int sys_event_port_destroy(sys_event_port_t eport_id); | |||
|- | |||
| 136 | |||
| 0x088 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_event_port_disconnect | |||
| int sys_event_port_disconnect(sys_event_port_t event_port_id); | |||
|- | |||
| 138 | |||
| 0x08A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_event_flag_get | |||
| int sys_event_flag_get(sys_event_flag_t id, uint64_t * bitptn); | |||
|- | |||
| 140 | |||
| 0x08C | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_event_port_connect_ipc | |||
| int sys_event_port_connect_ipc(sys_event_port_t eport_id, sys_ipc_key_t event_queue_key); | |||
|- | |||
! colspan="6" id="sys_timer Syscalls"|[[#sys_timer Syscalls]] (70-76+141+142) | |||
|- | |||
| 141 | |||
| 0x08D | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_timer_usleep | |||
| int sys_timer_usleep(usecond_t sleep_time); | |||
|- | |||
| 142 | |||
| 0x08E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_timer_sleep | |||
| int sys_timer_sleep(second_t sleep_time); | |||
|- | |||
! colspan="6" id="sys_time Syscalls"|[[#sys_time Syscalls]] (143-147) | |||
|- | |||
| 143 | |||
| 0x08F | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_time_set_timezone | |||
| int sys_time_set_timezone(int timezone, int summertime) | |||
|- | |||
| 144 | |||
| 0x090 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_time_get_timezone | |||
| int sys_time_get_timezone(int *timezone, int *summertime) | |||
|- | |||
| 145 | |||
| 0x091 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_time_get_current_time | |||
| int sys_time_get_current_time(sys_time_sec_t * sec, sys_time_nsec_t * nsec); | |||
|- | |||
| 146 | |||
| 0x092 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_time_set_current_time | |||
| int sys_time_set_current_time(uint64_t sec, uint64_t nsec); | |||
|- | |||
| 147 | |||
| 0x093 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_time_get_timebase_frequency | |||
| uint64_t sys_time_get_timebase_frequency(void); | |||
|- | |||
! colspan="6" id="sys_rwlock Syscalls"|[[#sys_rwlock Syscalls]] (120-127+148) | |||
|- | |||
| 148 | |||
| 0x094 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rwlock_trywlock | |||
| int sys_rwlock_trywlock(sys_rwlock_t rw_lock_id); | |||
|- | |||
! colspan="6" id="sys_spu/sys_raw_spu Syscalls"|[[#sys_spu/sys_raw_spu Syscalls]] (150-260) | |||
|- | |||
| 150 | |||
| 0x096 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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) | |||
|- | |||
| 155 | |||
| 0x09B | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_image_get_information | |||
| int sys_spu_image_get_information(sys_spu_image_t *img, int *entry_point, int *nsegs) | |||
|- | |||
| 156 | |||
| 0x09C | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_image_open | |||
| int sys_spu_image_open(sys_spu_image_t *img, const char *path) | |||
|- | |||
| 157 | |||
| 0x09D | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_image_import | |||
| int sys_spu_image_import(sys_spu_image_t *img, const void *src, uint32_t type) | |||
|- | |||
| 158 | |||
| 0x09E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_image_close | |||
| int sys_spu_image_close(sys_spu_image_t *img); | |||
|- | |||
| 159 | |||
| 0x09F | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_image_get_segments | |||
| int sys_spu_image_get_segments(sys_spu_image_t *img, sys_spu_segment_t* segments, int size) | |||
Used by sys_raw_spu_load liblv2 function. | |||
|- | |||
| 160 | |||
| 0x0A0 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_raw_spu_create | |||
| int sys_raw_spu_create(sys_raw_spu_t *id, sys_raw_spu_attribute_t *attr) | |||
|- | |||
| 161 | |||
| 0x0A1 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_raw_spu_destroy | |||
| int sys_raw_spu_destroy(sys_raw_spu_t id) | |||
|- | |||
| 163 | |||
| 0x0A3 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_raw_spu_read_puint_mb | |||
| int sys_raw_spu_read_puint_mb(sys_raw_spu_t id, uint32_t *value) | |||
|- | |||
| 165 | |||
| 0x0A5 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_thread_get_exit_status | |||
| int sys_spu_thread_get_exit_status(sys_spu_thread_t id, int *status) | |||
|- | |||
| 166 | |||
| 0x0A6 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_thread_set_argument | |||
| int sys_spu_thread_set_argument(sys_spu_thread_t id, sys_spu_thread_argument_t *arg) | |||
|- | |||
| 167 | |||
| 0x0A7 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_thread_group_start_on_exit | |||
| | |||
|- | |||
| 169 | |||
| 0x0A9 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_initialize | |||
| int sys_spu_initialize(uint32_t max_usable_spu, uint32_t max_raw_spu) | |||
|- | |||
| 170 | |||
| 0x0AA | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_thread_group_create | |||
| int sys_spu_thread_group_create(sys_spu_thread_group_t *id, uint32_t num, int prio, sys_spu_thread_group_attribute_t *attr) | |||
|- | |||
| 171 | |||
| 0x0AB | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_thread_group_destroy | |||
| int sys_spu_thread_group_destroy(sys_spu_thread_group_t id) | |||
|- | |||
| 172 | |||
| 0x0AC | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_thread_initialize | |||
| int sys_spu_thread_initialize(sys_spu_thread_t *thread, sys_spu_thread_group_t group, uint32_t spu_num, sys_spu_image_t *img, sys_spu_thread_attribute_t *attr, sys_spu_thread_argument_t *arg) | |||
|- | |||
| 173 | |||
| 0x0AD | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_thread_group_start | |||
| int sys_spu_thread_group_start(sys_spu_thread_group_t id) | |||
|- | |||
| 174 | |||
| 0x0AE | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_thread_group_suspend | |||
| int sys_spu_thread_group_suspend(sys_spu_thread_group_t id) | |||
|- | |||
| 175 | |||
| 0x0AF | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_thread_group_resume | |||
| int sys_spu_thread_group_resume(sys_spu_thread_group_t id) | |||
|- | |||
| 176 | |||
| 0x0B0 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_thread_group_yield | |||
| int sys_spu_thread_group_yield(sys_spu_thread_group_t id) | |||
|- | |||
| 177 | |||
| 0x0B1 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_thread_group_terminate | |||
| int sys_spu_thread_group_terminate(sys_spu_thread_group_t id, int value) | |||
|- | |||
| 178 | |||
| 0x0B2 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_thread_group_join | |||
| int sys_spu_thread_group_join(sys_spu_thread_group_t gid, int *cause, int *status) | |||
|- | |||
| 179 | |||
| 0x0B3 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_thread_group_set_priority | |||
| int sys_spu_thread_group_set_priority(sys_spu_thread_group_t id, int priority) | |||
|- | |||
| 180 | |||
| 0x0B4 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_thread_group_get_priority | |||
| int sys_spu_thread_group_get_priority(sys_spu_thread_group_t id, int *priority) | |||
|- | |||
| 181 | |||
| 0x0B5 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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) | |||
|- | |||
| 183 | |||
| 0x0B7 | |||
| | |||
| | |||
| (sys_spu_thread_enqueue_dma) | |||
| | |||
|- | |||
| 184 | |||
| 0x0B8 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_thread_write_snr | |||
| int sys_spu_thread_write_snr(sys_spu_thread_t id, int number, uint32_t value) | |||
|- | |||
| 185 | |||
| 0x0B9 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_thread_set_spu_cfg | |||
| int sys_spu_thread_set_spu_cfg(sys_spu_thread_t id, uint64_t value) | |||
|- | |||
| 188 | |||
| 0x0BC | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_thread_get_spu_cfg | |||
| int sys_spu_thread_get_spu_cfg(sys_spu_thread_t id, uint64_t *value) | |||
|- | |||
| 189 | |||
| 0x0BD | |||
| | |||
| | |||
| (sys_spu_thread_read_pu_mb) | |||
| | | | ||
|- | |- | ||
| | | 190 | ||
| | | 0x0BE | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_thread_write_spu_mb | |||
| int sys_spu_thread_write_spu_mb(sys_spu_thread_t id, uint32_t value); | |||
|- | |||
| 191 | |||
| 0x0BF | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_thread_unbind_queue | |||
| int sys_spu_thread_unbind_queue(sys_spu_thread_t id, uint32_t spuq_num) | |||
|- | |||
| 196 | |||
| 0x0C4 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_raw_spu_set_spu_cfg | |||
| int sys_raw_spu_set_spu_cfg(sys_raw_spu_t id, uint32_t value) | |||
|- | |||
| 197 | |||
| 0x0C5 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_raw_spu_get_spu_cfg | |||
| int sys_raw_spu_get_spu_cfg(sys_raw_spu_t id, uint32_t *value) | |||
|- | |||
| 198 | |||
| 0x0C6 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_thread_recover_page_fault | |||
| int sys_spu_thread_recover_page_fault(sys_spu_thread_t id) | |||
|- | |||
| 199 | |||
| 0x0C7 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_raw_spu_recover_page_fault | |||
| int sys_raw_spu_recover_page_fault(sys_raw_spu_t id) | |||
|- | |||
| 200 | |||
| 0x0C8 | |||
| | |||
| | |||
| (console_putc) | |||
| | |||
|- | |||
| 201 | |||
| 0x0C9 | |||
| | |||
| | |||
| (console_getc) | |||
| | |||
|- | |||
| 202 | |||
| 0x0CA | |||
| | |||
| | |||
| (event_create_port) | |||
| | |||
|- | |||
| 203 | |||
| 0x0CB | |||
| | |||
| | |||
| (event_send_locally) | |||
| | |||
|- | |||
| 209 | |||
| 0x0D1 | |||
| | |||
| | |||
| (sys_pseudo_fs_read) | |||
| | |||
|- | |||
| 210 | |||
| 0x0D2 | |||
| | | | ||
| | | | ||
| | | (sys_pseudo_fs_write) | ||
| | | | ||
|- | |- | ||
| | | 211 | ||
| | | 0x0D3 | ||
| | | | ||
| | | | ||
| | | (sys_pseudo_fs_append) | ||
| | | | ||
|- | |- | ||
| | | 212 | ||
| | | 0x0D4 | ||
| | | | ||
| | | | ||
| | | (start_debug) | ||
| | | | ||
|- | |- | ||
| | | 213 | ||
| | | 0x0D5 | ||
| | | | ||
| | | | ||
| | | (console_write) | ||
| | | | ||
|- | |- | ||
| | | 214 | ||
| | | 0x0D6 | ||
| | | | ||
| | | | ||
| | | (sys_pseudo_fs_get_file_size) | ||
| | | | ||
|- | |- | ||
| | | 215 | ||
| | | 0x0D7 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_mat_set_condition | |||
(logical_console_open) | |||
| int sys_dbg_mat_set_condition(sys_addr_t,int) | |||
|- | |||
| 216 | |||
| 0x0D8 | |||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_mat_get_condition | |||
(logical_console_close) | |||
| int sys_dbg_mat_get_condition(sys_addr_t,int*) | |||
|- | |||
| 217 | |||
| 0x0D9 | |||
| {{DECR}} | |||
| {{Dbg}} | |||
| (logical_console_getc) | |||
| | | | ||
|- | |- | ||
| | | 218 | ||
| | | 0x0DA | ||
| {{DECR}} | |||
| {{Dbg}} | |||
| (logical_console_putc) | |||
| | | | ||
|- | |- | ||
| | | 219 | ||
| | | 0x0DB | ||
| {{DECR}} | |||
| {{Dbg}} | |||
| (logical_console_flush) | |||
| | | | ||
|- | |- | ||
| | | 226 | ||
| | | 0x0E2 | ||
| | | | ||
| | | | ||
| | | (get_logical_partition_id) | ||
| | | | ||
|- | |- | ||
| | | 230 | ||
| | | 0x0E6 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_isolated_spu_create | |||
| int sys_isolated_spu_create(sys_raw_spu_t *id, uint8_t *source_spe, in?: args?,0,0,0) | |||
|- | |||
| 231 | |||
| 0x0E7 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_isolated_spu_destroy | |||
| int sys_isolated_spu_destroy(sys_raw_spu_t id) | |||
|- | |||
| 232 | |||
| 0x0E8 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_isolated_spu_start | |||
| int sys_isolated_spu_start(sys_raw_spu_t id) | |||
|- | |||
| 233 | |||
| 0x0E9 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_isolated_spu_create_interrupt_tag | |||
| int sys_isolated_spu_create_interrupt_tag(sys_raw_spu_t id, uint32_t class_id, uint32_t hwthread, sys_interrupt_tag_t *intrtag) | |||
|- | |||
| 234 | |||
| 0x0EA | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_isolated_spu_set_int_mask | |||
| int sys_isolated_spu_set_int_mask(sys_raw_spu_t id, uint32_t class_id, uint64_t mask) | |||
|- | |||
| 235 | |||
| 0x0EB | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_isolated_spu_get_int_mask | |||
| int sys_isolated_spu_get_int_mask(sys_raw_spu_t id, uint32_t class_id, uint64_t *mask) | |||
|- | |||
| 236 | |||
| 0x0EC | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_isolated_spu_set_int_stat | |||
| int sys_isolated_spu_set_int_stat(sys_raw_spu_t id, uint32_t class_id, uint64_t stat) | |||
|- | |||
| 237 | |||
| 0x0ED | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_isolated_spu_get_int_stat | |||
| int sys_isolated_spu_get_int_stat(sys_raw_spu_t id, uint32_t class_id, uint64_t * stat) | |||
|- | |||
| 238 | |||
| 0x0EE | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_isolated_spu_set_spu_cfg | |||
| int sys_isolated_spu_set_spu_cfg(sys_spu_thread_t id, uint64_t value) | |||
|- | |||
| 239 | |||
| 0x0EF | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_isolated_spu_get_spu_cfg | |||
| int sys_isolated_spu_get_spu_cfg(sys_spu_thread_t id, uint64_t * value) | |||
|- | |||
| 240 | |||
| 0x0F0 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_isolated_spu_read_puint_mb | |||
| int sys_isolated_spu_read_puint_mb(sys_raw_spu_t id, uint32_t * value) | |||
|- | |||
| 244 | |||
| 0x0F4 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_spu_thread_group_system_set_next_group | |||
| int sys_spu_thread_group_system_set_next_group(void) | |||
|- | |||
| 245 | |||
| 0x0F5 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_spu_thread_group_system_unset_next_group | |||
| int sys_spu_thread_group_system_unset_next_group(void) | |||
|- | |||
| 246 | |||
| 0x0F6 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_spu_thread_group_system_set_switch_group | |||
| int sys_spu_thread_group_system_set_switch_group(void) | |||
|- | |||
| 247 | |||
| 0x0F7 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_spu_thread_group_system_unset_switch_group | |||
| int sys_spu_thread_group_system_unset_switch_group(void) | |||
|- | |||
| 248 | |||
| 0x0F8 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_spu_thread_group.... | |||
| 5 Params: sys_spu_thread_group_t group,..... | |||
|- | |||
| 249 | |||
| 0x0F9 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_spu_thread_group.... | |||
| int sc249(sys_spu_thread_group_t group) | |||
|- | |||
| 250 | |||
| 0x0FA | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_thread_group_set_cooperative_victims | |||
| int sys_spu_thread_group_set_cooperative_victims(sys_spu_thread_group_t group, u32 threads_mask) | |||
Only allowed for COOPERATE_WITH_SYSTEM spu thread group types. | |||
|- | |||
| 251 | |||
| 0x0FB | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_thread_group_get_cooperative_information | |||
| int sys_spu_thread_group_get_cooperative_information(sys_spu_thread_group_t id, sys_spu_thread_group_cooperative_info_t* info) | |||
Only allowed for COOPERATE_WITH_SYSTEM spu thread group types. | |||
|- | |||
| 254 | |||
| 0x0FE | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_thread_group_log | |||
| int sys_spu_thread_group_log(int command, int *stat) | |||
|- | |||
| 260 | |||
| 0x104 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_spu_image_open_by_fd | |||
| int sys_spu_image_open_by_fd(sys_spu_image_t *img, int fd, off64_t offset) | |||
|- | |||
| 295 | |||
| | | | ||
| | | | ||
| | | | ||
| | | (sys_pseudo_fs_truncate) | ||
| | | | ||
|- | |- | ||
| | | 296 | ||
| | | | ||
| | | | ||
| | | | ||
| | | (sys_pseudo_fs_get_dents) | ||
| | | | ||
|- | |- | ||
| | ! colspan="6" id="sys_vm/sys_memory/sys_mmapper Syscalls"|[[#sys_vm/sys_memory/sys_mmapper Syscalls]] (300-352) | ||
| | |- | ||
| 300 | |||
| 0x12C | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_vm_unmap | |||
| int sys_vm_unmap(sys_addr_t addr); | |||
|- | |||
| 302 | |||
| 0x12E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_vm_append_memory | |||
| int sys_vm_append_memory(sys_addr_t addr, size_t size); | |||
|- | |||
| 303 | |||
| 0x12F | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_vm_return_memory | |||
| int sys_vm_return_memory(sys_addr_t addr, size_t size); | |||
|- | |||
| 304 | |||
| 0x130 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_vm_lock | |||
| int sys_vm_lock(sys_addr_t addr, size_t size); | |||
|- | |||
| 305 | |||
| 0x131 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_vm_unlock | |||
| int sys_vm_unlock(sys_addr_t addr, size_t size); | |||
|- | |||
| 306 | |||
| 0x132 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_vm_touch | |||
| int sys_vm_touch(sys_addr_t addr, size_t size); | |||
|- | |||
| 307 | |||
| 0x133 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_vm_flush | |||
| int sys_vm_flush(sys_addr_t addr, size_t size); | |||
|- | |||
| 308 | |||
| 0x134 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_vm_invalidate | |||
| int sys_vm_invalidate(sys_addr_t addr, size_t size); | |||
|- | |||
| 309 | |||
| 0x135 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_vm_store | |||
| int sys_vm_store(sys_addr_t addr, size_t size); | |||
|- | |||
| 310 | |||
| 0x136 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_vm_sync | |||
| int sys_vm_sync(sys_addr_t addr, size_t size); | |||
|- | |||
| 311 | |||
| 0x137 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_vm_test | |||
| int sys_vm_test(sys_addr_t addr, size_t size, uint64_t * result); | |||
|- | |||
| 312 | |||
| 0x138 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_vm_get_statistics | |||
| int sys_vm_get_statistics(sys_addr_t addr, sys_vm_statistics_t * stat); | |||
|- | |||
| 313 | |||
| 0x139 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| diff sys_vm_memory_map | |||
| same Params (size_t vsize, size_t psize, sys_memory_container_t container, uint64_t flag, uint64_t policy, sys_addr_t * addr); apperently maps different vm memory area | |||
|- | |||
| 314 | |||
| 0x13A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| 2 Params | |||
|- | |||
| 315 | |||
| 0x13B | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| 1 Param | |||
|- | |||
| 324 | |||
| 0x144 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{dbg}} | |||
| sys_memory_container_create | |||
| int sys_memory_container_create(sys_memory_container_t * cid, size_t yield_size); | |||
|- | |||
| 325 | |||
| 0x145 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{dbg}} | |||
| sys_memory_container_destroy | |||
| int sys_memory_container_destroy(sys_memory_container_t cid); | |||
|- | |||
| 326 | |||
| 0x146 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_mmapper_allocate_fixed_address | |||
| int sys_mmapper_allocate_fixed_address(void); | |||
|- | |||
| 327 | |||
| 0x147 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_mmapper_allocate_shared_memory_from_container_ext | |||
| int sys_mmapper_allocate_shared_memory_from_container_ext(uint64_t shmem_key, uint32_t size, uint64_t pageSizeFlags, sys_memory_container_t memory_container_id, void *entries, uint32_t entry_count, sys_memory_t *mem_id) | |||
|- | |||
| 329 | |||
| 0x149 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_mmapper_free_shared_memory | |||
| int sys_mmapper_free_shared_memory(sys_addr_t start_addr); | |||
|- | |||
| 330 | |||
| 0x14A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_mmapper_free_address | |||
| int sys_mmapper_free_address(sys_addr_t start_addr); | |||
|- | |||
| 332 | |||
| 0x14C | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_mmapper_allocate_shared_memory | |||
| int sys_mmapper_allocate_shared_memory(u64 shmem_key, size_t size, size_t alignment, sys_memory_t* mem_id) | |||
|- | |||
| 333 | |||
| 0x14D | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_mmapper_set_shared_memory_flag | |||
| int sys_mmapper_set_shared_memory_flag(sys_addr_t, flags) ?; | |||
|- | |||
| 334 | |||
| 0x14E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_mmapper_map_shared_memory | |||
| int sys_mmapper_map_shared_memory(sys_addr_t start_addr, sys_memory_t mem_id, uint64_t flags) | |||
|- | |||
| 335 | |||
| 0x14F | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_mmapper_unmap_shared_memory | |||
| int sys_mmapper_unmap_shared_memory(sys_addr_t start_addr,sys_memory_t *mem_id) | |||
|- | |||
| 336 | |||
| 0x150 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_mmapper_change_address_access_right | |||
| int sys_mmapper_change_address_access_right(sys_addr_t start_addr, uint64_t flags); | |||
|- | |||
| 337 | |||
| 0x151 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_mmapper_get_shared_memory_attribute | |||
| 2 Params: | |||
|- | |||
| 339 | |||
| 0x153 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_mmapper_allocate_shared_memory_ext | |||
| int sys_mmapper_allocate_shared_memory_ext(uint64_t shmem_key, uint32_t size, uint64_t pageSizeFlags, void *entries, uint32_t entry_count, sys_memory_t *mem_id) | |||
|- | |||
| 340 | |||
| 0x154 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| 2 Params | |||
|- | |||
| 341 | |||
| 0x155 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| _sys_memory_container_create | |||
| int _sys_memory_container_create(sys_memory_container_t * cid, size_t yield_size); | |||
|- | |||
| 342 | |||
| 0x156 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_memory_container_destroy | |||
| int sys_memory_container_destroy(sys_memory_container_t cid); | |||
|- | |||
| 343 | |||
| 0x157 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| 3 Params, a variation of sys_memory_container_destroy (sys_memory_container_t cid, int, &out) | |||
|- | |||
| 346 | |||
| 0x15A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| | |||
|- | |||
| 347 | |||
| 0x15B | |||
| | |||
| | |||
| (sys_mmapper_map_mmio_area) | |||
| | |||
|- | |||
| 348 | |||
| 0x15C | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_memory_allocate | |||
| int sys_memory_allocate(size_t size, uint64_t flags, sys_addr_t * alloc_addr); | |||
|- | |||
| 349 | |||
| 0x15D | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_memory_free | |||
| int sys_memory_free(sys_addr_t start_addr); | |||
|- | |||
| 350 | |||
| 0x15E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_memory_get_page_attribute | |||
| int sys_memory_get_page_attribute(sys_addr_t addr, sys_page_attr_t * attr); | |||
|- | |||
| 352 | |||
| 0x160 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_memory_get_user_memory_size | |||
| int sys_memory_get_user_memory_size(sys_memory_info_t * mem_info); | |||
|- | |||
| 353 | |||
| 0x161 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_memory_get_user_memory_stat | |||
| int sys_memory_get_user_memory_stat(out:uint8[0x1C]) | |||
|- | |||
| 354 | |||
| 0x162 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| 3 Params | |||
|- | |||
| 355 | |||
| 0x163 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| 2 Param: uint32_t *, uint32_t * (set 0, reset memory stats?) | |||
|- | |||
| 356 | |||
| 0x164 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_memory_allocate_colored | |||
| 4 Params | |||
|- | |||
| 357 | |||
| 0x165 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| 2 Params | |||
|- | |||
| 358 | |||
| 0x166 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| 5 Params | |||
|- | |||
| 359 | |||
| 0x167 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| (sys_mmapper_unmap_mmio_area) | |||
| 2 Params | |||
|- | |||
| 360 | |||
| 0x168 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| 7 Params | |||
|- | |||
| 361 | |||
| 0x169 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_memory_allocate_from_container_colored | |||
| 5 Params | |||
|- | |||
| 362 | |||
| 0x16A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| 6 Params | |||
|- | |||
| 364 | |||
| 0x16C | |||
| {{DECR}} | |||
| | |||
| | |||
| | | | ||
|- | |- | ||
| | ! colspan="6" id="sys_uart Syscalls"|[[#sys_uart Syscalls]] (367-370) | ||
| | |- | ||
| 367 | |||
| 0x16F | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_uart_initialize | |||
| syscall(367, void) | |||
|- | |||
| 368 | |||
| 0x170 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_uart_receive | |||
| sys_uart_receive(out: uint8_t buffer[SizeToReceive], int SizeToReceive (0x400/0x800), 0/1) | |||
|- | |||
| 369 | |||
| 0x171 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_uart_send | |||
| sys_uart_send(const void *buf, uint64_t size, uint64_t flags)<!--///* | |||
* lv2_av_send | |||
*/ | |||
static inline int lv2_av_send(const void *buf, uint64_t size, uint64_t flags) | |||
{ | |||
return Lv2Syscall3(369, (uint64_t) buf, size, flags); | |||
}//--> | |||
|- | |||
| 370 | |||
| 0x172 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_uart_get_params | |||
| int sys_uart_get_params(out:buffer[0x10]) | |||
|- | |||
! colspan="6" id="sys_game Syscalls"|[[#sys_game Syscalls]] (372-376+410-412) | |||
|- | |||
| 372 | |||
| 0x174 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_game_watchdog_start | |||
| 1 param: int time(r) | |||
|- | |||
| 373 | |||
| 0x175 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_game_watchdog_stop | |||
| int sys_game_watchdog_stop(void) | |||
|- | |||
| 374 | |||
| 0x176 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_game_watchdog_clear | |||
| int sys_game_watchdog_clear(void) | |||
|- | |||
| 375 | |||
| 0x177 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_game_set_system_sw_version | |||
| int sys_game_set_system_sw_version(uint64_t version) | |||
|- | |||
| 376 | |||
| 0x178 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_game_get_system_sw_version | |||
| int sys_game_get_system_sw_version(void) | |||
|- | |||
! colspan="6" id="sys_sm/sys_ctrl Syscalls"|[[#sys_sm/sys_ctrl Syscalls]] (378-396) | |||
|- | |||
| 377 | |||
| 0x179 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_sm_set_shop_mode | |||
| int sys_sm_set_shop_mode(int mode (0/1)) ( HV System Manager access - ServiceID 39 (SET_SHOP_DEMO_MODE)) | |||
|- | |||
| 378 | |||
| 0x17A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_sm_get_ext_event2 | |||
| 4 Param, sc378(uint64_t * v1,uint64_t * v2, uint64_t * v3, 0=receive buffer/1=get queuing events), v1==7 -> yesHOT | |||
|- | |||
| 379 | |||
| 0x17B | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_sm_shutdown | |||
| int sys_sm_shutdown(uint16_t op, const void * lpar_parameter, uint64_t parameter_size ) | |||
0x1100/0x100 = turn off, | |||
0x1200 = Lv2 Hard Reboot, | |||
0x200 = Lv2 Soft Reboot, | |||
0x8201 = load lpar id 1 | |||
0x8202 = load lpar id 2 | |||
0x8204 = load lpar id 3 (PS2_NETEMU) | |||
HV System Manager access - ServiceID 1 (REQUEST)+ 10 (DELIVER INTER LPAR PARAMETER) | |||
|- | |||
| 380 | |||
| 0x17C | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Dbg}} | |||
| sys_sm_get_params | |||
| alias sys_get_system_parameter, 4 Params: uint64_t * unknown1, uint64_t * unknown2, uint64_t * unknown3, uint64_t * bootparam? (more info: [[#Boot_Parameter]]) | |||
|- | |||
| 381 | |||
| 0x17D | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_sm_get_inter_lpar_parameter | |||
| 2Params: syscall(381,uint8_t lpar_parameter[param_size], int param_size (0x600)); | |||
|- | |||
| 382 | |||
| 0x17E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_sm_initialize | |||
| int syscall(382, void); - prevents ps3 lpar shutdown ? | |||
|- | |||
| 383 | |||
| 0x17F | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_game_get_temperature | |||
| int sys_game_get_temperature(uint8_t tzone, uint32_t *temperature) ( HV System Manager access - ServiceID 13 (TEMPERATURE)) | |||
2nd Byte conversion: r.shift (second_byte * 0x64 ) by 8<br> | |||
Example: 195 = 0xC3 -> 0xC3 * 0x64 -> 0x4C2C ->> shift -> 0x4C -> XX.76°C | |||
tzone = | |||
0x00 = CELL | |||
0x01 = RSX | |||
0x14 = SB (tested only on COK-00x, but according to | |||
https://www.psdevwiki.com/ps3/Thermal#Temperature_Monitors sensor is available and connected up to DIA-001) | |||
other = Untested, but likely unavailable on retail models. | |||
|- | |||
| 384 | |||
| 0x180 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_sm_get_tzpb | |||
| 1 Param: syscall(384,uint64_t *tzpb); (uint8_t [0x20]) Get Thermal Zone (Presence/Broadcast?) <br> HV System Manager access - ServiceID 15 | |||
|- | |||
| 385 | |||
| 0x181 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_sm_request_led | |||
| int sys_sm_request_led( int led_id(1=power,2=status or 3=disk), out:uint8_t led_action[1] ) HV System Manager access - ServiceID 17 | |||
|- | |||
| 386 | |||
| 0x182 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_sm_control_led | |||
| int sys_sm_control_led(uint8_t led_id, uint8_t led_action)<br> led_id = 0,1 (STATUS),2 (POWER)(red, green, red+green combined: looks like yellow);<br> led_action = 0,1,2,3 (off,on,blink fast, blink slow) | |||
|- | |||
| 387 | |||
| 0x183 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Dbg}} | |||
| sys_sm_get_system_info | |||
| syscall(387, uint8_t platform_info[0x18]) / OS Version, Revision, System Software Version? <!--///* | |||
* lv2_get_platform_info | |||
*/ | |||
static inline int lv2_get_platform_info(struct platform_info *info) | |||
{ | |||
return Lv2Syscall1(387, (uint64_t) info); | |||
}//--> | |||
|- | |||
| 388 | |||
| 0x184 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_sm_ring_buzzer_too | |||
| 2 Params,HV System Manager access - ServiceID 21 (RING_BUZZER) | |||
|- | |||
| 389 | |||
| 0x185 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Productmode}} | |||
| sys_sm_set_fan_policy | |||
| int sys_sm_set_fan_policy (in:uint8, in:uint8, in:uint8)<!--// int sys_sm_set_fan_policy(u8 arg0, u8 arg1, u8 arg2) //--><br>Similar than the [[Syscon Firmware|syscon UART]] external command ''"FAN SETPOLICY"'' or the internal command ''"fanconpolicy set"'' | |||
|- | |||
| 390 | |||
| 0x186 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_sm_request_error_log | |||
| 4 Params, uint8_t offset (0-0x20), uint8_t *, uint32_t *, uint32_t * | |||
HV System Manager access - ServiceID 26 (REQUEST_ERROR_LOG) | |||
|- | |||
| 391 | |||
| 0x187 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_sm_request_be_count | |||
| 4 Params | |||
uint8_t * status, | |||
uint32_t* total_time_in_seconds, | |||
uint32_t* power_on_counter, | |||
uint32_t* power_off_counter | |||
HV System Manager access - ServiceID 28 (REQUEST_BE_COUNT): | |||
|- | |||
| 392 | |||
| 0x188 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_sm_ring_buzzer | |||
| 3 Params: PacketID=0x1004, field2, field4 [[Hypervisor_Reverse_Engineering#Parameters_6 Parameters]]<!--///* | |||
* lv2_sm_ring_buzzer | |||
*/ | |||
static inline int lv2_sm_ring_buzzer(uint64_t unknown1, uint8_t unknown2, uint32_t unknown3) | |||
{ | |||
return Lv2Syscall3(392, unknown1, unknown2, unknown3); | |||
}//--> | |||
|- | |||
| 393 | |||
| 0x189 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_sm_get_hw_config | |||
| gets hardware configuration: syscall(393,uint8_t * res, uint64_t * hw_config) <!--///* | |||
* lv2_get_sys_hw_config | |||
*/ | |||
static inline int lv2_get_sys_hw_config(uint8_t *res, uint64_t *val) | |||
{ | |||
return Lv2Syscall2(393, (uint64_t) res, (uint64_t) val); | |||
}//--> | |||
|- | |||
| 394 | |||
| 0x18A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_sm_request_scversion | |||
| uint8_t SoftID[8],old_PatchID[8],new_PatchID[8]; lv2syscall3(394, (uint64_t)SoftID, (uint64_t)old_PatchID, (uint64_t)new_PatchID);<br />HV System Manager access - ServiceID 30 (REQUEST_SC_VERSION) [[Syscon_Firmware#.27info0.27 SC Firmware]] | |||
|- | |||
| 395 | |||
| 0x18B | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Productmode}} | |||
| sys_sm_request_system_event_log | |||
| int sys_sm_request_system_event_log(int offset(0 - 5),uint64_t *out,uint64_t *out,uint64_t *out,uint8_t buf[0x20], int flag ), 6 Params, HV System Manager access - ServiceID 32 (REQUEST_SYSTEM_EVENT_LOG). See also syscall 400 and [[Factory_Service_Mode#Game_OS|this]] | |||
|- | |||
| 396 | |||
| 0x18C | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_sm_set_rtc_alarm | |||
| int sys_sm_set_rtc_alarm(CellRtcTick *pTick), HV System Manager access - ServiceID 34+38 (RTC_ALARM) | |||
|- | |||
| 397 | |||
| 0x18D | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_sm_get_rtc_alarm | |||
| 1 Param, HV System Manager access - ServiceID 36 | |||
|- | |||
| 398 | |||
| 0x18E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_console_write | |||
| int sys_console_write(const char *s, uint32_t len)(lv2,lv1::console::write_async <!--///* | |||
* lv2_lv1_log_write | |||
*/ | |||
static inline int lv2_lv1_log_write(const char *s, uint32_t len) | |||
{ | |||
return Lv2Syscall2(398, (uint64_t) s, len); | |||
}//--> | |||
|- | |||
| 399 | |||
| 0x18F | |||
| | |||
| | |||
| (sys_kernel_test) | |||
| | |||
|- | |||
| 400 | |||
| 0x190 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Productmode}} | |||
| | | | ||
| int sys_request_system_event_log(int offset(0 - 5),uint64_t *out, int flag ) , HV System Manager access - ServiceID 32 (REQUEST_SYSTEM_EVENT_LOG) <br> sys_sm_request_system_event_log too. See also syscall 395 and [[Factory_Service_Mode#Game_OS|this]] | |||
|- | |||
| 401 | |||
| 0x191 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| 2 Params: uint64_t param,uint8_t * st (status?/state?) | |||
HV System Manager access - ServiceID 40 (BOOT_PARAMETER) | |||
See also syscall 404, [[SC_EEPROM|syscon EEPROM]] "boot param" and [[Factory_Service_Mode#Game_OS|this]], also sends the param to syscon | |||
|- | |||
! colspan="6" id="sys_tty Syscalls"|[[#sys_tty Syscalls]] (402-403) | |||
|- | |||
| 402 | |||
| 0x192 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_tty_read | |||
| int sys_tty_read(uint32_t ch, void *buf, uint32_t len, uint32_t *preadlen); | |||
|- | |||
| 403 | |||
| 0x193 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_tty_write | |||
| int sys_tty_write(uint32_t ch, const void *buf, uint32_t len, uint32_t *pwritelen); | |||
|- | |||
| 404 | |||
| 0x194 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| 2 Params: uint64_t * param, uint8_t * st | |||
HV System Manager access - ServiceID 42 (BOOT_PARAMETER) | |||
[Network Settings for Debug] related, returns single/dual setting flag? | |||
See also syscall 401, [[SC_EEPROM|syscon EEPROM]] "boot param" and [[Factory_Service_Mode#Game_OS|this]] | |||
|- | |||
| 405 | |||
| 0x195 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Productmode}} | |||
| | |||
| 2 Params: uint16_t * comp?, uint8_t * st (status?/state?) | |||
HV System Manager access - ServiceID 44 | |||
factory_process_comp (0,0), dbg_printf comp value | |||
See [[SC_EEPROM|syscon EEPROM]] "factory process completion" and [[Factory_Service_Mode#Game_OS|this]] | |||
|- | |||
| 406 | |||
| 0x196 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Productmode}} | |||
| | |||
| 2 Params: uint32_t comp? ,uint8_t * st | |||
comp? = 0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x100 | |||
HV System Manager access - ServiceID 46 | |||
factory_process_comp (1,x) -> OR-Operation with comp | |||
See [[SC_EEPROM|syscon EEPROM]] "factory process completion" and [[Factory_Service_Mode#Game_OS|this]] | |||
|- | |||
| 407 | |||
| 0x197 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Productmode}} | |||
| | |||
| 1 Param: uint8_t * st | |||
HV System Manager access - ServiceID 48 | |||
factory_process_comp (2,0) -> ANDC-Operation with comp=0 | |||
See [[SC_EEPROM|syscon EEPROM]] "factory process completion" and [[Factory_Service_Mode#Game_OS|this]] | |||
|- | |- | ||
| | | 408 | ||
| | | 0x198 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Productmode}} | |||
| sys_sm_get_tzpb too | |||
| 1 Param: out:uint8_t [0x20] <br> same as 384 just requires PM | |||
|- | |||
| 409 | |||
| 0x199 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Productmode}} | |||
| sys_sm_get_fan_policy | |||
| int sys_sm_get_fan_policy(uint8_t id, uint8_t *st (status? state?), uint8_t *policy (mode), uint8_t * mode (speed), uint8_t *duty)<br>Similar than the [[Syscon Firmware|syscon UART]] external command ''"FAN GETPOLICY"'' or the internal command ''"fanconpolicy get"'' | |||
|- | |||
! colspan="6" id="sys_game Syscalls"|[[#sys_game Syscalls]] (372-376+410-412) | |||
|- | |||
| 410 | |||
| 0x19A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_game_board_storage_read | |||
| 2 Params,out:uint8_t[0x10], uint8_t[1], HV System Manager access - ServiceID 54 | |||
|- | |||
| 411 | |||
| 0x19B | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_game_board_storage_write | |||
| 2 Params,in:uint8_t[0x10],uint8_t[1], HV System Manager access - ServiceID 52 | |||
|- | |||
| 412 | |||
| 0x19C | |||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_game_get_rtc_status | |||
| | |||
|- | |||
| 413 | |||
| 0x19D | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| 3 Params, HV System Manager access - ServiceID 56: out:uint8_t[1],out:uint8_t[1],out:uint8_t[1] | |||
|- | |||
| 414 | |||
| 0x19E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| 3 Params,in:packetid ,in:uint8_t[0x20],out:uint8_t[1], HV System Manager access - ServiceID 58 | |||
|- | |||
| 415 | |||
| 0x19F | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| 3 Params,in:packetid,out:uint8_t[0x20],out:uint8_t[1], HV System Manager access - ServiceID 60 | |||
|- | |||
! colspan="6" id="sys_overlay Syscalls"|[[#sys_overlay Syscalls]] (450-457) | |||
|- | |||
| 450 | |||
| 0x1C2 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_overlay_unload_module | |||
| int sys_overlay_unload_module(sys_overlay_t ovlmid) | |||
|- | |||
| 452 | |||
| 0x1C4 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_overlay_get_sdk_version | |||
| int sys_overlay_get_sdk_version(sys_overlay_t ovlmid, uint32_t* sdk_ver) | |||
|- | |||
| 457 | |||
| 0x1C9 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_overlay_get_module_dbg_info | |||
| 3 Params: (sys_pid_t pid, sys_overlay_t ovlmid, sys_overlay_module_dbg_t * info) ? | |||
|- | |||
| 458 | |||
| 0x1CA | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_overlay_get_module_dbg_info too | |||
| 3 Params: | |||
|- | |||
! colspan="6" id="sys_prx Syscalls"|[[#sys_prx Syscalls]] (460-499) | |||
|- | |||
| 460 | |||
| 0x1CC | |||
| {{DECR}} {{DEX}} | |||
| {{Root}} | |||
| sys_prx_dbg_get_module_id_list | |||
| sys_prx_dbg_get_module_id_list(sys_pid_t pid, sys_prx_dbg_get_module_list_t *pInfo) | |||
|- | |||
| 461 | |||
| 0x1CD | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_prx_get_module_id_by_address | |||
| sys_prx_id_t sys_prx_get_module_id_by_address(void* addr) | |||
|- | |||
| 462 | |||
| 0x1CE | |||
| {{DECR}} {{DEX}} | |||
| | |||
| | |||
| 1 Param: uint8_t [0x50] | |||
|- | |||
| 463 | |||
| 0x1CF | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_prx_get_ppu_guid | |||
| sys_addr_t sys_prx_get_ppu_guid(sys_prx_id_t id) | |||
|- | |||
| 468 | |||
| 0x1D4 | |||
| {{DECR}} {{DEX}} | |||
| {{Root}} | |||
| | |||
| | | | ||
|- | |- | ||
| | | 470 | ||
| | | 0x1D6 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_npdrm_check_ekc | |||
| int syscall 470 (sys_pid_t pid, np_drm_info_t* np_drm_info) | |||
|- | |||
| 471 | |||
| 0x1D7 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_npdrm_regist_ekc | |||
| int syscall_471(uint32_t type, char* titleID, void* klicensee, uint8_t* actdat, uint8_t* rif, int32_t licenseType, uint8_t* magicVersion);<!--//The function has different parameters depending if the content is debug, free or paid: | |||
FREE: syscall471(npd.type, &npd.titleID, freeklicensee, NULL, NULL, npd.license, &npd); | |||
PAID: syscall471(npd.type, &npd.titleID, NULL, &actdat.keyTable[rif.actDatIndex], &rif.key, npd.license, &npd); | |||
Deprecated on modern firmwares, use syscall 475 instead; //--> | |||
|- | |||
| 472 | |||
| 0x1D8 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| 2 Params: | |||
|- | |||
| 473 | |||
| 0x1D9 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| | |||
|- | |||
| 474 | |||
| 0x1DA | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| | |||
|- | |||
| 475 | |||
| 0x1DB | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_npdrm_regist_ekc2 ? | |||
| int syscall_475(sys_pid_t pid, np_drm_info_t* np_drm_info, void* klicensee, uint8_t* actdat, uint8_t* rif, uint8_t magicVersion) | |||
|- | |||
| 476 | |||
| 0x1DC | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| can only be either syscall476 (1,0) or syscall476 (0,1) | |||
|- | |||
| 480 | |||
| 0x1E0 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_prx_start_module | |||
| int sys_prx_start_module(sys_prx_id_t id, sys_prx_flags_t flags, sys_prx_start_t* pOpt) | |||
|- | |||
| 482 | |||
| 0x1E2 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_prx_register_module | |||
| int sys_prx_register_module(char * name, const sys_prx_register_module_option_t * pOpt) | |||
|- | |||
| 485 | |||
| 0x1E5 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_prx_query_module | |||
| int sys_prx_query_module(void) // only returns 0 | |||
|- | |||
| 486 | |||
| 0x1E6 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_prx_register_library | |||
| int sys_prx_register_library(void* library) | |||
|- | |||
| 487 | |||
| 0x1E7 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_prx_unregister_library | |||
| int sys_prx_unregister_library(void* library) // only returns 0 | |||
|- | |||
| 488 | |||
| 0x1E8 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_prx_link_library | |||
| int sys_prx_link_library(void) // only returns 0 | |||
|- | |||
| 489 | |||
| 0x1E9 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_prx_unlink_library | |||
| int sys_prx_unlink_library(void) // only returns 0 | |||
|- | |||
| 490 | |||
| 0x1EA | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_prx_query_library | |||
| int sys_prx_query_library(void) // only returns 0 | |||
|- | |||
| 492 | |||
| 0x1EC | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Dbg}} | |||
| sys_prx_dbg_get_module_list | |||
| 4 Params: | |||
|- | |||
| 493 | |||
| 0x1ED | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Dbg}} | |||
| sys_prx_dbg_get_module_info | |||
| int sys_prx_dbg_get_module_info(sys_pid_t pid, sys_prx_id_t id, sys_prx_dbg_module_info* info) | |||
|- | |||
| 494 | |||
| 0x1EE | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_prx_start | |||
| int sys_prx_start (void) // only returns 0 | |||
|- | |||
| 499 | |||
| 0x1F3 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_prx_stop | |||
| int sys_prx_stop(void) | |||
|- | |||
! colspan="6" id="sys_hid_manager Syscalls"|[[#sys_hid_manager Syscalls]] | |||
|- | |||
| 500 | |||
| 0x1F4 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_hid_manager_open | |||
| 2 Params | |||
|- | |||
| 501 | |||
| 0x1F5 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_hid_manager_close | |||
| 1 Param: uint32_t port_no | |||
|- | |||
| 502 | |||
| 0x1F6 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_hid_manager_read | |||
| 4 Params: uint32_t port_no,uint32_t packet_id, uint8_t[size], uint32_t size | |||
|- | |||
| 503 | |||
| 0x1F7 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_hid_manager_ioctl | |||
| 4 Params: uint32_t port_no,uint32_t packet_id, uint8_t[size], uint32_t size | |||
|- | |||
| 504 | |||
| 0x1F8 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_hid_manager_map_logical_id_to_port_id | |||
| param 1: device_type, 1 = pad, 2 = kb, 3 = mouse | |||
int sc(int device_type, int device_no, int port_no) | |||
|- | |||
| 505 | |||
| 0x1F9 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_hid_manager_unmap_logical_id_to_port_id | |||
| int sc(int device_type, int device_no, int port_no) | |||
|- | |||
| 506 | |||
| 0x1FA | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_hid_manager_add_hot_key_observer | |||
| 2 Params | |||
|- | |||
| 507 | |||
| 0x1FB | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_hid_manager_remove_hot_key_observer | |||
| 2 Params | |||
|- | |||
| 508 | |||
| 0x1FC | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_hid_manager_grab_focus | |||
| 1 Param: sys_pid_t pid (for example current pid) | |||
|- | |||
| 509 | |||
| 0x1FD | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_hid_manager_release_focus | |||
| 1 Param | |||
|- | |||
| 510 | |||
| 0x1FE | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_hid_manager_check_focus | |||
| int syscall(510, void); | |||
|- | |||
| 511 | |||
| 0x1FF | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_hid_manager_set_master_process | |||
| 1 Param | |||
|- | |||
| 512 | |||
| 0x200 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| 1 Param : int syscall(512,sys_pid_t pid), simple root-flag check?; | |||
|- | |||
| 513 | |||
| 0x201 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_hid_manager_... | |||
| 4 Params | |||
|- | |||
| 514 | |||
| 0x202 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_hid_manager_... | |||
| 3 Params | |||
|- | |||
! colspan="6" id="sys_config Syscalls"|[[#sys_config Syscalls]] | |||
|- | |||
| 516 | |||
| 0x204 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_config_open | |||
| 2 Params : (sys_event_queue_t * equeue_id, uint64_t *conf_id (out)) | |||
|- | |||
| 517 | |||
| 0x205 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_config_close | |||
| sys_config_close(sys_event_queue_t * equeue_id); | |||
|- | |||
| 518 | |||
| 0x206 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_config_get_service_event | |||
| 4 Params: | |||
|- | |||
| 519 | |||
| 0x207 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_config_add_service_listener | |||
| 6 Params (u32 conf_id, ?, ?, ?, ?, ?) | |||
|- | |||
| 520 | |||
| 0x208 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_config_remove_service_listener | |||
| 2 Params | |||
|- | |||
| 521 | |||
| 0x209 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_config_register_service | |||
| 7 Params | |||
|- | |||
| 522 | |||
| 0x20A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_config_unregister_service | |||
| 2 Params | |||
|- | |||
| 523 | |||
| 0x20B | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_config_io_event | |||
| | |||
|- | |||
| 524 | |||
| 0x20C | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_config_register_io_error_listener | |||
| | |||
|- | |||
| 525 | |||
| 0x20D | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_config_unregister_io_error_listener | |||
| | |||
|- | |||
! colspan="6" id="sys_usbd Syscalls"|[[#sys_usbd Syscalls]] | |||
|- | |||
| 530 | |||
| 0x212 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_initialize | |||
| 1 Param, out: *uint32_t | |||
|- | |||
| 531 | |||
| 0x213 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_finalize | |||
| 1 Param, in: handle/id | |||
|- | |||
| 532 | |||
| 0x214 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_get_device_list | |||
| 3 Params | |||
|- | |||
| 533 | |||
| 0x215 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_get_descriptor_size | |||
| 2 Params | |||
|- | |||
| 534 | |||
| 0x216 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_get_descriptor | |||
| 4 Params | |||
|- | |||
| 535 | |||
| 0x217 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_register_ldd | |||
| 3 Params | |||
|- | |||
| 536 | |||
| 0x218 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_unregister_ldd | |||
| 3 Params | |||
|- | |||
| 537 | |||
| 0x219 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_open_pipe | |||
| 7 Params | |||
|- | |||
| 538 | |||
| 0x21A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_open_default_pipe | |||
| 2 Params | |||
|- | |||
| 539 | |||
| 0x21B | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_close_pipe | |||
| 2 Params | |||
|- | |||
| 540 | |||
| 0x21C | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_receive_event | |||
| 4 Params | |||
|- | |||
| 541 | |||
| 0x21D | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_detect_event | |||
| void | |||
|- | |||
| 542 | |||
| 0x21E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_attach | |||
| 4 Params | |||
|- | |||
| 543 | |||
| 0x21F | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_transfer_data | |||
| 6 Params | |||
|- | |||
| 544 | |||
| 0x220 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_isochronous_transfer_data | |||
| 3 Params | |||
|- | |||
| 545 | |||
| 0x221 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_get_transfer_status | |||
| 5 Params | |||
|- | |||
| 546 | |||
| 0x222 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_get_isochronous_transfer_status | |||
| 5 Params | |||
|- | |||
| 547 | |||
| 0x223 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_get_device_location | |||
| 3 Params | |||
|- | |||
| 548 | |||
| 0x224 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_send_event | |||
| 2 Params | |||
|- | |||
| 549 | |||
| 0x225 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_event_port_send | |||
| int sys_usbd_event_port_send(uint64_t usb_id?, uint64_t data1, uint64_t data2, uint64_t data3); | |||
|- | |||
| 550 | |||
| 0x226 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_allocate_memory | |||
| 3 Params | |||
|- | |||
| 551 | |||
| 0x227 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_free_memory | |||
| 2 Params | |||
|- | |||
| 552 | |||
| 0x228 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_enable_wake_on? | |||
| 1 Param | |||
|- | |||
| 553 | |||
| 0x229 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| void | |||
|- | |||
| 554 | |||
| 0x22A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| void | |||
|- | |||
| 555 | |||
| 0x22B | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| void | |||
|- | |||
| 556 | |||
| 0x22C | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_get_device_speed | |||
| 3 Params, , , out:uint8_t[1] | |||
|- | |||
| 557 | |||
| 0x22D | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| 5 Params | |||
|- | |||
| 558 | |||
| 0x22E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_unregister_extra_ldd | |||
| 3 Params, , name, name_len | |||
|- | |||
| 559 | |||
| 0x22F | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbd_register_extra_ldd | |||
| 6 Params | |||
|- | |||
! colspan="6" id="sys_gl819 Syscalls"|[[#sys_gl819 Syscalls]] Cardcontroller cf/sd/mmc/sm/ms | |||
|- | |||
| 560 | |||
| 0x230 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| (sys_usbmass_ioctl) | |||
| | |||
|- | |||
| 561 | |||
| 0x231 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| 1 Param: out:uint8_t [4] (cf/sd/mmc/sm/ms flag availability from hw config) | |||
|- | |||
| 562 | |||
| 0x232 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| gets MultiCardReader Firmware Version: syscall(0x232, out:uint8_t [2]) | |||
|- | |||
| 563 | |||
| 0x233 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| | |||
|- | |||
| 564 | |||
| 0x234 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| | |||
|- | |||
| 565 | |||
| 0x235 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| | |||
|- | |||
| 566 | |||
| 0x236 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| | |||
|- | |||
| 567 | |||
| 0x237 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| | |||
|- | |||
| 568 | |||
| 0x238 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| | |||
|- | |||
| 569 | |||
| 0x239 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| | |||
|- | |||
! colspan="6" id="PAD Manager Syscalls"|[[#PAD Manager Syscalls]] PAD related | |||
|- | |||
| 570 | |||
| 0x23A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | | | ||
| sys_pad_ldd_register_controller | |||
| | |||
|- | |||
| 571 | |||
| 0x23B | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_pad_ldd_unregister_controller | |||
| int sys_pad_ldd_unregister_controller ( int32_t handle) | |||
|- | |||
| 572 | |||
| 0x23C | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_pad_ldd_data_insert | |||
| int sys_pad_ldd_data_insert (int32_t handle, cellpaddata* data /* uint8_t[0x84] */) | |||
|- | |||
| 573 | |||
| 0x23D | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_pad_dbg_ldd_set_data_insert_mode | |||
| int sys_pad_dbg_ldd_set_data_insert_mode ( int32_t handle, 0x100, uint32_t* mode , 4) | |||
|- | |||
| 574 | |||
| 0x23E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_pad_ldd_register_controller | |||
| int sys_pad_ldd_register_controller/sys_pad_dbg_ldd_register_controller ( uint8_t[0x114] /* struct */, int32_t* out, 5, uint32_t device_capability<<1) | |||
|- | |- | ||
| | | 575 | ||
| | | 0x23F | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_pad_ldd_get_port_no | |||
| int sys_pad_ldd_get_port_no (int32_t handle) | |||
|- | |||
| 577 | |||
| 0x241 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} {{Productmode}} | |||
| sys_pad_manager_.... | |||
| int sys_pad_manager_.... (int8_t device_number?) | |||
Intended to be used under [[Factory_Service_Mode#Game_OS|Factory Service Mode]] | |||
|- | |||
! colspan="6" id="sys_bluetooth Syscalls"|[[#sys_bluetooth Syscalls]] | |||
|- | |||
| 578 | |||
| 0x242 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| | |||
|- | |||
| 579 | |||
| 0x243 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | | | ||
|- | | sys_bluetooth_aud_serial_unk1... | ||
| | | sys_bluetooth_aud_serial_unk1(0x243,0,unk1*,aud_serial*,unk2*,unk3*,unk4*) <br> 0xD0044D40 00 00 00 00 / 0xD0044D44 00 82 8E 18 --> 00 7D 39 A0 --> 0x007D39A0 5F 61 75 64 5F 53 45 52 49 41 4C 00 00 00 00 00 _aud_SERIAL..... / 0xD0044D48 00 00 00 00 / 0xD0044D4C 00 00 00 00 | ||
| | |- | ||
| 580 | |||
| 0x244 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| | |||
|- | |||
| 581 | |||
| 0x245 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| | |||
|- | |||
| 582 | |||
| 0x246 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| | |||
|- | |||
| 583 | |||
| 0x247 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_bt_read_firmware_version | |||
| gets Bluetooth Firmware Version: syscall(0x247, out:uint8_t [2]) | |||
|- | |||
| 584 | |||
| 0x248 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_bt_complete_wake_on_host | |||
| | |||
|- | |||
| 585 | |||
| 0x249 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | | | ||
|- | | sys_bt_disable_bluetooth | ||
| | | | ||
| | |- | ||
| 586 | |||
| 0x24A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | | | ||
|- | | sys_bt_enable_bluetooth | ||
| | | return 0x80010003 | ||
| | |- | ||
| 587 | |||
| 0x24B | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_bt_bccmd | |||
| | |||
|- | |||
| 588 | |||
| 0x24C | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | | | ||
|- | | sys_bt_read_hq | ||
| | | return 0x80010003 | ||
| | |- | ||
| 589 | |||
| 0x24D | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | | | ||
|- | | sys_bt_hid_get_remote_status | ||
| | | return 0x80010003 | ||
| | |- | ||
| 590 | |||
| 0x24E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_bt_register_controller | |||
| bt_set_device_info() | |||
|- | |||
| 591 | |||
| 0x24F | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | | | ||
|- | | sys_bt_clear_registered_contoller | ||
| | | return 0 | ||
| | |- | ||
| 592 | |||
| 0x250 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_bt_connect_accept_controller | |||
| return 0 | |||
|- | |||
| 593 | |||
| 0x251 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_bt_get_local_bdaddress | |||
| getting bluetooth address | |||
|- | |||
| 594 | |||
| 0x252 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_bt_hid_get_data | |||
| return 0x80010003 | |||
|- | |||
| 595 | |||
| 0x253 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_bt_hid_set_report | |||
| return 0x80010003 | |||
|- | |||
| 596 | |||
| 0x254 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_bt_sched_log | |||
| return 0x80010003 | |||
|- | |||
| 597 | |||
| 0x255 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_bt_cancel_connect_accept_controller | |||
| syscall(597,void) | bt_cancel_connect_accept_controller(),deprecated | |||
|- | |||
| 598 | |||
| 0x256 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| 0 Param | |||
|- | |||
| 599 | |||
| 0x257 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| 2 Params: out:uint8_t[2], out:uint8_t[2] | |||
|- | |||
! colspan="6" id="sys_storage Syscalls"|[[#sys_storage Syscalls]] (600-623+837+838) | |||
|- | |||
| 600 | |||
| 0x258 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_storage_open | |||
| int sys_storage_open(uint64_t id, int mode, int *fd, int flags) mode=0,flags=0 [[DeviceID#DeviceIDs_used_in_GameOS|DeviceIDs]] | |||
|- | |||
| 601 | |||
| 0x259 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_storage_close | |||
| int sys_storage_close(int fd) | |||
|- | |||
| 602 | |||
| 0x25A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_storage_read | |||
| int sys_storage_read(int fd, int mode?, uint32_t start_sector, uint32_t sectors, uint8_t *bounce_buf, uint32_t *sectors_read, uint64_t flags) mode?=0 | |||
|- | |||
| 603 | |||
| 0x25B | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_storage_write | |||
| <!--///* | |||
* lv2_storage_write | |||
*/ | |||
static inline int lv2_storage_write(uint32_t dev_handle, uint64_t unknown1, uint64_t start_sector, uint64_t sector_count, | |||
const void *buf, uint32_t *unknown2, uint64_t flags) | |||
{ | |||
return Lv2Syscall7(603, dev_handle, unknown1, start_sector, sector_count, | |||
(uint64_t ) buf, (uint64_t) unknown2, flags); | |||
}//--> | |||
|- | |||
| 604 | |||
| 0x25C | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_storage_send_device_command | |||
| int sys_storage_send_device_command(uint32_t device_handle, uint32_t command, void *indata, uint64_t inlen, void *outdata, uint64_t outlen) | |||
|- | |||
| 605 | |||
| 0x25D | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_storage_async_write | |||
| 7 Params: | |||
|- | |||
| 608 | |||
| 0x260 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_storage_async_cancel | |||
| 2 Params | |||
|- | |||
| 609 | |||
| 0x261 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_storage_get_device_config | |||
| 2 Params: int sys_storage_get_device_config(uint64_t device, uint8_t *config) ? | |||
|- | |||
| 611 | |||
| 0x263 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_storage_report_devices | |||
| 4 Params: | |||
|- | |||
| 612 | |||
| 0x264 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_storage_configure_medium_event | |||
| 3 Params | |||
|- | |||
| 613 | |||
| 0x265 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_storage_set_medium_polling_interval | |||
| 2 Params | |||
|- | |||
| 614 | |||
| 0x266 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_storage_create_region | |||
| <!--///* | |||
* lv2_storage_create_region | |||
*/ | |||
static inline int lv2_storage_create_region(uint32_t dev_handle, uint64_t start_sector, | |||
uint64_t sector_count, uint64_t unknown, uint64_t laid, uint64_t *region_id) | |||
{ | |||
return Lv2Syscall6(614, dev_handle, start_sector, sector_count, unknown, laid, (uint64_t) region_id); | |||
}//--> | |||
|- | |||
| 615 | |||
| 0x267 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_storage_delete_region | |||
| int sys_storage_delete_region(uint32_t dev_id,uint64_t index);<!--///* | |||
* lv2_storage_delete_region | |||
*/ | |||
static inline int lv2_storage_delete_region(uint32_t dev_handle, uint64_t region_id) | |||
{ | |||
return Lv2Syscall2(615, dev_handle, region_id); | |||
}//--> | |||
|- | |||
| 616 | |||
| 0x268 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_storage_execute_device_command | |||
| sys_storage_execute_device_command(uint32_t dev_handle, uint64_t cmd, const void *cmdbuf, uint64_t cmdbuf_size, void *databuf, uint64_t databuf_size, uint64_t *unknown)<!--// | |||
/* | |||
* lv2_storage_execute_device_command | |||
*/ | |||
static inline int lv2_storage_execute_device_command(uint32_t dev_handle, uint64_t cmd, | |||
const void *cmdbuf, uint64_t cmdbuf_size, void *databuf, uint64_t databuf_size, | |||
uint64_t *unknown) | |||
{ | |||
return Lv2Syscall7(616, dev_handle, cmd, (uint64_t) cmdbuf, cmdbuf_size, | |||
(uint64_t) databuf, databuf_size, (uint64_t) unknown); | |||
}//--> | |||
|- | |||
| 617 | |||
| 0x269 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_storage_check_region_acl | |||
| alias int sys_storage_get_region_acl(device_id, region_id, index, authority, mask); | |||
|- | |||
| 618 | |||
| 0x26A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_storage_set_region_acl | |||
| int sys_storage_set_region_acl(device_id, region_id, authority, permission); | |||
|- | |||
| 619 | |||
| 0x26B | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_storage_async_send_device_command | |||
| sys_storage_async_send_device_command(uint32_t dev_handle, uint64_t cmd, const void *cmdbuf, uint64_t cmdbuf_size, void *databuf, uint64_t databuf_size, uint64_t *unknown) | |||
|- | |||
| 620 | |||
| 0x26C | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| hid ldd if, kb/mouse/pad.... (param1: ?,0,1,2 or 3;param2;param3;param4;param5) | |||
|- | |||
| 621 | |||
| 0x26D | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_gamepad_ycon_if | |||
| syscall(621,packet_id,uint8_t *in,uint8_t *out) [[Talk:LV2_Functions_and_Syscalls#Syscall_621_.280x26D.29 gamepad_if usage]] | |||
|- | |||
| 622 | |||
| 0x26E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_storage_get_region_offset | |||
| | |||
|- | |||
| 623 | |||
| 0x26F | |||
| {{DECR}} | |||
| | |||
| sys_storage_set_emulated_speed | |||
| | |||
|- | |||
! colspan="6" id="sys_io Syscalls"|[[#sys_io Syscalls]] (624-627) | |||
|- | |||
| 624 | |||
| 0x270 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| 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 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_io_buffer_destroy | |||
| int sys_io_buffer_destroy(sys_io_buffer_t io_buffer) | |||
|- | |||
| 626 | |||
| 0x272 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_io_buffer_allocate | |||
| int sys_io_buffer_allocate(sys_io_buffer_t io_buffer, sys_io_block_t *block) | |||
|- | |||
| 627 | |||
| 0x273 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_io_buffer_free | |||
| int sys_io_buffer_free(sys_io_buffer_t io_buffer, sys_io_block_t block) | |||
|- | |||
! colspan="6" id="sys_gpio Syscalls"|[[#sys_gpio Syscalls]] (630-631) | |||
|- | |||
| 630 | |||
| 0x276 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_gpio_set | |||
| int sys_gpio_set (uint64_t device_id, uint64_t mask, uint64_t value) | |||
|- | |||
| 631 | |||
| 0x277 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_gpio_get | |||
| int sys_gpio_get (uint64_t device_id, uint64_t *value) | |||
|- | |||
! colspan="6" id="sys_fsw Syscalls"|[[#sys_fsw Syscalls]] (633-634) | |||
|- | |||
| 633 | |||
| 0x279 | |||
| {{DECR}} | |||
| | |||
| sys_fsw_connect_event | |||
| int sys_fsw_connect_event(sys_event_queue_t eq_id) | |||
|- | |||
| 634 | |||
| 0x27A | |||
| {{DECR}} | |||
| | |||
| sys_fsw_disconnect_event | |||
| int sys_fsw_disconnect_event(void) | |||
|- | |||
! colspan="6" id="Bluetooth Syscalls"|[[#Bluetooth Syscalls]] | |||
|- | |||
| 635 | |||
| 0x27B | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_btsetting_if? | |||
| 2 Params: uint64_t packet_id (0=init,1=finalize,....27) , uint8_t buffer | |||
|- | |||
| 636 | |||
| 0x27C | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| (BT Database Lookup) | |||
|- | |||
| 637 | |||
| 0x27D | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| BT dev list related, syscall(0x27d, out:uint8_t[0x100]) | |||
|- | |||
| 638 | |||
| 0x27E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| BT related, 3 Params: packet_id (<7), input, output? | |||
|- | |||
! colspan="6" id="Bluetooth USB Audio Syscalls"|[[#USB Bluetooth Audio Syscalls]] (639-649) | |||
|- | |||
| 639 | |||
| 0x27F | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| "deprecated!" (seems Sony doesnt want/like USB Bluetooth Audio transmitter/receiver) | |||
|- | |||
| 640 | |||
| 0x280 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbbtaudio_initialize | |||
| "deprecated!" | |||
|- | |||
| 641 | |||
| 0x281 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbbtaudio_finalize | |||
| "deprecated!" | |||
|- | |||
| 642 | |||
| 0x282 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbbtaudio_discovery | |||
| "deprecated!" | |||
|- | |||
| 643 | |||
| 0x283 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbbtaudio_cancel_discovery | |||
| "deprecated!" | |||
|- | |||
| 644 | |||
| 0x284 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbbtaudio_pairing | |||
| "deprecated!" | |||
|- | |||
| 645 | |||
| 0x285 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbbtaudio_set_passkey | |||
| "deprecated!" | |||
|- | |||
| 646 | |||
| 0x286 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbbtaudio_connect | |||
| "deprecated!" | |||
|- | |||
| 647 | |||
| 0x287 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_usbbtaudio_disconnect | |||
| "deprecated!" | |||
|- | |||
| 648 | |||
| 0x288 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| "deprecated!" | |||
|- | |||
| 649 | |||
| 0x289 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| "deprecated!" | |||
|- | |||
! colspan="6" id="RSX Audio Syscalls"|[[#RSX Audio Syscalls]] (650-x) | |||
|- | |||
| 650 | |||
| 0x28A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rsxaudio_initialize | |||
| int sys_rsxaudio_initialize(uint32_t* out_handle) | |||
|- | |||
| 651 | |||
| 0x28B | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rsxaudio_finalize | |||
| int sys_rsxaudio_finalize(uint32_t handle) | |||
|- | |||
| 652 | |||
| 0x28C | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rsxaudio_import_shared_memory | |||
| int sys_rsxaudio_import_shared_memory(uint32_t handle, uint64_t* out_addr) | |||
|- | |||
| 653 | |||
| 0x28D | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rsxaudio_unimport_shared_memory | |||
| int sys_rsxaudio_unimport_shared_memory(uint32_t handle, uint64_t* addr) | |||
|- | |||
| 654 | |||
| 0x28E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rsxaudio_create_connection | |||
| int sys_rsxaudio_create_connection(uint32_t handle) | |||
|- | |||
| 655 | |||
| 0x28F | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rsxaudio_close_connection | |||
| int sys_rsxaudio_close_connection(uint32_t handle) | |||
|- | |||
| 656 | |||
| 0x290 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rsxaudio_prepare_process | |||
| int sys_rsxaudio_prepare_process(uint32_t handle) | |||
|- | |||
| 657 | |||
| 0x291 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rsxaudio_start_process | |||
| int sys_rsxaudio_start_process(uint32_t handle) | |||
|- | |||
| 658 | |||
| 0x292 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rsxaudio_stop_process | |||
| int sys_rsxaudio_stop_process(uint32_t handle) | |||
|- | |||
| 659 | |||
| 0x293 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rsxaudio_get_dma_param | |||
| int sys_rsxaudio_get_dma_param(uint32_t handle, uint32_t flag, uint64_t* param_out) | |||
Flag: | |||
0 = dma io address | |||
1 = dma io id | |||
|- | |||
! colspan="6" id="sys_rsx Syscalls"|[[#sys_rsx Syscalls]] (666-677) | |||
|- | |||
| 666 | |||
| 0x29A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rsx_device_open | |||
| 1 Param (uint64_t arg_1); | |||
|- | |||
| 667 | |||
| 0x29B | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rsx_device_close | |||
| (void); | |||
|- | |||
| 668 | |||
| 0x29C | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rsx_memory_allocate | |||
| (uint32_t *mem_ctx_id, uint32_t *local_addr, uint64_t tile_max_size, uint64_t zcull_max_size, uint64_t tile_max_areas, uint64_t zcull_max_areas); | |||
|- | |||
| 669 | |||
| 0x29D | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rsx_memory_free | |||
| (uint32_t mem_ctx_id); | |||
|- | |||
| 670 | |||
| 0x29E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rsx_context_allocate | |||
| (uint32_t *rsx_ctx_id, uint64_t *dma_control_lpar, uint64_t *driver_info_lpar, uint64_t *reports_lpar, uint32_t mem_ctx_id, uint64_t system_mode); | |||
|- | |||
| 671 | |||
| 0x29F | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rsx_context_free | |||
| (uint32_t rsx_ctx_id); | |||
|- | |||
| 672 | |||
| 0x2A0 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rsx_context_iomap | |||
| (uint32_t rsx_ctx_id, uint32_t local_offset, uint32_t main_mem_ea, uint32_t size, uint64_t flags); | |||
|- | |||
| 673 | |||
| 0x2A1 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rsx_context_iounmap | |||
| (uint32_t rsx_ctx_id, uint64_t arg_2, uint64_t arg_3); | |||
|- | |||
| 674 | |||
| 0x2A2 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rsx_context_attribute | |||
| (uint32_t rsx_ctx_id, uint32_t pkg_id, uint64_t arg_1, uint64_t arg_2, uint64_t arg_3, uint64_t arg_4); | |||
|- | |||
| 675 | |||
| 0x2A3 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rsx_device_map | |||
| (uint64_t *semaphore, uint64_t arg_2, uint64_t device_id); | |||
|- | |||
| 676 | |||
| 0x2A4 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rsx_device_unmap | |||
| (uint64_t device_id); | |||
|- | |||
| 677 | |||
| 0x2A5 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_rsx_attribute | |||
(sys_rsx_audio_setup) | |||
| (uint64_t pkg_id, uint64_t arg_1, uint64_t arg_2, uint64_t arg_3, uint64_t arg_4); | |||
|- | |||
| 678 | |||
| 0x2A6 | |||
| {{DECR}} {{DEX}} | |||
| | |||
| | | | ||
|- | (sys_rsx_audio_queue) | ||
| | | | ||
| | |- | ||
| 679 | |||
| 0x2A7 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | | | ||
|- | (sys_rsx_audio_iomap) | ||
| | | (uint32_t arg_1, uint32_t arg_2, uint64_t *out_1, uint64_t *out_2, uint64_t *out_3, uint64_t *out_4); | ||
| | |- | ||
! colspan="6" id="Bluetooth USB Audio Syscalls"|[[#Bluetooth USB Audio Syscalls]] (680-696) | |||
|- | |||
| 680 | |||
| 0x2A8 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | | | ||
|- | (sys_rsx_audio_iounmap?) | ||
| | | | ||
| | |- | ||
| 681 | |||
| 0x2A9 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | | | ||
|- | | | ||
| | |- | ||
| | | 682 | ||
| 0x2AA | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | | | ||
|- | | | ||
| | |- | ||
| | | 683 | ||
| 0x2AB | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | | | ||
|- | | | ||
| | |- | ||
| | | 684 | ||
| 0x2AC | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | | | ||
| | |||
|- | |- | ||
| | | 685 | ||
| | | 0x2AD | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | | | ||
|- | | | ||
| | |- | ||
| | | 686 | ||
| 0x2AE | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | | | ||
|- | | | ||
| | |- | ||
| | | 687 | ||
| 0x2AF | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | | | ||
|- | | | ||
| | |- | ||
| | | 688 | ||
| 0x2B0 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | | | ||
|- | | | ||
| | |- | ||
| | | 689 | ||
| 0x2B1 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | | | ||
|- | | | ||
| | |- | ||
| | | 690 | ||
| 0x2B2 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | | | ||
|- | | | ||
| | |- | ||
| | | 691 | ||
| 0x2B3 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | | | ||
| | |||
|- | |- | ||
| | | 692 | ||
| | | 0x2B4 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | | | ||
|- | | | ||
| | |- | ||
| | | 693 | ||
| 0x2B5 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | | | ||
|- | | | ||
| | |- | ||
| | | 694 | ||
| 0x2B6 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| "deprecated!" (usbbtaudio) | |||
|- | |||
| 695 | |||
| 0x2B7 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| "deprecated!" (usbbtaudio) | |||
|- | |||
| 696 | |||
| 0x2B8 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| bt audio interface, packetid 0-4 (0= GetSinkConfig) | |||
|- | |||
| 697 | |||
| 0x2B9 | |||
| | | | ||
| | | | ||
| | | | ||
(sys_iosys_infra_test_open) | |||
| | | | ||
|- | |- | ||
| | | 698 | ||
| | | 0x2BA | ||
| | |||
| | | | ||
| | | | ||
(sys_iosys_infra_test_execute) | |||
| | | | ||
|- | |- | ||
| | ! colspan="6" id="sys_bdemu Syscalls"|[[#sys_bdemu Syscalls]] (699) | ||
|- | |- | ||
| | | 699 | ||
| 0x2BB | |||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_bdemu_send_command | |||
| sys_bdemu_send_command(cmd, unused, unk1, result_buffer, result_buffer_len) <br> cmd 0: returns BDemu usb [[DeviceID]]<br> cmd 1: eject image (unk1 and result_buffer must be 0)<br> cmd 2: format bdemu hdd? | |||
|- | |- | ||
| | ! colspan="6" id="sys_net Syscalls"|[[#sys_net Syscalls]] (700-726) | ||
|- | |- | ||
| | | 700 | ||
| | | 0x2BC | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_bnet_accept | |||
| int sys_net_bnet_accept (int s, struct sockaddr *addr, socklen_t *paddrlen ) // s = socket descriptor | |||
|- | |- | ||
| | | 701 | ||
| 0x2BD | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_bnet_bind | |||
| int sys_net_bnet_bind ( int s, const struct sockaddr *addr, socklen_t addrlen ) | |||
|- | |- | ||
| | | 702 | ||
| 0x2BE | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_bnet_connect | |||
| int sys_net_bnet_connect ( int s, const struct sockaddr *addr, socklen_t addrlen ) | |||
|- | |- | ||
| | | 703 | ||
| | | 0x2BF | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_bnet_getpeername | |||
| int sys_net_bnet_getpeername ( int s, struct sockaddr *addr, socklen_t *paddrlen ) | |||
|- | |- | ||
| | | 704 | ||
| | | 0x2C0 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_bnet_getsockname | |||
| int sys_net_bnet_getsockname ( int s, struct sockaddr *addr, socklen_t *paddrlen ) | |||
|- | |- | ||
| | | 705 | ||
| | | 0x2C1 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_bnet_getsockopt | |||
| int sys_net_bnet_getsockopt ( int s, int level, int optname, void *optval, socklen_t *optlen ) | |||
|- | |- | ||
| | | 706 | ||
| | | 0x2C2 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_bnet_listen | |||
| int sys_net_bnet_listen ( int s, int backlog ) | |||
|- | |- | ||
| | | 707 | ||
| 0x2C3 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_bnet_recvfrom | |||
| int sys_net_bnet_recvfrom ( int s, void *buf, size_t len, int flags, struct sockaddr *addr, socklen_t *paddrlen ) | |||
|- | |- | ||
| | | 708 | ||
| | | 0x2C4 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_bnet_recvmsg | |||
| int sys_net_bnet_recvmsg ( int s, struct msghdr *msg, int flags ) | |||
|- | |- | ||
| | | 709 | ||
| 0x2C5 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_bnet_sendmsg | |||
| int sys_net_bnet_sendmsg ( int s, const struct msghdr *msg, int flags ) | |||
|- | |- | ||
| | | 710 | ||
| 0x2C6 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_bnet_sendto | |||
| int sys_net_bnet_sendto ( int s, const void *buf, size_t len, int flags, const struct sockaddr *addr, socklen_t addrlen ) | |||
|- | |- | ||
| | | 711 | ||
| 0x2C7 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_bnet_setsockop | |||
| int sys_net_bnet_setsockop ( int s, int level, int optname, const void *optval, socklen_t optlen ) | |||
|- | |- | ||
| | | 712 | ||
| | | 0x2C8 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_bnet_shutdown | |||
| int sys_net_bnet_shutdown ( int s, int how ) | |||
|- | |- | ||
| | | 713 | ||
| 0x2C9 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_bnet_socket | |||
| int sys_net_bnet_socket ( int family, int type, int protocol ) | |||
|- | |- | ||
| | | 714 | ||
| | | 0x2CA | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_bnet_close | |||
| int sys_net_bnet_close ( int fd ) | |||
|- | |- | ||
| | | 715 | ||
| | | 0x2CB | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_bnet_poll | |||
| | |||
|- | |- | ||
| | | 716 | ||
| 0x2CC | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_bnet_select | |||
| | |||
|- | |- | ||
| | | 717 | ||
| 0x2CD | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_open_dump | |||
| int sys_net_open_dump ( int len, int flags ) | |||
|- | |- | ||
| | | 718 | ||
| | | 0x2CE | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_read_dump | |||
| int sys_net_read_dump ( int id, void *buf, int len, int *pflags ) | |||
|- | |- | ||
| | | 719 | ||
| | | 0x2CF | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_close_dump | |||
| int sys_net_close_dump ( int id, int *pflags ) | |||
|- | |- | ||
| | | 720 | ||
| | | 0x2D0 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_write_dump | |||
| int sys_net_write_dump ( char *buf ) | |||
|- | |- | ||
| | | 721 | ||
| | | 0x2D1 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_abort | |||
| int sys_net_abort (packet id <5: 0=abort socket,1=abort resolver ), sys_net_thread_id_t tid/int socket_descriptor, int flags ) | |||
|- | |- | ||
| | | 722 | ||
| 0x2D2 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_infoctl | |||
| | |||
|- | |- | ||
| | | 723 | ||
| | | 0x2D3 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_control | |||
| | |||
|- | |- | ||
| | | 724 | ||
| | | 0x2D4 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_bnet_ioctl | |||
| | |||
|- | |- | ||
| | | 725 | ||
| | | 0x2D5 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_bnet_sysctl | |||
| | |||
|- | |- | ||
| | | 726 | ||
| | | 0x2D6 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_net_eurus_post_command | |||
| int sys_net_eurus_post_command(uint16_t cmd, uint8_t *cmdbuf, uint64_t cmdbuf_size) [[Hypervisor_Reverse_Engineering#Commands_2 Commands]] <!--///* | |||
* lv2_gelic_eurus_control | |||
*/ | |||
static inline int lv2_gelic_eurus_control(uint16_t cmd, uint8_t *cmdbuf, uint64_t cmdbuf_size) | |||
{ | |||
return Lv2Syscall3(726, cmd, (uint64_t) cmdbuf, cmdbuf_size); | |||
}//--> | |||
|- | |||
! colspan="6" id="lv2Fs Syscalls"|[[#lv2Fs Syscalls]] (801-834) | |||
|- | |||
| 800 | |||
| 0x320 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_test | |||
| int sys_fs_test(packetid < 7 (6 tests) ,0,*deviceid,4,uint8* out[0x420],0x420) | |||
|- | |||
| 801 | |||
| 0x321 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_open | |||
| CellFsErrno sys_fs_open(const char *path, int flags, int *fd, uint64_t mode, const void *arg, uint64_t size); | |||
|- | |||
| 802 | |||
| 0x322 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_read | |||
| CellFsErrno sys_fs_read(int fd, void *buf, uint64_t nbytes, uint64_t *nread); | |||
|- | |||
| 803 | |||
| 0x323 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_write | |||
| CellFsErrno sys_fs_write(int fd, const void *buf, uint64_t nbytes, uint64_t *nwrite); | |||
|- | |||
| 804 | |||
| 0x324 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_close | |||
| CellFsErrno sys_fs_close(int fd); | |||
|- | |||
| 805 | |||
| 0x325 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_opendir | |||
| CellFsErrno sys_fs_opendir(const char *path, int *fd); | |||
|- | |- | ||
| | | 806 | ||
| | | 0x326 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_readdir | |||
| CellFsErrno sys_fs_readdir(int fd, CellFsDirent *dir, uint64_t *nread); | |||
|- | |- | ||
| | | 807 | ||
| | | 0x327 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_closedir | |||
| CellFsErrno sys_fs_closedir(int fd); | |||
|- | |- | ||
| | | 808 | ||
| | | 0x328 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_stat | |||
| CellFsErrno sys_fs_stat(const char *path, CellFsStat *sb); | |||
|- | |- | ||
| | | 809 | ||
| | | 0x329 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_fstat | |||
| CellFsErrno sys_fs_fstat(int fd, CellFsStat *sb); | |||
|- | |- | ||
| | | 810 | ||
| | | 0x32A | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_link | |||
| int sys_fs_link(const char* path_from, const char* path_to) | |||
|- | |- | ||
| | | 811 | ||
| | | 0x32B | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_mkdir | |||
| CellFsErrno sys_fs_mkdir(const char *path, CellFsMode mode); | |||
|- | |- | ||
| | | 812 | ||
| | | 0x32C | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_rename | |||
| CellFsErrno sys_fs_rename(const char *from, const char *to); | |||
|- | |- | ||
| | | 813 | ||
| | | 0x32D | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_rmdir | |||
| CellFsErrno sys_fs_rmdir(const char *path); | |||
|- | |- | ||
| | | 814 | ||
| | | 0x32E | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_unlink | |||
| CellFsErrno sys_fs_unlink(const char *path); | |||
|- | |- | ||
| | | 815 | ||
| | | 0x32F | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_utime | |||
| CellFsErrno sys_fs_utime(const char *path, const CellFsUtimbuf *timep); | |||
|- | |- | ||
| | | 816 | ||
| | | 0x330 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_access | |||
| int sys_fs_access(char cont*, int) | |||
|- | |- | ||
| | | 817 | ||
| | | 0x331 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_fcntl | |||
| int sys_fs_fcntl(int fd, int operation, void* ptr, uint64_t) | |||
'fd' may be set to -1 or other invalid values if the operation is not using it. | |||
'ptr' may be casted to different types depends on the operation or not be used at all. | |||
|- | |- | ||
| | | 818 | ||
| | | 0x332 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_lseek | |||
| CellFsErrno sys_fs_lseek(int fd, int64_t offset, int whence, uint64_t *pos); | |||
|- | |- | ||
| | | 819 | ||
| | | 0x333 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_fdatasync | |||
| int sys_fs_datasync(int) | |||
|- | |- | ||
| | | 820 | ||
| | | 0x334 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_fsync | |||
| CellFsErrno sys_fs_fsync(int fd); | |||
|- | |||
| 821 | |||
| 0x335 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_fget_block_size | |||
| int sys_fs_fget_block_size(int fd, uint64_t* sector_size, uint64_t* block_size, uint64_t* arg4, int* out_flags) | |||
|- | |||
| 822 | |||
| 0x336 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_get_block_size | |||
| int sys_fs_get_block_size(const char* path, uint64_t* block_size, uint64_t* arg4) | |||
|- | |||
| 823 | |||
| 0x337 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_acl_read | |||
| int sys_fs_acl_read(const char* path, CellFsAcl *) | |||
|- | |||
| 824 | |||
| 0x338 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_acl_write | |||
| int sys_fs_acl_read(const char* path, CellFsAcl *) | |||
|- | |||
| 825 | |||
| 0x339 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_lsn_get_cda_size | |||
| int sys_fs_lsn_get_cda_size(int fd, uint64_t*) | |||
|- | |||
| 826 | |||
| 0x33A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_lsn_get_cda | |||
| int sys_fs_lsn_get_cda(int fd, CellFsCda*, uint64_t, uint64_t*) | |||
|- | |||
| 827 | |||
| 0x33B | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_lsn_lock | |||
| int sys_fs_lsn_lock(int fd) | |||
|- | |||
| 828 | |||
| 0x33C | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_lsn_unlock | |||
| int sys_fs_lsn_unlock(int fd) | |||
|- | |||
| 829 | |||
| 0x33D | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_lsn_read | |||
| int sys_fs_lsn_read(int fd, const CellFsCda*, uint64_t size) | |||
|- | |||
| 830 | |||
| 0x33E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_lsn_write | |||
| int sys_fs_lsn_write(int fd, const CellFsCda*, uint64_t size) | |||
|- | |||
| 831 | |||
| 0x33F | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_truncate | |||
| CellFsErrno sys_fs_truncate(const char *path, uint64_t size); | |||
|- | |||
| 832 | |||
| 0x340 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_ftruncate | |||
| CellFsErrno sys_fs_ftruncate(int fd, uint64_t size); | |||
|- | |||
| 833 | |||
| 0x341 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_symbolic_link | |||
| int sys_fs_symbolic_link(const char* target_path, const char* link_path) | |||
|- | |- | ||
| | | 834 | ||
| 0x342 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_chmod | |||
| CellFsErrno sys_fs_chmod(const char *path, CellFsMode mode); | |||
|- | |- | ||
| | | 835 | ||
| 0x343 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_chown | |||
| int sys_fs_chown(const char* path, int uid, int gid) | |||
|- | |- | ||
| | | 836 | ||
| | | 0x344 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_newfs | |||
| int sys_fs_newfs(const char* deviceName, const char*, int, const char**) | |||
|- | |- | ||
| | | 837 | ||
| | | 0x345 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_mount | |||
| int sys_fs_mount(const char* deviceName, const char*, const char*, int, int, int, const char**) <br>Example: 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 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_unmount | |||
| int sys_fs_unmount(const char* device_path, int, int)<br>Parameters: Device Path (e.g. /dev_flash) | |||
|- | |- | ||
| | | 839 | ||
| 0x347 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_sync | |||
| int sys_fs_sync(const char *dir) <!--///* | |||
* lv2_cell_fs_util_sync | |||
*/ | |||
static inline int lv2_cell_fs_util_sync(const char *dir) | |||
{ | |||
return Lv2Syscall1(839, (uint64_t) dir); | |||
}//--> Parameter: Device Path (e.g. /dev_hdd0) | |||
|- | |- | ||
| | | 840 | ||
| | | 0x348 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_disk_free | |||
| int sys_fs_disk_free(const char* path, uint64_t* total_free, uint64_t* avail_free) | |||
|- | |- | ||
| | | 841 | ||
| | | 0x349 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_get_mount_info_size | |||
| int sys_fs_get_mount_info_size(uint64_t* out_length) | |||
'out_length' is set to the number of mounted devices sys_fs_get_mount_info may write at max. | |||
|- | |- | ||
| | | 842 | ||
| | | 0x34A | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_get_mount_info | |||
| int sys_fs_get_mount_info(CellFsMountInformation* info, uint64_t buffer_length, uint64_t* written_length) | |||
'buffer_length' is the number entries 'info' points. | |||
'written_length' is the number of entries written to 'info', lower/equal to 'buffer_length'. | |||
|- | |- | ||
| | | 843 | ||
| | | 0x34B | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_get_fs_info_size | |||
| int sys_fs_get_fs_info_size(uint64_t *) | |||
|- | |- | ||
| | | 844 | ||
| | | 0x34C | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_get_fs_info | |||
| int sys_fs_get_fs_info(uint64_t, uint64_t *, CellFsInfo *) | |||
|- | |- | ||
| | | 845 | ||
| | | 0x34D | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_mapped_allocate | |||
| int sys_fs_mapped_allocate(int, uint64_t, void **) | |||
|- | |- | ||
| | | 846 | ||
| | | 0x34E | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_mapped_free | |||
| int sys_fs_mapped_free(int, void *) | |||
|- | |- | ||
| | | 847 | ||
| | | 0x34F | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_fs_truncate2 | |||
| int sys_fs_ftruncate2(int fd, uint64_t size); | |||
|- | |- | ||
| | ! colspan="6" id="process socket service syscalls"|[[#process socket service syscalls]] (861-864) | ||
|- | |- | ||
| | | 860 | ||
| | | 0x35C | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Authid}} | |||
| syscall_sys_ss_get_cache_of_analog_sunset_flag | |||
| int syscall_sys_ss_get_cache_of_analog_sunset_flag(out:uint8_t[1]) | |||
|- | |- | ||
| | | 861 | ||
| | | 0x35D | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_ss_protected_file_db | |||
| gamesave_storage_manager_if(uint32_t packetid (0-0x13), uint8_t buf[0xB8], const char* path, int32_t len, int32_t unk2, int32_t unk3, 0, 0); | |||
|- | |- | ||
| | | 862 | ||
| 0x35E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_ss_virtual_trm_manager | |||
| [[Virtual_TRM_Manager|vtrm_manager_if (Interface)]] <!--///* | |||
* lv2_ss_vtrm_mgr_if | |||
*/ | |||
static inline int lv2_ss_vtrm_mgr_if(uint32_t packet_id, uint64_t arg1, uint64_t arg2, | |||
uint64_t arg3, uint64_t arg4) | |||
{ | |||
return Lv2Syscall5(862, packet_id, arg1, arg2, arg3, arg4); | |||
} | |||
lv2_ss_vtrm_mgr_if(0x2005=retrieve,uint64_t *outbuff, 0x40,0,0); | |||
//--> | |||
|- | |- | ||
| | | 863 | ||
| 0x35F | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_ss_update_manager | |||
| [[Update_Manager|update_manager_if (Interface)]]<!--///* | |||
* lv2_ss_update_mgr_if | |||
*/ | |||
static inline int lv2_ss_update_mgr_if(uint32_t packet_id, uint64_t arg1, uint64_t arg2, | |||
uint64_t arg3, uint64_t arg4, uint64_t arg5, uint64_t arg6) | |||
{ | |||
return Lv2Syscall7(863, packet_id, arg1, arg2, arg3, arg4, arg5, arg6); | |||
}//--> | |||
|- | |- | ||
| | | 864 | ||
| | | 0x360 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Dbg}} | |||
| sys_ss_sec_hw_framework | |||
| [[Storage_Manager|storage_manager_if (Interface)]] <!--///* | |||
* lv2_ss_stor_mgr_if | |||
*/ | |||
static inline int lv2_ss_stor_mgr_if(uint32_t packet_id, uint64_t arg1) | |||
{ | |||
return Lv2Syscall2(864, packet_id, arg1); | |||
}//--> | |||
|- | |- | ||
| | ! colspan="6" id="sys_ss/sys_get Syscalls"|[[#sys_ss/sys_get Syscalls]] (865-879) | ||
|- | |- | ||
| | | 865 | ||
| | | 0x361 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} {{Authid}} | |||
| sys_ss_random_number_generator | |||
| int sys_ss_random_number_generator(id,buffer,size), alias sys_get_random_number <!--///* | |||
* random_number | |||
*/ | |||
int sys_get_random_number( | |||
void* addr, | |||
uint64_t size | |||
); | |||
//--> | |||
|- | |- | ||
| | | 866 | ||
| | | 0x362 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_ss_secure_rtc | |||
| [[Secure_RTC_Manager|secure_rtc_manager_if (Interface)]] <!--///* | |||
* lv2_ss_secure_rtc_if | |||
*/ | |||
static inline int lv2_ss_secure_rtc_if(uint32_t packet_id, uint64_t arg1, uint64_t arg2, uint64_t arg3) | |||
{ | |||
return Lv2Syscall4(866, packet_id, arg1, arg2, arg3); | |||
}//--> | |||
|- | |- | ||
| | | 867 | ||
| | | 0x363 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_ss_appliance_info_manager | |||
| [[AIM_Manager|aim_manager_if (Interface)]] <!--///* | |||
* lv2_ss_aim_if | |||
*/ | |||
static inline int lv2_ss_aim_if(uint32_t packet_id, uint64_t arg1) | |||
{ | |||
return Lv2Syscall2(867, packet_id, arg1); | |||
}//--> | |||
|- | |- | ||
| | | 868 | ||
| | | 0x364 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} {{Dbg}} {{Authid}} | |||
| sys_ss_individual_info_manager | |||
| [[Indi_Info_Manager|indi_info_manager_if (Interface)]] <!--///* | |||
* lv2_ss_indi_info_mgr_if | |||
*/ | |||
static inline int lv2_ss_indi_info_mgr_if(uint32_t packet_id, uint64_t arg1, uint64_t arg2, | |||
uint64_t arg3, uint64_t arg4) | |||
{ | |||
return Lv2Syscall5(868, packet_id, arg1, arg2, arg3, arg4); | |||
} | |||
Lv2Syscall5(868, 0x17015, outbuff, 0, 0, 0); /* Read cISD Size*/ | |||
//--> | |||
|- | |- | ||
| | | 869 | ||
| | | 0x365 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_ss_factory_data_manager | |||
| [[Factory_Data_Manager|factory_data_manager_if (Interface)]] | |||
|- | |- | ||
| | | 870 | ||
| 0x366 | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | | | ||
| | | sys_ss_get_console_id | ||
| int sys_ss_get_console_id(uint8_t *buf) //returns [[IDPS]] in buf | |||
later firmwares require root flags, QA flag, not allowed on DEX/TOOL | |||
|- | |- | ||
| | | 871 | ||
| | | 0x367 | ||
| | | {{DECR}} {{DEX}} {{CEX}} | ||
| {{dbg}} | |||
| sys_ss_access_control_engine | |||
| 3 params, their types and usage depends on 'pkg_id'. | |||
(pkg_id=1,sys_pid_t,out:uint64_t) | |||
(pkd_id=2,out:uint64_t,0) // returns [[Program Authority ID]] | |||
(pkg_id=3,out:uint64_t,0) | |||
|- | |- | ||
| | | 872 | ||
| | | 0x368 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_ss_get_open_psid | |||
| int sys_ss_get_open_psid(CellSsOpenPSID *ptr) ; typedef struct CellSsOpenPSID { uint64_t high; uint64_t low;} | |||
|- | |- | ||
| | | 873 | ||
| | | 0x369 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_ss_get_cache_of_product_mode | |||
| int sys_ss_get_cache_of_product_mode(uint8_t *ptr [1]); | |||
|- | |- | ||
| | | 874 | ||
| 0x36A | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_ss_get_cache_of_flash_ext_flag | |||
| int sys_ss_get_cache_of_flash_ext_flag(uint8_t *flag [1]) <!--///* | |||
* lv2_ss_get_cache_of_flash_ext_flag | |||
*/ | |||
static inline int lv2_ss_get_cache_of_flash_ext_flag(uint8_t *flag) | |||
{ | |||
return Lv2Syscall1(874, (uint64_t) flag); | |||
}//--> | |||
|- | |- | ||
| | | 875 | ||
| | | 0x36B | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_ss_get_boot_device | |||
| int sys_ss_get_boot_device(uint8_t * buf [8]); | |||
|- | |- | ||
| | | 876 | ||
| | | 0x36C | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_ss_disc_access_control | |||
| 2Params: 0x20000(=get_disc_access_control),uint32_t * disc_access / 0x20001(=set_disc_access_control),1 | |||
|- | |- | ||
| | | 877 | ||
| | | 0x36D | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_ss_~utoken_if | |||
| syscall(877,0x25003=Decrypt or 0x25004 or 0x25005=Encrypt or 0x25006=(copy syscall table to user), uint8_t *token, 0xC50 (size)), [[User_Token_Manager|user_token_manager_if]] | |||
|- | |- | ||
| | | 878 | ||
| | | 0x36E | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_ss_ad_sign | |||
| syscall(878, 0x26001, in_buffer[0x14], out_buffer[0x80]) | |||
|- | |- | ||
| | | 879 | ||
| | | 0x36F | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_ss_media_id | |||
| syscall(879, 0x10001, out_buffer[0x10]) | |||
|- | |- | ||
| | ! colspan="6" id="sys_deci3 Syscalls"|[[#sys_deci3 Syscalls]] (880-884) | ||
|- | |- | ||
| | | 880 | ||
| | | 0x370 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| 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 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| 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 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_deci3_close | |||
| int sys_deci3_close(sys_deci3_session_t session_id); | |||
|- | |- | ||
| | | 883 | ||
| | | 0x373 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_deci3_send | |||
| int sys_deci3_send(sys_deci3_session_t session_id, uint8_t * buf, __CSTD size_t size); | |||
|- | |- | ||
| | | 884 | ||
| | | 0x374 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_deci3_receive | |||
| int sys_deci3_receive(sys_deci3_session_t session_id, uint8_t * buf, __CSTD size_t size); | |||
|- | |- | ||
| | | 885 | ||
| | | 0x375 | ||
| {{DECR}} | |||
| | |||
| sys_deci3_open2 | |||
| | |||
|- | |- | ||
| | | 889 | ||
| | | 0x379 | ||
| {{DECR}} | |||
| {{Root}} | |||
| sys_ | |||
| | |||
|- | |- | ||
| | | 890 | ||
| | | 0x37A | ||
| | |||
| | |||
| sys_deci3_initialize | |||
| | |||
|- | |- | ||
| | | 891 | ||
| | | 0x37B | ||
| | |||
| | |||
| sys_deci3_terminate | |||
| | |||
|- | |- | ||
| | | 892 | ||
| | | 0x37C | ||
| | |||
| | |||
| sys_deci3_debug_mode | |||
| | |||
|- | |- | ||
| | | 893 | ||
| | | 0x37D | ||
| | |||
| | |||
| sys_deci3_show_status | |||
| | |||
|- | |- | ||
| | | 894 | ||
| | | 0x37E | ||
| | |||
| | |||
| sys_deci3_echo_test | |||
| | |||
|- | |- | ||
| | | 895 | ||
| | | 0x37F | ||
| | |||
| | |||
| sys_deci3_send_dcmp_packet | |||
| | |||
|- | |- | ||
| | | 896 | ||
| | | 0x380 | ||
| | | | ||
| | | | ||
| | | sys_deci3_dump_cp_register | ||
| | |||
|- | |- | ||
| | | 897 | ||
| | | 0x381 | ||
| | |||
| | |||
| sys_deci3_dump_cp_buffer | |||
| | |||
|- | |- | ||
| | | 899 | ||
| | | 0x383 | ||
| | |||
| | |||
| sys_deci3_test | |||
| | |||
|- | |- | ||
| | ! colspan="6" id="sys_dbg Syscalls"|[[#sys_dbg Syscalls]] (900-970) | ||
|- | |- | ||
| | | 900 | ||
| | | 0x384 | ||
| | | {{DECR}} {{DEX}} {{CEX}} | ||
| | | | ||
| | | sys_dbg_stop_processes | ||
| | | 2 params: sys_pid_t pid, 1 | ||
|- | |- | ||
| | | 901 | ||
| | | 0x385 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_continue_processes | |||
| | |||
|- | |- | ||
| | | 902 | ||
| | | 0x386 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_dbg_stop_threads | |||
| 2 params: in/out, len | |||
|- | |- | ||
| | | 903 | ||
| | | 0x387 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_dbg_continue_threads | |||
| 2 params: uint64_t *inbuff, int length(0 or ... or 8) | |||
|- | |- | ||
| | | 904 | ||
| | | 0x388 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_read_process_memory | |||
| int sys_dbg_read_process_memory(sys_pid_t pid, uint64_t process_ea, uint32_t size, void* data) | |||
|- | |- | ||
| | | 905 | ||
| | | 0x389 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_write_process_memory | |||
| int sys_dbg_write_process_memory(sys_pid_t pid, uint64_t process_ea, uint32_t size, const void* data) | |||
|- | |- | ||
| | | 906 | ||
| | | 0x38A | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_dbg_read_thread_register | |||
| 3 Params: uint8_t [0x10], uint64_t *, uint8_t[0x10] | |||
|- | |- | ||
| | | 907 | ||
| | | 0x38B | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_write_thread_register | |||
| | |||
|- | |- | ||
| | | 908 | ||
| | | 0x38C | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_get_process_list | |||
| int sys_dbg_get_process_list(sys_pid_t* pids, uint64_t* max, uint64_t* count) | |||
|- | |- | ||
| | | 909 | ||
| | | 0x38D | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_dbg_get_thread_list | |||
| int sys_dbg_get_thread_list( sys_pid_t pid, sys_ppu_thread_t* ids, uint64_t* ids_num, uint64_t* all_ids_num) | |||
|- | |- | ||
| 910 | |||
| 0x38E | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_dbg_get_thread_info | |||
| 2 Params: uint8_t * [0x10] {type,thread id?}, uint8_t [0x80] | |||
1 spu_thread | |||
2 spu_thread_group | |||
0 ppu_thread | |||
|- | |- | ||
| | | 911 | ||
| | | 0x38F | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_dbg_spu_thread_read_from_ls | |||
| 4 Params: spu thread id,, size, uint8_t[size] | |||
|- | |- | ||
| | | 912 | ||
| | | 0x390 | ||
| | | {{DECR}} {{DEX}} | ||
| | |||
| sys_dbg_spu_thread_write_to_ls | |||
| | |||
|- | |- | ||
| | | 913 | ||
| | | 0x391 | ||
|int | | {{DECR}} {{DEX}} | ||
| | |||
| sys_dbg_kill_process | |||
| int sys_dbg_kill_process(sys_pid_t pid) | |||
|- | |- | ||
| | | 914 | ||
| | | 0x392 | ||
|int | | {{DECR}} {{DEX}} {{CEX}} | ||
| | |||
| sys_dbg_get_process_info | |||
| int sys_dbg_get_process_info(sys_pid_t pid, sys_process_info_t* info) | |||
|- | |- | ||
| | | 915 | ||
| | | 0x393 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_set_run_control_bit_to_spu | |||
| | |||
|- | |- | ||
| | | 916 | ||
| | | 0x394 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_spu_thread_get_exception_cause | |||
| | |||
|- | |- | ||
| | | 917 | ||
| | | 0x395 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_create_kernel_event_queue | |||
| | |||
|- | |- | ||
| | | 918 | ||
| | | 0x396 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_read_kernel_event_queue | |||
| | |||
|- | |- | ||
| | | 919 | ||
| | | 0x397 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_destroy_kernel_event_queue | |||
| | |||
|- | |- | ||
| | | 920 | ||
| | | 0x398 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_get_process_event_ctrl_flag | |||
| | |||
|- | |- | ||
| | | 921 | ||
| | | 0x399 | ||
| | | {{DECR}} {{DEX}} | ||
| | |||
| sys_dbg_set_process_event_cntl_flag | |||
| | |||
|- | |- | ||
| | | 922 | ||
| | | 0x39A | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_get_spu_thread_group_event_cntl_flag | |||
| | |||
|- | |- | ||
| | | 923 | ||
| | | 0x39B | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_set_spu_thread_group_event_cntl_flag | |||
| | |||
|- | |- | ||
| | | 924 | ||
| | | 0x39C | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_get_module_list | |||
| | |||
|- | |- | ||
| | | 925 | ||
| | | 0x39D | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_get_raw_spu_list | |||
| | |||
|- | |- | ||
| | | 926 | ||
| | | 0x39E | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_initialize_scratch_executable_area | |||
| | |||
|- | |- | ||
| | | 927 | ||
| | | 0x3A0 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_terminate_scratch_executable_area | |||
| | |||
|- | |- | ||
| | | 928 | ||
| | | 0x3A1 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_initialize_scratch_data_area | |||
| | |||
|- | |- | ||
| | | 929 | ||
| | | 0x3A2 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_terminate_scratch_data_area | |||
| | |||
|- | |- | ||
| | | 930 | ||
| | | 0x3A3 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_get_user_memory_stat | |||
| | |||
|- | |||
| 931 | |||
| 0x3A4 | |||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_get_shared_memory_attribute_list | |||
| | |||
|- | |- | ||
| | | 932 | ||
| | | 0x3A4 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_get_mutex_list | |||
| | |||
|- | |- | ||
| | | 933 | ||
| | | 0x3A5 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_dbg_get_mutex_information | |||
| int sys_dbg_get_mutex_information(sys_pid_t id, sys_mutex_t id, sys_dbg_mutex_information_t* info ) | |||
|- | |- | ||
| | | 934 | ||
| | | 0x3A6 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_get_cond_list | |||
| | |||
|- | |- | ||
| | | 935 | ||
| | | 0x3A7 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_dbg_get_cond_information | |||
| int sys_dbg_get_cond_information ( sys_pid_t id, sys_cond_t id, sys_dbg_cond_information_t* info ) | |||
|- | |- | ||
| | | 936 | ||
| | | 0x3A8 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_get_rwlock_list | |||
| | |||
|- | |- | ||
| | | 937 | ||
| | | 0x3A9 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_dbg_get_rwlock_information | |||
| int sys_dbg_get_rwlock_information ( sys_pid_t id, sys_rwlock_t id, sys_dbg_rwlock_information_t* info ) | |||
|- | |- | ||
| | | 938 | ||
| | | 0x3AA | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_get_lwmutex_list | |||
| | |||
|- | |- | ||
| | | 939 | ||
| | | 0x3AB | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_get_address_from_dabr | |||
| int sys_dbg_get_address_from_dabr ( sys_pid_t id, uint64_t* addr, uint64_t* ctrl_flag ) | |||
|- | |- | ||
| | | 940 | ||
| | | 0x3AC | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_set_address_to_dabr | |||
| int sys_dbg_set_address_to_dabr ( sys_pid_t id, uint64_t addr, uint64_t ctrl_flag ) | |||
|- | |- | ||
| | | 941 | ||
| | | 0x3AD | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_dbg_get_lwmutex_information | |||
| int sys_dbg_get_lwmutex_information ( sys_pid_t id, sys_lwmutex_pseudo_id_t id, sys_dbg_lwmutex_information_t* info ) | |||
|- | |- | ||
| | | 942 | ||
| | | 0x3AE | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_get_event_queue_list | |||
| | |||
|- | |- | ||
| | | 943 | ||
| | | 0x3AF | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_dbg_get_event_queue_information | |||
| int sys_dbg_get_event_queue_information ( sys_pid_t id, sys_event_queue_t id, sys_dbg_event_queue_information_t* info ) | |||
|- | |- | ||
| | | 944 | ||
| | | 0x3B0 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_dbg_initialize_ppu_exception_handler | |||
| int sys_dbg_initialize_ppu_exception_handler( sys_event_queue_t * equeue_id) | |||
|- | |- | ||
| | | 945 | ||
| | | 0x3B1 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Dbg}} | |||
| sys_dbg_finalize_ppu_exception_handler | |||
| int sys_dbg_finalize_ppu_exception_handler ( sys_event_queue_t equeue_id ) | |||
|- | |- | ||
| | | 946 | ||
| | | 0x3B2 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_get_semaphore_list | |||
| | |||
|- | |- | ||
| | | 947 | ||
| | | 0x3B3 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_dbg_get_semaphore_information | |||
| int sys_dbg_get_semaphore_information (sys_pid_t id, sys_semaphore_t id, sys_dbg_semaphore_information_t* info ) | |||
|- | |- | ||
| | | 948 | ||
| | | 0x3B4 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_get_kernel_thread_list | |||
| | |||
|- | |- | ||
| | | 949 | ||
| | | 0x3B5 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_get_kernel_thread_info | |||
| | |||
|- | |- | ||
| | | 950 | ||
| | | 0x3B6 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_get_lwcond_list | |||
| | |||
|- | |- | ||
| | | 951 | ||
| | | 0x3B7 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_dbg_get_lwcond_information | |||
| int sys_dbg_get_lwcond_information (sys_pid_t id, sys_lwcond_pseudo_id_t id, sys_dbg_lwcond_information_t* info ) | |||
|- | |- | ||
| | | 952 | ||
| | | 0x3B8 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_create_scratch_data_area_ext | |||
| | |||
|- | |- | ||
| | | 953 | ||
| | | 0x3B9 | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_vm_get_page_information | |||
| int sys_dbg_vm_get_page_information (sys_pid_t id, sys_addr_t addr, uint32_t num, sys_vm_page_information_t *pageinfo ) | |||
|- | |- | ||
| | | 954 | ||
| | | 0x3BA | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_vm_get_info | |||
| | |||
|- | |- | ||
| | | 955 | ||
| | | 0x3BB | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_enable_floating_point_enabled_exception | |||
| int sys_dbg_enable_floating_point_enabled_exception ( sys_ppu_thread_t id ) | |||
|- | |- | ||
| | | 956 | ||
| | | 0x3BC | ||
| | | {{DECR}} {{DEX}} | ||
| | |||
| sys_dbg_disable_floating_point_enabled_exception | |||
| int sys_dbg_disable_floating_point_enabled_exception ( sys_ppu_thread_t id ) | |||
|- | |- | ||
| | | 957 | ||
| | | 0x3BD | ||
| | | {{DECR}} {{DEX}} {{CEX}} | ||
| | |||
| sys_dbg_get_process_memory_container_information | |||
| (u32 proc_id, dbg_mc_info *mc_info[count], u32 *count) | |||
|- | |- | ||
| | | 959 | ||
| 0x3BF | |||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | | | ||
| | | sys_dbg_(send event flags?) | ||
| 4 Params: id, uint64_t,uint64_t,uint64_t | |||
|- | |- | ||
| | | 960 | ||
| | | 0x3C0 | ||
| {{DECR}} | |||
| | |||
| sys_control_performance_monitor | |||
| int sys_control_performance_monitor? (int id, 0 / *out ) - Controls Performance Monitor on the Cell Broadband Engine syscall | |||
|- | |- | ||
| | | 961 | ||
| | | 0x3C1 | ||
| {{DECR}} | |||
| | |||
| sys_performance_monitor_hidden | |||
| | |||
|- | |- | ||
| | | 962 | ||
| | | 0x3C2 | ||
| | | {{DECR}} | ||
| | |||
| sys_performance_monitor_bookmark | |||
| | |||
|- | |- | ||
| | | 963 | ||
| | | 0x3C3 | ||
| {{DECR}} | |||
| | |||
| sys_lv1_pc_trace_create | |||
| | |||
|- | |- | ||
| | | 964 | ||
| | | 0x3C4 | ||
| {{DECR}} | |||
| | |||
| sys_lv1_pc_trace_start | |||
| | |||
|- | |- | ||
| | | 965 | ||
| | | 0x3C5 | ||
| {{DECR}} | |||
| | |||
| sys_lv1_pc_trace_stop | |||
| | |||
|- | |- | ||
| | | 966 | ||
| | | 0x3C6 | ||
| {{DECR}} | |||
| | |||
| sys_lv1_pc_trace_get_status | |||
| | |||
|- | |- | ||
| | | 967 | ||
| | | 0x3C7 | ||
| {{DECR}} | |||
| | |||
| sys_lv1_pc_trace_destroy | |||
| | |||
|- | |- | ||
| | | 968 | ||
| | | 0x3C8 | ||
| {{DECR}} | |||
| | |||
| sys_rsx_trace_ioctl | |||
| | |||
|- | |- | ||
| | | 969 | ||
| | | 0x3C9 | ||
| {{DECR}} | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | 970 | ||
| | | 0x3CA | ||
| {{DECR}} {{DEX}} | |||
| | |||
| sys_dbg_get_event_flag_list | |||
| | |||
|- | |- | ||
| | | 971 | ||
| | | 0x3CB | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_dbg_get_event_flag_information | |||
| int sys_dbg_get_event_flag_information ( sys_pid_t id, sys_event_flag_t id, sys_dbg_event_flag_information_t* info ) | |||
|- | |- | ||
| | | 972 | ||
| | | 0x3CC | ||
| | | {{DECR}} {{DEX}} {{CEX}} | ||
| | | | ||
| | | sys_dbg_(send event flags?) | ||
| | | 1 Param: uint8_t [0x48] | ||
|- | |- | ||
| | | 973 | ||
| | | 0x3CD | ||
| {{DECR}} {{DEX}} | |||
| | |||
| | |||
| | |||
|- | |- | ||
| | | 974 | ||
| | | 0x3CE | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| sc(0x3CE, in:(ppu)thread_id, out:uint8_t[0x440]) | |||
|- | |- | ||
| | | 975 | ||
| | | 0x3CF | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_dbg_read_spu_thread_context2 | |||
| int sys_dbg_read_spu_thread_context2( sys_spu_thread_t id, sys_dbg_spu_thread_context2_t* spu_context ) | |||
|- | |- | ||
| | | 976 | ||
| | | 0x3D0 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_crypto_engine_create | |||
| int sys_crypto_engine_create(sys_pid_t* id); | |||
|- | |- | ||
| | | 977 | ||
| | | 0x3D1 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_crypto_engine_destroy | |||
| int sys_crypto_engine_destroy(sys_pid_t id); | |||
|- | |- | ||
| | | 978 | ||
| | | 0x3D2 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_crypto_engine_hasher_prepare | |||
| int sys_crypto_engine_hasher_prepare(sys_pid_t id, int32_t hash_key_index); /* uses HMAC-SHA1 with key size of 0x14 bytes, keys are generated by VTRM (master) */ | |||
|- | |- | ||
| | | 979 | ||
| | | 0x3D3 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_crypto_engine_hasher_run | |||
| int sys_crypto_engine_hasher_run(sys_pid_t id, const void* data, uint32_t data size); /* splits data by chunks of 0x400 bytes max */ | |||
|- | |- | ||
| | | 980 | ||
| | | 0x3D4 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_crypto_engine_hasher_get_hash | |||
| int sys_crypto_engine_hasher_get_hash(sys_pid_t id, void* buffer, uint32_t max_buffer_size /* >= 0x14 */); | |||
|- | |- | ||
| | | 981 | ||
| | | 0x3D5 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_crypto_engine_cipher_prepare | |||
| int sys_crypto_engine_cipher_prepare(sys_pid_t id, int32_t hash_key_index, int32_t mode /* 1:encrypt, 2:decrypt */, int32_t cipher_key_index, const void* iv, uint32_t iv_size); /* uses AES-CBC-128, keys are generated by VTRM (master) */ | |||
|- | |- | ||
| | | 982 | ||
| | | 0x3D6 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_crypto_engine_cipher_run | |||
| int sys_crypto_engine_cipher_run(sys_pid_t id, const void* input, void* output, uint32_t data_size); /* splits data by chunks of 0x400 bytes max */ | |||
|- | |- | ||
| | | 983 | ||
| | | 0x3D7 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_crypto_engine_cipher_get_hash | |||
| int sys_crypto_engine_cipher_get_hash(sys_pid_t id, void* buffer, uint32_t max_buffer_size /* >= 0x14 */); | |||
|- | |- | ||
| | | 984 | ||
| | | 0x3D8 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| sys_crypto_engine_random_generate | |||
| int sys_crypto_engine_random_generate(void* buffer, uint32_t max_buffer_size /* >= 0x10 */); | |||
|- | |- | ||
| | | 985 | ||
| | | 0x3D9 | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| sys_dbg_get_console_type? | |||
| returns Console Type, syscall(985,uint64_t * type) | |||
1=CEX | |||
2=DEX | |||
3=TOOL | |||
|- | |- | ||
| | | 986 | ||
| | | 0x3DA | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} {{Dbg}} | |||
| | |||
| seems to return Game Application Title ID , syscall(986,out:uint8[0x40]) | |||
|- | |- | ||
| | | 987 | ||
| | | 0x3DB | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| {{Root}} | |||
| | |||
| syscall(987,0 or 1, uint64_t data), example: 0, 0x8000100000020000 (no root flags required) <br> example: 1, uint64_t data (requires root flags AND QA-Enabled, sends data to vsh process) | |||
|- | |- | ||
| | | 988 | ||
| | | 0x3DC | ||
| {{CEX}} | |||
| | |||
| sys_dbg_(something)_ppu_exception_handler | |||
| 2 Params: syscall(988,int i,0) , i <0x10 (1 or 2 or 4 or 8 or 0x10) | |||
|- | |- | ||
| | | 989 | ||
| | | 0x3DD | ||
| {{DECR}} {{DEX}} {{CEX}} | |||
| | |||
| | |||
| 2 Params: syscall(989, (spu) thread_id ,out:uint8[0x20]) | |||
|- | |- | ||
|} | |} | ||
=== | ==== _sys_process_get_paramsfo ==== | ||
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | |||
00000000 01 < -------Title ID------- > 00 00 00 00 00 00 �BLES80608...... | |||
00000010 < ---ExtraLoadFlag--- > < load HUDRSX libProf > ................ | |||
00000020 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ................ | |||
00000030 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ................ | |||
@0x18 can load libgpad.sprx from app_home | |||
=====ExtraLoadFlag===== | |||
{| class="wikitable" | {| class="wikitable" | ||
!Name | !Name | ||
! | !Value | ||
|- | |||
|EnableAccForRemotePlay | |||
|0x20L | |||
|- | |||
|EnableCoreDump | |||
|0x10L | |||
|- | |||
|EnableGCMDebug | |||
|0x04L | |||
|- | |||
|EnableHUDRSXTools | |||
|0x40L | |||
|- | |||
|EnableLv2ExceptionHandler | |||
|0x01L | |||
|- | |||
|EnableMAT | |||
|0x80L | |||
|- | |||
|EnableMiscSettings | |||
|0x8000000000000000L | |||
|- | |||
|EnableRemotePlay | |||
|0x02L | |||
|- | |||
|GameAttributeCustomMessage | |||
|0x200L | |||
|- | |||
|GameAttributeInviteMessage | |||
|0x100L | |||
|- | |||
|LoadingPatch | |||
|0x1000L | |||
|- | |||
|LoadLibprofSPRXAutomatically | |||
|0x08L | |||
|- | |- | ||
|} | |||
| | ==== Boot Parameter ==== | ||
{| class="wikitable" | |||
!Name | |||
!Value | |||
|- | |- | ||
|Default | |||
| | |0x00L | ||
| | |- | ||
|- | |ReleaseMode | ||
| | |0x01L | ||
| | |- | ||
|- | |MemSizeConsole | ||
| | |0x02L | ||
| | |- | ||
|- | |BluRayEmuOff | ||
| | |0x04L | ||
| | |- | ||
|- | |HDDSpeedBluRayEmu | ||
| | |0x08L | ||
| | |- | ||
|- | |DebugMode | ||
| | |0x10L | ||
| | |- | ||
|- | |SystemMode | ||
| | |0x11L | ||
| | |- | ||
|- | |BluRayEmuUSB | ||
| | |0x20L | ||
| | |- | ||
|- | |HostFSTarget | ||
| | |0x40L | ||
| | |- | ||
|- | |DualNIC | ||
| | |0x80L | ||
| | |||
|- | |- | ||
|} | |} | ||
=== Network Syscalls === | |||
Networking uses [[LV2_Functions_and_Syscalls#sys_net_Syscalls|syscalls 700-726]] | |||
=== File Syscalls === | === File Syscalls === | ||
=== OFLAGS === | ==== OFLAGS ==== | ||
{| class="wikitable" | {| class="wikitable" | ||
!Name | !Name | ||
!Value | !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 === | ==== Classes ==== | ||
{| class="wikitable" | {| class="wikitable" | ||
!Name | !Name | ||
Line 1,432: | Line 6,127: | ||
!Packed | !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; | |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 | |yes | ||
|- | |- | ||
| | |cellFsUtimbuf | ||
|u64 access_time; u64 modify_time; | |u64 access_time; u64 modify_time; | ||
|no | |no | ||
|- | |- | ||
| | |cellFsDirent | ||
|u8 d_type; u8 d_namlen; char d_name[256]; | |u8 d_type; u8 d_namlen; char d_name[256]; | ||
|no | |||
|- | |||
|sys_spu_thread_group_cooperative_info_t | |||
|u32 deadlineMeetCounter; u32 deadlineMissCounter; u64 timestamp; u8 unknown[48]; | |||
|no | |no | ||
|- | |- | ||
|} | |} | ||
==== FNCTL ==== | |||
{| class="wikitable" | {| class="wikitable" | ||
! | !IOCTL ID | ||
!Notes | !Notes | ||
|- | |- | ||
| | |0x80000000 | ||
| | | | ||
| | |- | ||
|- | |0x80000004 | ||
| | |(SetCharacterSet?) | ||
| | |- | ||
| | |0x80000005 | ||
|- | |(FsAllocateFileAreaByFd) | ||
| | |- | ||
| | |0x80000006 | ||
| | |(FsAllocateFileAreaByFd) | ||
|- | |- | ||
| | |0x80000007 | ||
| | |(FsAllocateFileAreaByFd) | ||
| | |- | ||
|- | |0x80000008 | ||
| | |(FsAllocateFileAreaByFd) | ||
| | |- | ||
| | |0x80000009 | ||
|- | |(SdataOpenByFd) | ||
| | |- | ||
| | |0x8000000A | ||
| | |(ReadWithOffset) | ||
|- | |- | ||
| | |0x8000000B | ||
| | |(WriteWithOffset) | ||
| | |- | ||
|- | |0xC0000001 | ||
| | |() | ||
| | |- | ||
|- | |0xC0000002 | ||
| | |(GetFreeSize) | ||
| | |- | ||
|- | |0xC0000003 | ||
| | |(SetFakeSize) | ||
| | |- | ||
|- | |0xC0000004 | ||
| | |(GetFakeSize) | ||
| | |- | ||
| | |0xC0000005 | ||
|- | |(GetSystemMergin) | ||
| | |- | ||
| | |0xC0000006 | ||
|- | |() | ||
| | |- | ||
| | |0xC0000007 | ||
|- | |(get hdd serial) | ||
| | |- | ||
| | |0xC0000008 | ||
|- | |(FsSetIoBuffer) | ||
| | |- | ||
| | |0xC0000009 | ||
|- | |() | ||
|- | |||
| | |0xC000000A | ||
| | |() | ||
|- | |- | ||
|0xC000000B | |||
| | |() | ||
| | |- | ||
|- | |0xC000000C | ||
| | |() | ||
| | |- | ||
|- | |0xC000000D | ||
| | |() | ||
| | |- | ||
|- | |0xC000000E | ||
| | |() | ||
| | |- | ||
|- | |0xC000000F | ||
|() | |||
|- | |||
|0xC0000010 | |||
|() | |||
|- | |||
|0xC0000011 | |||
|() | |||
|- | |||
|0xC0000012 | |||
|() | |||
|- | |||
|0xC0000013 | |||
|() | |||
|- | |||
|0xC0000014 | |||
|() | |||
|- | |||
|0xC0000015 | |||
|(get_usb_mass_serial_number?) | |||
|- | |||
|0xC0000016 | |||
|(ChangePs2discLayer) | |||
|- | |||
|0xC0000017 | |||
|(open_dummy_files) | |||
|- | |||
|0xC0000018 | |||
|(close_dummy_cfs_files) | |||
|- | |||
|0xC0000019 | |||
|() | |||
|- | |||
|0xC000001A | |||
|(SetDiscReadRetrySetting) | |||
|- | |||
|0xC000001B | |||
|() | |||
|- | |||
|0xC000001C | |||
|(get_usb_mass_serial_number?) | |||
|- | |||
|0xC000001D | |||
|(set_psp_emu_title_id_path) | |||
|- | |||
|0xC000001E | |||
|(memset title id path) | |||
|- | |||
|0xC000001F | |||
|(process_request_set_redirected_full_path) | |||
|- | |||
|0xC0000020 | |||
|() | |||
|- | |||
|0xE0000000 | |||
|() | |||
|- | |||
|0xE0000001 | |||
|() | |||
|- | |||
|0xE0000003 | |||
|() | |||
|- | |||
|0xE0000004 | |||
|() | |||
|- | |||
|0xE0000005 | |||
|(FsMkdir) | |||
|- | |||
|0xE0000006 | |||
|() | |||
|- | |||
|0xE0000007 | |||
|(FsRmDir) | |||
|- | |||
|0xE0000008 | |||
|(FsAclRead) | |||
|- | |||
|0xE0000009 | |||
|(FsAccess) | |||
|- | |||
|0xE000000A | |||
|() | |||
|- | |||
|0xE000000B | |||
|() | |||
|- | |||
|0xE000000C | |||
|(FsTruncate) | |||
|- | |||
|0xE000000D | |||
|(FsUtime?) | |||
|- | |||
|0xE000000E | |||
|(FsAclWrite) | |||
|- | |||
|0xE000000F | |||
|(Chmod?) | |||
|- | |||
|0xE0000010 | |||
|(FsChown) | |||
|- | |||
|0xE0000011 | |||
|(error 0x80010037) | |||
|- | |||
|0xE0000012 | |||
|(FsGetDirectoryEntries) | |||
|- | |||
|0xE0000013 | |||
|() | |||
|- | |||
|0xE0000014 | |||
|(FsSymbolicLink) | |||
|- | |||
|0xE0000015 | |||
|(abort?) | |||
|- | |||
|0xE0000016 | |||
|(FsAllocateFileAreaWithInitialData) | |||
|- | |||
|0xE0000017 | |||
|(FsAllocateFileAreaWithoutZeroFill) | |||
|- | |||
|0xE0000018 | |||
|(FsChangeFileSizeWithoutAllocation) | |||
|- | |||
|0xE000001A | |||
|() | |||
|- | |||
|0xE000001D | |||
|() | |||
|- | |||
|0xE000001E | |||
|() | |||
|- | |||
|0xE000001F | |||
|() | |||
|- | |||
|0xE0000020 | |||
|() | |||
|- | |||
|0xE0000024 | |||
|() | |||
|- | |||
|0xE0000025 | |||
|(FsSdataOpenWithVersion) | |||
|- | |||
|} | |} | ||
==== Filesystem Syscalls ==== | |||
Filesystem uses [[LV2_Functions_and_Syscalls#lv2Fs_Syscalls syscalls 700-726]] | |||
=== Unofficial Syscalls added === | === Unofficial Syscalls added === | ||
See also : [http://tortuga-cove.com/forums/viewtopic.php?t=89#p155 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) were created. | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 1,531: | Line 6,381: | ||
!Notes | !Notes | ||
|- | |- | ||
|6 | | 6 | ||
| | | lv2_peek - PL3-DEV, PSGroove v1.1, Payloader3 / (4.2x peek) | ||
|r3 is a 64 bit address to read. A 64 bit value will be returned in r3 | | r3 is a 64 bit address to read. A 64 bit value will be returned in r3 | ||
|- | |- | ||
|7 | | 7 | ||
| | | lv2_poke - PL3-DEV, PSGroove v1.1, Payloader3 / (4.2x poke) | ||
|r4 is a 64 bit value. r3 is the address to write that value to. | | r4 is a 64 bit value. r3 is the address to write that value to. | ||
|- | |- | ||
|8 | | 8 | ||
| | | lv2_lv1_peek - graf_chokolo / (4.3x peek) / | ||
|r3 is a 64 bit address to read. A 64 bit value will be returned in r3 | | r3 is a 64 bit address to read. A 64 bit value will be returned in r3 | ||
|- | |- | ||
|8 | | 8 | ||
|Peek - ps3cobra | | Peek - ps3cobra | ||
|r3 is a 64 bit address to read. A 64 bit value will be returned in r3 | | r3 is a 64 bit address to read. A 64 bit value will be returned in r3 | ||
| write - system_call_6(8, 0x7777, 0x32, (uint64_t)sys_process_getpid(), (uint64_t)ea, (uint64_t)data, (uint64_t)size); Read - system_call_6(8, 0x7777, 0x31, (uint64_t)sys_process_getpid(), (uint64_t)ea, (uint64_t)data, (uint64_t)size); | |||
|- | |- | ||
|9 | | 8 | ||
| | | Remapper - Hermes4 | ||
|r4 is a 64 bit value. r3 is the address to write that value to. | | redirections of any paths, including /dev_usb for AVCHD HDD | ||
|- | |||
| 9 | |||
| lv2_lv1_poke - graf_chokolo / (4.3x poke) | |||
| 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 | |||
|- | |||
| 10 | |||
| lv2_lv1_call - rebug | |||
| r10 is the lv1 syscall number. The registers r3 - r9 are arguments. | |||
|- | |||
| 11 | |||
| lv2_lv1_poke - jfw 'bad idea' | |||
| r4 is a 64 bit value. r3 is the address to write that value to. | |||
|- | |||
| 11 | |||
| for sc_ctrl - 'Starsucks MFW 4.75 V1.00' | |||
| int sc_ctrl(int sc_num, int mode, uint64_t addr) | |||
<!--// | |||
to disable syscall(e.g 7) | |||
sc_ctrl(7, 0, 0); | |||
to redirect a syscall(e.g 7) | |||
sc_ctrl(7, 1, 0x8000000000001798ULL); | |||
last paramater should just redirect to tail address to your syscall | |||
//--> | |||
|- | |||
| 15 | |||
| lv2_func_call - habib | |||
| r10 is the address to the lv2 function. The registers r3 - r9 are arguments. | |||
|- | |||
| 35 | |||
| Remapper - PL3, PSGroove, PSFreedom | |||
| syscall_35 (char *old_path, char *new_path); | |||
|- | |||
| 36 | |||
| Remapper - Hermes, PSJailbreak / (4.2x BD-Emulator) | |||
| hardcoded /dev_bdvd & /app_home remapping | |||
|- | |||
| 38 | |||
| New sk1e / Hermes payload | |||
| Syscall 8 in Iris Manager, changed to syscall 38 in IRISMAN | |||
|- | |||
| 200 | |||
| Run_Payload - Payloader3 | |||
| | |||
|- | |||
| 201 | |||
| Alloc - Payloader3 | |||
| | |||
|- | |||
| 200 | |||
| sys_dbg_read_process_memory - [[CCAPI]] | |||
| | |||
|- | |||
| 201 | |||
| sys_dbg_write_process_memory - [[CCAPI]] | |||
| | |||
|- | |||
| 202 | |||
| Free - Payloader3 | |||
| | |||
|- | |||
| 203 | |||
| lv2_peek - [[CCAPI]] | |||
| false info look ccapi section | |||
|- | |||
| 204 | |||
| lv2_poke - [[CCAPI]] | |||
| false info look ccapi section | |||
|- | |||
| 1022 | |||
| load_prx_module - PRXLoader | |||
| system_call_6(PRX_SYSCALL, PRX_SYSCALL_LOAD, process_obj, slot, path, arg, arg_size); | |||
|- | |- | ||
|} | |} | ||
'''Note:''' LV1: Peek and Poke support uses unused LV1 call 182 and 183 | |||
---- | |||
'''See also:''' | |||
*[http://psl1ght.net/wiki/Syscalls psl1ght::Syscalls] | |||
*Tutorial How to call a Syscall By deroad: http://www.ps3hax.net/2012/02/tutorial-how-to-call-a-syscall-by-deroad/ | |||
{{Development}}<noinclude>[[Category:Main]]</noinclude> |
Latest revision as of 08:00, 20 September 2024
Structures[edit | edit source]
struct sys_process_info_t __attribute__ ((packed)) {
process_id_t pid;
uint32_t status;
uint32_t ppu_thread_count;
uint32_t spu_thread_count;
uint32_t raw_spu_count;
process_id_t parent_pid;
char* image_file_name;
uint32_t memory_size;
uint8_t osabi_type;
uint8_t pad[3];
uint64_t interrupt_bitmap_mask;
uint32_t dbg_trace_id;
};
struct sys_prx_load_module_option_t {
uint64_t size; /* sizeof(this) */
};
struct sys_prx_dbg_get_module_list_t {
uint64_t size; /* sizeof(this) *//* 8 */
uint32_t unk0;
uint32_t max;
sys_prx_user_p_prx_id_t idlist;
uint32_t count;
sys_prx_user_p_stop_level_t levellist;
uint32_t unk1;
} sys_prx_dbg_get_module_list_t;
struct sys_prx_start_t {
uint64_t flag; // flag ?
uint64_t mode; // mode ?
uint64_t entry; //either first arg of pe_func or casted to sys_prx_entry_t (see sys/prx.h)
int64_t modres;
uint64_t pe_func; //casted to sys_prx_entry_pe_t (see sys/prx.h)
};
struct np_drm_info_t {
uint32_t magic;
uint32_t version;
uint32_t drm_type;
uint32_t type;
uint8_t content_id[0x30];
struct CellRtcTick validity_start;
struct CellRtcTick validity_end;
struct CellRtcTick current_tick;
struct CellRtcTick current_secure_tick;
};
Functions[edit | edit source]
string.h[edit | edit source]
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[edit | edit source]
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[edit | edit source]
Function | Notes | Offset in 4.46 | 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. | 0x62F78 | 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[edit | edit source]
FW version | Alloc | Free | Syscall Table |
Mem_base | TOC | Copy to User |
Notes |
---|---|---|---|---|---|---|---|
4.82 Retail | 0x363BE0 | 0x34FBB0 | |||||
4.81 Retail | 0x363BE0 | 0x34FBB0 | |||||
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.50 DEX | 0x3384A8 | 0x392850 | |||||
1.00 DEX | 0x3206e0 |
Syscalls[edit | edit source]
LV2 Syscalls[edit | edit source]
Dec | Hex | fw_type | needed_flags | Name | Notes |
---|---|---|---|---|---|
#sys_process Syscalls (1-31) | |||||
1 | 0x001 | DECR DEX CEX | sys_process_getpid | sys_pid_t sys_process_getpid(void); | |
2 | 0x002 | DECR DEX CEX | root | sys_process_wait_for_child | 3 params: sys_pid_t, uint32_t *status, unk=0 |
3 | 0x003 | DECR DEX CEX | sys_process_exit | int sys_process_exit(int) | |
4 | 0x004 | DECR DEX CEX | dbg | sys_process_get_status | int sys_process_get_status(sys_pid_t pid) |
5 | 0x005 | DECR DEX CEX | dbg | sys_process_detach_child | 1 param |
6 | 0x006 | (sys_process_create_program_segment) | |||
7 | 0x007 | (sys_process_destroy_program_segment) | |||
8 | 0x008 | (sys_process_authenticate_program_segment) | |||
9 | 0x009 | (sys_process_load_program_segment) | |||
10 | 0x00A | (sys_process_unload_program_segment) | |||
11 | 0x00B | (sys_process_find_program_segment) | |||
12 | 0x00C | DECR DEX CEX | sys_process_get_number_of_object | int sys_process_get_number_of_object(uint32_t object_type, uint32_t* count); | |
13 | 0x00D | DECR DEX CEX | sys_process_get_id | int sys_process_get_id(uint32_t object, uint32_t * buff, size_t size, size_t * set_size); | |
14 | 0x00E | DECR DEX CEX | sys_process_is_spu_lock_line_reservation_address | int sys_process_is_spu_lock_line_reservation_address(sys_addr_t addr, uint64_t flags); | |
15 | 0x00F | (sys_process_create) | |||
17 | 0x011 | (sys_process_create_primary_ppu_thread) | |||
18 | 0x012 | DECR DEX CEX | sys_process_getppid | sys_pid_t sys_process_getppid(void); | |
19 | 0x013 | DECR DEX CEX | sys_process_kill | int sys_process_kill(sys_pid_t pid); | |
20 | 0x014 | (sys_process_create_primary_ppu_thread_tls) | |||
21 | 0x015 | DECR DEX CEX | dbg | _sys_process_spawn | int sys_process_spawn(int *pid, int prio, uint64_t flags, void *stack, int stack_size, int unk1, int unk2) |
22 | 0x016 | DECR DEX CEX | sys_process_exit2 | void sys_process_exit2(int error_code,0,0) | |
23 | 0x017 | DECR DEX CEX | dbg | sys_process_wait_for_child2 | 6 params |
24 | 0x018 | DECR DEX CEX | dbg | 8 params, spawns a self | |
25 | 0x019 | DECR DEX CEX | root | sys_process_get_sdk_version | int sys_process_get_sdk_version(sys_pid_t pid, uint32_t* sdk_version)
Only needs root permission if 'pid' is not the current process. |
26 | 0x01A | DECR DEX CEX | _sys_process_exit as well | 4 params (calls sys_process_exit) | |
27 | 0x01B | DECR DEX CEX | dbg | 8 params, spawns a self | |
28 | 0x01C | DECR DEX CEX | root | _sys_process_get_number_of_object as well kinda | int sys_process_get_number_of_object(uint32_t object) |
29 | 0x01D | DECR DEX CEX | root | sys_process_get_id as well | same as syscall13 just with root flag check, same input etc. |
30 | 0x01E | DECR DEX CEX | _sys_process_get_paramsfo | int _sys_process_get_paramsfo(uint8_t buffer[0x40]); (more info: #sys_process_get_paramsfo) | |
31 | 0x01F | DECR DEX CEX | sys_process_get_ppu_guid | sys_addr_t sys_process_get_ppu_guid(void); | |
#sys_ppu_thread Syscalls (40-58) | |||||
41 | 0x029 | DECR DEX CEX | sys_ppu_thread_exit | int sys_ppu_thread_exit(int errorcode) | |
42 | 0x02A | (sys_ppu_thread_get_id) | |||
43 | 0x02B | DECR DEX CEX | sys_ppu_thread_yield | void sys_ppu_thread_yield(void); | |
44 | 0x02C | DECR DEX CEX | sys_ppu_thread_join | int sys_ppu_thread_join(sys_ppu_thread_t thread_id, uint64_t * vptr); | |
45 | 0x02D | DECR DEX CEX | sys_ppu_thread_detach | int sys_ppu_thread_detach(sys_ppu_thread_t thread_id); | |
46 | 0x02E | DECR DEX CEX | sys_ppu_thread_get_join_state | void sys_ppu_thread_get_join_state(int *isjoinable); | |
47 | 0x02F | DECR DEX CEX | dbg | sys_ppu_thread_set_priority | int sys_ppu_thread_set_priority(sys_ppu_thread_t thread_id, int prio); Flags are checked when 3071 > prio < 3199 |
48 | 0x030 | DECR DEX CEX | sys_ppu_thread_get_priority | int sys_ppu_thread_get_priority(sys_ppu_thread_t thread_id, int *prio); | |
49 | 0x031 | DECR DEX CEX | sys_ppu_thread_get_stack_information | int sys_ppu_thread_get_stack_information(sys_ppu_thread_stack_t * info); | |
50 | 0x032 | DECR DEX CEX | root | sys_ppu_thread_stop | int sys_ppu_thread_stop(sys_ppu_thread_t thread_id); |
51 | 0x033 | DECR DEX CEX | root | sys_ppu_thread_restart | int sys_ppu_thread_restart(void); |
52 | 0x034 | DECR DEX CEX | dbg | sys_ppu_thread_create | int sys_ppu_thread_create(sys_ppu_thread_t *thread_id, & void (*entry)(uint64_t), uint64_t arg, 0, int prio, size_t stacksize, uint64_t flags, const char *threadname); |
53 | 0x035 | DECR DEX CEX | sys_ppu_thread_start | int sys_ppu_thread_start(sys_ppu_thread_t thread_id); | |
54 | 0x036 | DECR DEX CEX | root | syscall(0x036, 0x109/0x111, out: uint8[4]), pu_thread get (kernel) allocation information | |
55 | 0x037 | DECR DEX CEX | root | syscall(0x037, 0x111, 0> int <0x100), pu_thread set (kernel) allocation? information | |
56 | 0x038 | DECR DEX CEX | sys_ppu_thread_rename | int sys_ppu_thread_rename(sys_ppu_thread_t thread_id, const char *name); | |
57 | 0x039 | DECR DEX CEX | sys_ppu_thread_recover_page_fault | int sys_ppu_thread_recover_page_fault(sys_ppu_thread_t thread_id); | |
58 | 0x03A | DECR DEX CEX | 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 (60-69+77) | |||||
60 | 0x03C | DECR DEX | sys_trace_create | ||
61 | 0x03D | DECR DEX | sys_trace_start | ||
62 | 0x03E | DECR DEX | sys_trace_stop | ||
63 | 0x03F | DECR DEX | sys_trace_update_top_index | ||
64 | 0x040 | DECR DEX | sys_trace_destroy | ||
65 | 0x041 | DECR DEX | sys_trace_drain | ||
66 | 0x042 | DECR DEX | sys_trace_attach_process | ||
67 | 0x043 | DECR DEX | sys_trace_allocate_buffer | ||
68 | 0x044 | DECR DEX | sys_trace_free_buffer | ||
69 | 0x045 | DECR DEX | sys_trace_create2 | ||
#sys_timer Syscalls (70-76+141+142) | |||||
70 | 0x046 | DECR DEX CEX | sys_timer_create | int sys_timer_create(sys_timer_t * timer_id); | |
71 | 0x047 | DECR DEX CEX | sys_timer_destroy | int sys_timer_destroy(sys_timer_t timer_id); | |
72 | 0x048 | DECR DEX CEX | sys_timer_get_information | int sys_timer_get_information(sys_timer_t timer_id, sys_timer_information_t * info); | |
73 | 0x049 | DECR DEX CEX | sys_timer_start | int sys_timer_start(sys_timer_t timer_id, system_time_t base_time, usecond_t period); | |
74 | 0x04A | DECR DEX CEX | sys_timer_stop | int sys_timer_stop(sys_timer_t timer_id); | |
75 | 0x04B | DECR DEX CEX | 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 | DECR DEX CEX | sys_timer_disconnect_event_queue | int sys_timer_disconnect_event_queue(sys_timer_t timer_id); | |
#sys_trace Syscalls (60-69+77) | |||||
77 | 0x04D | DECR DEX | sys_trace_create2_in_cbepm | ||
78 | 0x04E | DECR | sys_trace_ | ||
#sys_interrupt Syscalls (80+81+84+88+89) | |||||
80 | 0x050 | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | sys_event_flag_destroy | int sys_event_flag_destroy(sys_event_flag_t id); | |
#sys_interrupt Syscalls (80+81+84+88+89) | |||||
84 | 0x054 | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | sys_interrupt_thread_eoi | void sys_interrupt_thread_eoi(void); | |
89 | 0x059 | DECR DEX CEX | sys_interrupt_thread_disestablish | int sys_interrupt_thread_disestablish(sys_interrupt_thread_handle_t ih); | |
#sys_semaphore Syscalls (90-94+114) | |||||
90 | 0x05A | DECR DEX CEX | 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 | DECR DEX CEX | sys_semaphore_destroy | int sys_semaphore_destroy(sys_semaphore_t sem); | |
92 | 0x05C | DECR DEX CEX | sys_semaphore_wait | int sys_semaphore_wait(sys_semaphore_t sem, usecond_t timeout); | |
93 | 0x05D | DECR DEX CEX | sys_semaphore_trywait | int sys_semaphore_trywait(sys_semaphore_t sem); | |
94 | 0x05E | DECR DEX CEX | sys_semaphore_post | int sys_semaphore_post(sys_semaphore_t sem, sys_semaphore_value_t val); | |
#sys_lwmutex Syscalls (95-99) | |||||
95 | 0x05F | DECR DEX CEX | _sys_lwmutex_create | int _sys_lwmutex_create(sys_lwmutex_pseudo_id_t* lwmutex, sys_protocol_t protocol, sys_lwmutex_t *control, int has_name, uint64_t name) | |
96 | 0x060 | DECR DEX CEX | _sys_lwmutex_destroy | int _sys_lwmutex_destroy(sys_lwmutex_pseudo_id_t lwmutex) | |
97 | 0x061 | DECR DEX CEX | _sys_lwmutex_lock | int _sys_lwmutex_lock(sys_lwmutex_pseudo_id_t lwmutex, usecond_t timeout) | |
98 | 0x062 | DECR DEX CEX | _sys_lwmutex_unlock | int _sys_lwmutex_unlock(sys_lwmutex_pseudo_id_t lwmutex) | |
99 | 0x063 | DECR DEX CEX | _sys_lwmutex_trylock | int _sys_lwmutex_trylock(sys_lwmutex_pseudo_id_t lwmutex) | |
#sys_mutex Syscalls (100-104) | |||||
100 | 0x064 | DECR DEX CEX | sys_mutex_create | int sys_mutex_create(sys_mutex_t * mutex_id, sys_mutex_attribute_t * attr); | |
101 | 0x065 | DECR DEX CEX | sys_mutex_destroy | int sys_mutex_destroy(sys_mutex_t mutex_id); | |
102 | 0x066 | DECR DEX CEX | sys_mutex_lock | int sys_mutex_lock(sys_mutex_t mutex_id, usecond_t timeout); | |
103 | 0x067 | DECR DEX CEX | sys_mutex_trylock | int sys_mutex_trylock(sys_mutex_t mutex_id); | |
104 | 0x068 | DECR DEX CEX | sys_mutex_unlock | int sys_mutex_unlock(sys_mutex_t mutex_id); | |
#sys_cond Syscalls (105-110) | |||||
105 | 0x069 | DECR DEX CEX | sys_cond_create | int sys_cond_create(sys_cond_t * cond_id, sys_mutex_t mutex_id, sys_cond_attribute_t * attr); | |
106 | 0x06A | DECR DEX CEX | sys_cond_destroy | int sys_cond_destroy(sys_cond_t cond_id); | |
107 | 0x06B | DECR DEX CEX | sys_cond_wait | int sys_cond_wait(sys_cond_t cond_id, usecond_t timeout); | |
108 | 0x06C | DECR DEX CEX | sys_cond_signal | int sys_cond_signal(sys_cond_t cond_id); | |
109 | 0x06D | DECR DEX CEX | sys_cond_signal_all | int sys_cond_signal_all(sys_cond_t cond_id); | |
110 | 0x06E | DECR DEX CEX | 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 | DECR DEX CEX | _sys_lwcond_create | int _sys_lwcond_create(sys_lwcond_pseudo_id_t *lwcond, sys_lwmutex_pseudo_id_t lwmutex, sys_lwcond_t *control, uint64_t name) | |
112 | 0x070 | DECR DEX CEX | _sys_lwcond_destroy | int _sys_lwcond_destroy(sys_lwcond_pseudo_id_t lwcond) | |
113 | 0x071 | DECR DEX CEX | _sys_lwcond_queue_wait | int _sys_lwcond_queue_wait(sys_lwcond_pseudo_id_t lwcond, sys_lwmutex_pseudo_id_t lwmutex, usecond_t timeout) | |
#sys_semaphore Syscalls (90-94+114) | |||||
114 | 0x072 | DECR DEX CEX | sys_semaphore_get_value | int sys_semaphore_get_value(sys_semaphore_t sem, sys_semaphore_value_t * val); | |
115 | 0x073 | DECR DEX CEX | _sys_lwcond_signal | int _sys_lwcond_signal(sys_lwcond_pseudo_id_t lwcond, sys_lwmutex_pseudo_id_t lwmutex, sys_ppu_thread_t ppu_thread_id, uint32_t mode) | |
116 | 0x074 | DECR DEX CEX | _sys_lwcond_signal_all | int _sys_lwcond_signal_all(sys_lwcond_pseudo_id_t lwcond, sys_lwmutex_pseudo_id_t lwmutex, uint32_t mode) | |
117 | 0x075 | DECR DEX CEX | _sys_lwmutex_unlock2 | int _sys_lwmutex_unlock2(sys_lwmutex_pseudo_id_t lwmutex)
Sets a different "unlocked" flag than _sys_lwmutex_unlock. | |
#sys_event Syscalls (82+83+85-87+118+128-140) | |||||
118 | 0x076 | DECR DEX CEX | sys_event_flag_clear | int sys_event_flag_clear(sys_event_flag_t id, uint64_t bitptn); | |
119 | 0x077 | DECR DEX CEX | root | sys_time_get_rtc | int syscall(119, uint64_t *real_time_clock); Gets ps3 real time clock value, hvsc232 |
#sys_rwlock Syscalls (120-127+148) | |||||
120 | 0x078 | DECR DEX CEX | sys_rwlock_create | int sys_rwlock_create(sys_rwlock_t * rw_lock_id, sys_rwlock_attribute_t * attr); | |
121 | 0x079 | DECR DEX CEX | sys_rwlock_destroy | int sys_rwlock_destroy(sys_rwlock_t rw_lock_id); | |
122 | 0x07A | DECR DEX CEX | sys_rwlock_rlock | int sys_rwlock_rlock(sys_rwlock_t rw_lock_id, usecond_t timeout); | |
123 | 0x07B | DECR DEX CEX | sys_rwlock_tryrlock | int sys_rwlock_tryrlock(sys_rwlock_t rw_lock_id); | |
124 | 0x07C | DECR DEX CEX | sys_rwlock_runlock | int sys_rwlock_runlock(sys_rwlock_t rw_lock_id); | |
125 | 0x07D | DECR DEX CEX | sys_rwlock_wlock | int sys_rwlock_wlock(sys_rwlock_t rw_lock_id, usecond_t timeout); | |
126 | 0x07E | DECR DEX CEX | sys_rwlock_trywlock | int sys_rwlock_trywlock(sys_rwlock_t rw_lock_id); | |
127 | 0x07F | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | sys_event_queue_destroy | int sys_event_queue_destroy(sys_event_queue_t equeue_id, int mode); | |
130 | 0x082 | DECR DEX CEX | sys_event_queue_receive | int sys_event_queue_receive(sys_event_queue_t equeue_id, sys_event_t * event, usecond_t timeout); | |
131 | 0x083 | DECR DEX CEX | 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 | DECR DEX CEX | sys_event_flag_cancel | int sys_event_flag_cancel(sys_event_flag_t id, int *num); | |
133 | 0x085 | DECR DEX CEX | sys_event_queue_drain | int sys_event_queue_drain(sys_event_queue_t equeue_id); | |
134 | 0x086 | DECR DEX CEX | sys_event_port_create | int sys_event_port_create(sys_event_port_t * eport_id, int port_type, uint64_t name); | |
135 | 0x087 | DECR DEX CEX | sys_event_port_destroy | int sys_event_port_destroy(sys_event_port_t eport_id); | |
136 | 0x088 | DECR DEX CEX | 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 | DECR DEX CEX | sys_event_port_disconnect | int sys_event_port_disconnect(sys_event_port_t event_port_id); | |
138 | 0x08A | DECR DEX CEX | 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 | DECR DEX CEX | sys_event_flag_get | int sys_event_flag_get(sys_event_flag_t id, uint64_t * bitptn); | |
140 | 0x08C | DECR DEX CEX | sys_event_port_connect_ipc | int sys_event_port_connect_ipc(sys_event_port_t eport_id, sys_ipc_key_t event_queue_key); | |
#sys_timer Syscalls (70-76+141+142) | |||||
141 | 0x08D | DECR DEX CEX | sys_timer_usleep | int sys_timer_usleep(usecond_t sleep_time); | |
142 | 0x08E | DECR DEX CEX | sys_timer_sleep | int sys_timer_sleep(second_t sleep_time); | |
#sys_time Syscalls (143-147) | |||||
143 | 0x08F | DECR DEX CEX | root | sys_time_set_timezone | int sys_time_set_timezone(int timezone, int summertime) |
144 | 0x090 | DECR DEX CEX | sys_time_get_timezone | int sys_time_get_timezone(int *timezone, int *summertime) | |
145 | 0x091 | DECR DEX CEX | sys_time_get_current_time | int sys_time_get_current_time(sys_time_sec_t * sec, sys_time_nsec_t * nsec); | |
146 | 0x092 | DECR DEX CEX | root | sys_time_set_current_time | int sys_time_set_current_time(uint64_t sec, uint64_t nsec); |
147 | 0x093 | DECR DEX CEX | sys_time_get_timebase_frequency | uint64_t sys_time_get_timebase_frequency(void); | |
#sys_rwlock Syscalls (120-127+148) | |||||
148 | 0x094 | DECR DEX CEX | sys_rwlock_trywlock | int sys_rwlock_trywlock(sys_rwlock_t rw_lock_id); | |
#sys_spu/sys_raw_spu Syscalls (150-260) | |||||
150 | 0x096 | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | 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) | |
155 | 0x09B | DECR DEX CEX | sys_spu_image_get_information | int sys_spu_image_get_information(sys_spu_image_t *img, int *entry_point, int *nsegs) | |
156 | 0x09C | DECR DEX CEX | sys_spu_image_open | int sys_spu_image_open(sys_spu_image_t *img, const char *path) | |
157 | 0x09D | DECR DEX CEX | sys_spu_image_import | int sys_spu_image_import(sys_spu_image_t *img, const void *src, uint32_t type) | |
158 | 0x09E | DECR DEX CEX | sys_spu_image_close | int sys_spu_image_close(sys_spu_image_t *img); | |
159 | 0x09F | DECR DEX CEX | sys_spu_image_get_segments | int sys_spu_image_get_segments(sys_spu_image_t *img, sys_spu_segment_t* segments, int size)
Used by sys_raw_spu_load liblv2 function. | |
160 | 0x0A0 | DECR DEX CEX | sys_raw_spu_create | int sys_raw_spu_create(sys_raw_spu_t *id, sys_raw_spu_attribute_t *attr) | |
161 | 0x0A1 | DECR DEX CEX | sys_raw_spu_destroy | int sys_raw_spu_destroy(sys_raw_spu_t id) | |
163 | 0x0A3 | DECR DEX CEX | sys_raw_spu_read_puint_mb | int sys_raw_spu_read_puint_mb(sys_raw_spu_t id, uint32_t *value) | |
165 | 0x0A5 | DECR DEX CEX | sys_spu_thread_get_exit_status | int sys_spu_thread_get_exit_status(sys_spu_thread_t id, int *status) | |
166 | 0x0A6 | DECR DEX CEX | sys_spu_thread_set_argument | int sys_spu_thread_set_argument(sys_spu_thread_t id, sys_spu_thread_argument_t *arg) | |
167 | 0x0A7 | DECR DEX CEX | sys_spu_thread_group_start_on_exit | ||
169 | 0x0A9 | DECR DEX CEX | sys_spu_initialize | int sys_spu_initialize(uint32_t max_usable_spu, uint32_t max_raw_spu) | |
170 | 0x0AA | DECR DEX CEX | sys_spu_thread_group_create | int sys_spu_thread_group_create(sys_spu_thread_group_t *id, uint32_t num, int prio, sys_spu_thread_group_attribute_t *attr) | |
171 | 0x0AB | DECR DEX CEX | sys_spu_thread_group_destroy | int sys_spu_thread_group_destroy(sys_spu_thread_group_t id) | |
172 | 0x0AC | DECR DEX CEX | sys_spu_thread_initialize | int sys_spu_thread_initialize(sys_spu_thread_t *thread, sys_spu_thread_group_t group, uint32_t spu_num, sys_spu_image_t *img, sys_spu_thread_attribute_t *attr, sys_spu_thread_argument_t *arg) | |
173 | 0x0AD | DECR DEX CEX | sys_spu_thread_group_start | int sys_spu_thread_group_start(sys_spu_thread_group_t id) | |
174 | 0x0AE | DECR DEX CEX | sys_spu_thread_group_suspend | int sys_spu_thread_group_suspend(sys_spu_thread_group_t id) | |
175 | 0x0AF | DECR DEX CEX | sys_spu_thread_group_resume | int sys_spu_thread_group_resume(sys_spu_thread_group_t id) | |
176 | 0x0B0 | DECR DEX CEX | sys_spu_thread_group_yield | int sys_spu_thread_group_yield(sys_spu_thread_group_t id) | |
177 | 0x0B1 | DECR DEX CEX | sys_spu_thread_group_terminate | int sys_spu_thread_group_terminate(sys_spu_thread_group_t id, int value) | |
178 | 0x0B2 | DECR DEX CEX | sys_spu_thread_group_join | int sys_spu_thread_group_join(sys_spu_thread_group_t gid, int *cause, int *status) | |
179 | 0x0B3 | DECR DEX CEX | sys_spu_thread_group_set_priority | int sys_spu_thread_group_set_priority(sys_spu_thread_group_t id, int priority) | |
180 | 0x0B4 | DECR DEX CEX | sys_spu_thread_group_get_priority | int sys_spu_thread_group_get_priority(sys_spu_thread_group_t id, int *priority) | |
181 | 0x0B5 | DECR DEX CEX | 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 | DECR DEX CEX | 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) | |
183 | 0x0B7 | (sys_spu_thread_enqueue_dma) | |||
184 | 0x0B8 | DECR DEX CEX | sys_spu_thread_write_snr | int sys_spu_thread_write_snr(sys_spu_thread_t id, int number, uint32_t value) | |
185 | 0x0B9 | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | sys_spu_thread_set_spu_cfg | int sys_spu_thread_set_spu_cfg(sys_spu_thread_t id, uint64_t value) | |
188 | 0x0BC | DECR DEX CEX | sys_spu_thread_get_spu_cfg | int sys_spu_thread_get_spu_cfg(sys_spu_thread_t id, uint64_t *value) | |
189 | 0x0BD | (sys_spu_thread_read_pu_mb) | |||
190 | 0x0BE | DECR DEX CEX | sys_spu_thread_write_spu_mb | int sys_spu_thread_write_spu_mb(sys_spu_thread_t id, uint32_t value); | |
191 | 0x0BF | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | sys_spu_thread_unbind_queue | int sys_spu_thread_unbind_queue(sys_spu_thread_t id, uint32_t spuq_num) | |
196 | 0x0C4 | DECR DEX CEX | sys_raw_spu_set_spu_cfg | int sys_raw_spu_set_spu_cfg(sys_raw_spu_t id, uint32_t value) | |
197 | 0x0C5 | DECR DEX CEX | sys_raw_spu_get_spu_cfg | int sys_raw_spu_get_spu_cfg(sys_raw_spu_t id, uint32_t *value) | |
198 | 0x0C6 | DECR DEX CEX | sys_spu_thread_recover_page_fault | int sys_spu_thread_recover_page_fault(sys_spu_thread_t id) | |
199 | 0x0C7 | DECR DEX CEX | sys_raw_spu_recover_page_fault | int sys_raw_spu_recover_page_fault(sys_raw_spu_t id) | |
200 | 0x0C8 | (console_putc) | |||
201 | 0x0C9 | (console_getc) | |||
202 | 0x0CA | (event_create_port) | |||
203 | 0x0CB | (event_send_locally) | |||
209 | 0x0D1 | (sys_pseudo_fs_read) | |||
210 | 0x0D2 | (sys_pseudo_fs_write) | |||
211 | 0x0D3 | (sys_pseudo_fs_append) | |||
212 | 0x0D4 | (start_debug) | |||
213 | 0x0D5 | (console_write) | |||
214 | 0x0D6 | (sys_pseudo_fs_get_file_size) | |||
215 | 0x0D7 | DECR DEX | sys_dbg_mat_set_condition
(logical_console_open) |
int sys_dbg_mat_set_condition(sys_addr_t,int) | |
216 | 0x0D8 | DECR DEX | sys_dbg_mat_get_condition
(logical_console_close) |
int sys_dbg_mat_get_condition(sys_addr_t,int*) | |
217 | 0x0D9 | DECR | dbg | (logical_console_getc) | |
218 | 0x0DA | DECR | dbg | (logical_console_putc) | |
219 | 0x0DB | DECR | dbg | (logical_console_flush) | |
226 | 0x0E2 | (get_logical_partition_id) | |||
230 | 0x0E6 | DECR DEX CEX | root | sys_isolated_spu_create | int sys_isolated_spu_create(sys_raw_spu_t *id, uint8_t *source_spe, in?: args?,0,0,0) |
231 | 0x0E7 | DECR DEX CEX | root | sys_isolated_spu_destroy | int sys_isolated_spu_destroy(sys_raw_spu_t id) |
232 | 0x0E8 | DECR DEX CEX | root | sys_isolated_spu_start | int sys_isolated_spu_start(sys_raw_spu_t id) |
233 | 0x0E9 | DECR DEX CEX | root | sys_isolated_spu_create_interrupt_tag | int sys_isolated_spu_create_interrupt_tag(sys_raw_spu_t id, uint32_t class_id, uint32_t hwthread, sys_interrupt_tag_t *intrtag) |
234 | 0x0EA | DECR DEX CEX | root | sys_isolated_spu_set_int_mask | int sys_isolated_spu_set_int_mask(sys_raw_spu_t id, uint32_t class_id, uint64_t mask) |
235 | 0x0EB | DECR DEX CEX | root | sys_isolated_spu_get_int_mask | int sys_isolated_spu_get_int_mask(sys_raw_spu_t id, uint32_t class_id, uint64_t *mask) |
236 | 0x0EC | DECR DEX CEX | root | sys_isolated_spu_set_int_stat | int sys_isolated_spu_set_int_stat(sys_raw_spu_t id, uint32_t class_id, uint64_t stat) |
237 | 0x0ED | DECR DEX CEX | root | sys_isolated_spu_get_int_stat | int sys_isolated_spu_get_int_stat(sys_raw_spu_t id, uint32_t class_id, uint64_t * stat) |
238 | 0x0EE | DECR DEX CEX | root | sys_isolated_spu_set_spu_cfg | int sys_isolated_spu_set_spu_cfg(sys_spu_thread_t id, uint64_t value) |
239 | 0x0EF | DECR DEX CEX | root | sys_isolated_spu_get_spu_cfg | int sys_isolated_spu_get_spu_cfg(sys_spu_thread_t id, uint64_t * value) |
240 | 0x0F0 | DECR DEX CEX | root | sys_isolated_spu_read_puint_mb | int sys_isolated_spu_read_puint_mb(sys_raw_spu_t id, uint32_t * value) |
244 | 0x0F4 | DECR DEX CEX | root | sys_spu_thread_group_system_set_next_group | int sys_spu_thread_group_system_set_next_group(void) |
245 | 0x0F5 | DECR DEX CEX | root | sys_spu_thread_group_system_unset_next_group | int sys_spu_thread_group_system_unset_next_group(void) |
246 | 0x0F6 | DECR DEX CEX | root | sys_spu_thread_group_system_set_switch_group | int sys_spu_thread_group_system_set_switch_group(void) |
247 | 0x0F7 | DECR DEX CEX | root | sys_spu_thread_group_system_unset_switch_group | int sys_spu_thread_group_system_unset_switch_group(void) |
248 | 0x0F8 | DECR DEX CEX | root | sys_spu_thread_group.... | 5 Params: sys_spu_thread_group_t group,..... |
249 | 0x0F9 | DECR DEX CEX | root | sys_spu_thread_group.... | int sc249(sys_spu_thread_group_t group) |
250 | 0x0FA | DECR DEX CEX | sys_spu_thread_group_set_cooperative_victims | int sys_spu_thread_group_set_cooperative_victims(sys_spu_thread_group_t group, u32 threads_mask)
Only allowed for COOPERATE_WITH_SYSTEM spu thread group types. | |
251 | 0x0FB | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | sys_spu_thread_group_get_cooperative_information | int sys_spu_thread_group_get_cooperative_information(sys_spu_thread_group_t id, sys_spu_thread_group_cooperative_info_t* info)
Only allowed for COOPERATE_WITH_SYSTEM spu thread group types. | |
254 | 0x0FE | DECR DEX CEX | sys_spu_thread_group_log | int sys_spu_thread_group_log(int command, int *stat) | |
260 | 0x104 | DECR DEX CEX | sys_spu_image_open_by_fd | int sys_spu_image_open_by_fd(sys_spu_image_t *img, int fd, off64_t offset) | |
295 | (sys_pseudo_fs_truncate) | ||||
296 | (sys_pseudo_fs_get_dents) | ||||
#sys_vm/sys_memory/sys_mmapper Syscalls (300-352) | |||||
300 | 0x12C | DECR DEX CEX | 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 | DECR DEX CEX | sys_vm_unmap | int sys_vm_unmap(sys_addr_t addr); | |
302 | 0x12E | DECR DEX CEX | sys_vm_append_memory | int sys_vm_append_memory(sys_addr_t addr, size_t size); | |
303 | 0x12F | DECR DEX CEX | sys_vm_return_memory | int sys_vm_return_memory(sys_addr_t addr, size_t size); | |
304 | 0x130 | DECR DEX CEX | sys_vm_lock | int sys_vm_lock(sys_addr_t addr, size_t size); | |
305 | 0x131 | DECR DEX CEX | sys_vm_unlock | int sys_vm_unlock(sys_addr_t addr, size_t size); | |
306 | 0x132 | DECR DEX CEX | sys_vm_touch | int sys_vm_touch(sys_addr_t addr, size_t size); | |
307 | 0x133 | DECR DEX CEX | sys_vm_flush | int sys_vm_flush(sys_addr_t addr, size_t size); | |
308 | 0x134 | DECR DEX CEX | sys_vm_invalidate | int sys_vm_invalidate(sys_addr_t addr, size_t size); | |
309 | 0x135 | DECR DEX CEX | sys_vm_store | int sys_vm_store(sys_addr_t addr, size_t size); | |
310 | 0x136 | DECR DEX CEX | sys_vm_sync | int sys_vm_sync(sys_addr_t addr, size_t size); | |
311 | 0x137 | DECR DEX CEX | sys_vm_test | int sys_vm_test(sys_addr_t addr, size_t size, uint64_t * result); | |
312 | 0x138 | DECR DEX CEX | sys_vm_get_statistics | int sys_vm_get_statistics(sys_addr_t addr, sys_vm_statistics_t * stat); | |
313 | 0x139 | DECR DEX CEX | diff sys_vm_memory_map | same Params (size_t vsize, size_t psize, sys_memory_container_t container, uint64_t flag, uint64_t policy, sys_addr_t * addr); apperently maps different vm memory area | |
314 | 0x13A | DECR DEX CEX | 2 Params | ||
315 | 0x13B | DECR DEX CEX | 1 Param | ||
324 | 0x144 | DECR DEX CEX | dbg | sys_memory_container_create | int sys_memory_container_create(sys_memory_container_t * cid, size_t yield_size); |
325 | 0x145 | DECR DEX CEX | dbg | sys_memory_container_destroy | int sys_memory_container_destroy(sys_memory_container_t cid); |
326 | 0x146 | DECR DEX CEX | sys_mmapper_allocate_fixed_address | int sys_mmapper_allocate_fixed_address(void); | |
327 | 0x147 | DECR DEX CEX | 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 | DECR DEX CEX | sys_mmapper_allocate_shared_memory_from_container_ext | int sys_mmapper_allocate_shared_memory_from_container_ext(uint64_t shmem_key, uint32_t size, uint64_t pageSizeFlags, sys_memory_container_t memory_container_id, void *entries, uint32_t entry_count, sys_memory_t *mem_id) | |
329 | 0x149 | DECR DEX CEX | sys_mmapper_free_shared_memory | int sys_mmapper_free_shared_memory(sys_addr_t start_addr); | |
330 | 0x14A | DECR DEX CEX | 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 | DECR DEX CEX | sys_mmapper_free_address | int sys_mmapper_free_address(sys_addr_t start_addr); | |
332 | 0x14C | DECR DEX CEX | sys_mmapper_allocate_shared_memory | int sys_mmapper_allocate_shared_memory(u64 shmem_key, size_t size, size_t alignment, sys_memory_t* mem_id) | |
333 | 0x14D | DECR DEX CEX | sys_mmapper_set_shared_memory_flag | int sys_mmapper_set_shared_memory_flag(sys_addr_t, flags) ?; | |
334 | 0x14E | DECR DEX CEX | sys_mmapper_map_shared_memory | int sys_mmapper_map_shared_memory(sys_addr_t start_addr, sys_memory_t mem_id, uint64_t flags) | |
335 | 0x14F | DECR DEX CEX | sys_mmapper_unmap_shared_memory | int sys_mmapper_unmap_shared_memory(sys_addr_t start_addr,sys_memory_t *mem_id) | |
336 | 0x150 | DECR DEX CEX | sys_mmapper_change_address_access_right | int sys_mmapper_change_address_access_right(sys_addr_t start_addr, uint64_t flags); | |
337 | 0x151 | DECR DEX CEX | 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 | DECR DEX CEX | sys_mmapper_get_shared_memory_attribute | 2 Params: | |
339 | 0x153 | DECR DEX CEX | sys_mmapper_allocate_shared_memory_ext | int sys_mmapper_allocate_shared_memory_ext(uint64_t shmem_key, uint32_t size, uint64_t pageSizeFlags, void *entries, uint32_t entry_count, sys_memory_t *mem_id) | |
340 | 0x154 | DECR DEX CEX | 2 Params | ||
341 | 0x155 | DECR DEX CEX | _sys_memory_container_create | int _sys_memory_container_create(sys_memory_container_t * cid, size_t yield_size); | |
342 | 0x156 | DECR DEX CEX | sys_memory_container_destroy | int sys_memory_container_destroy(sys_memory_container_t cid); | |
343 | 0x157 | DECR DEX CEX | 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 | DECR DEX CEX | 3 Params, a variation of sys_memory_container_destroy (sys_memory_container_t cid, int, &out) | ||
346 | 0x15A | DECR DEX CEX | |||
347 | 0x15B | (sys_mmapper_map_mmio_area) | |||
348 | 0x15C | DECR DEX CEX | sys_memory_allocate | int sys_memory_allocate(size_t size, uint64_t flags, sys_addr_t * alloc_addr); | |
349 | 0x15D | DECR DEX CEX | sys_memory_free | int sys_memory_free(sys_addr_t start_addr); | |
350 | 0x15E | DECR DEX CEX | 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 | DECR DEX CEX | sys_memory_get_page_attribute | int sys_memory_get_page_attribute(sys_addr_t addr, sys_page_attr_t * attr); | |
352 | 0x160 | DECR DEX CEX | sys_memory_get_user_memory_size | int sys_memory_get_user_memory_size(sys_memory_info_t * mem_info); | |
353 | 0x161 | DECR DEX CEX | sys_memory_get_user_memory_stat | int sys_memory_get_user_memory_stat(out:uint8[0x1C]) | |
354 | 0x162 | DECR DEX CEX | root | 3 Params | |
355 | 0x163 | DECR DEX CEX | root | 2 Param: uint32_t *, uint32_t * (set 0, reset memory stats?) | |
356 | 0x164 | DECR DEX CEX | sys_memory_allocate_colored | 4 Params | |
357 | 0x165 | DECR DEX CEX | 2 Params | ||
358 | 0x166 | DECR DEX CEX | 5 Params | ||
359 | 0x167 | DECR DEX CEX | (sys_mmapper_unmap_mmio_area) | 2 Params | |
360 | 0x168 | DECR DEX CEX | 7 Params | ||
361 | 0x169 | DECR DEX CEX | sys_memory_allocate_from_container_colored | 5 Params | |
362 | 0x16A | DECR DEX CEX | 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 | DECR DEX CEX | 6 Params | ||
364 | 0x16C | DECR | |||
#sys_uart Syscalls (367-370) | |||||
367 | 0x16F | DECR DEX CEX | root | sys_uart_initialize | syscall(367, void) |
368 | 0x170 | DECR DEX CEX | root | sys_uart_receive | sys_uart_receive(out: uint8_t buffer[SizeToReceive], int SizeToReceive (0x400/0x800), 0/1) |
369 | 0x171 | DECR DEX CEX | root | sys_uart_send | sys_uart_send(const void *buf, uint64_t size, uint64_t flags) |
370 | 0x172 | DECR DEX CEX | root | sys_uart_get_params | int sys_uart_get_params(out:buffer[0x10]) |
#sys_game Syscalls (372-376+410-412) | |||||
372 | 0x174 | DECR DEX CEX | sys_game_watchdog_start | 1 param: int time(r) | |
373 | 0x175 | DECR DEX CEX | sys_game_watchdog_stop | int sys_game_watchdog_stop(void) | |
374 | 0x176 | DECR DEX CEX | sys_game_watchdog_clear | int sys_game_watchdog_clear(void) | |
375 | 0x177 | DECR DEX CEX | root | sys_game_set_system_sw_version | int sys_game_set_system_sw_version(uint64_t version) |
376 | 0x178 | DECR DEX CEX | root | sys_game_get_system_sw_version | int sys_game_get_system_sw_version(void) |
#sys_sm/sys_ctrl Syscalls (378-396) | |||||
377 | 0x179 | DECR DEX CEX | root | sys_sm_set_shop_mode | int sys_sm_set_shop_mode(int mode (0/1)) ( HV System Manager access - ServiceID 39 (SET_SHOP_DEMO_MODE)) |
378 | 0x17A | DECR DEX CEX | root | sys_sm_get_ext_event2 | 4 Param, sc378(uint64_t * v1,uint64_t * v2, uint64_t * v3, 0=receive buffer/1=get queuing events), v1==7 -> yesHOT |
379 | 0x17B | DECR DEX CEX | root | sys_sm_shutdown | int sys_sm_shutdown(uint16_t op, const void * lpar_parameter, uint64_t parameter_size )
0x1100/0x100 = turn off, 0x1200 = Lv2 Hard Reboot, 0x200 = Lv2 Soft Reboot, 0x8201 = load lpar id 1 0x8202 = load lpar id 2 0x8204 = load lpar id 3 (PS2_NETEMU) HV System Manager access - ServiceID 1 (REQUEST)+ 10 (DELIVER INTER LPAR PARAMETER) |
380 | 0x17C | DECR DEX CEX | dbg | sys_sm_get_params | alias sys_get_system_parameter, 4 Params: uint64_t * unknown1, uint64_t * unknown2, uint64_t * unknown3, uint64_t * bootparam? (more info: #Boot_Parameter) |
381 | 0x17D | DECR DEX CEX | root | sys_sm_get_inter_lpar_parameter | 2Params: syscall(381,uint8_t lpar_parameter[param_size], int param_size (0x600)); |
382 | 0x17E | DECR DEX CEX | root | sys_sm_initialize | int syscall(382, void); - prevents ps3 lpar shutdown ? |
383 | 0x17F | DECR DEX CEX | root | sys_game_get_temperature | int sys_game_get_temperature(uint8_t tzone, uint32_t *temperature) ( HV System Manager access - ServiceID 13 (TEMPERATURE))
2nd Byte conversion: r.shift (second_byte * 0x64 ) by 8 tzone = 0x00 = CELL 0x01 = RSX 0x14 = SB (tested only on COK-00x, but according to https://www.psdevwiki.com/ps3/Thermal#Temperature_Monitors sensor is available and connected up to DIA-001) other = Untested, but likely unavailable on retail models. |
384 | 0x180 | DECR DEX CEX | root | sys_sm_get_tzpb | 1 Param: syscall(384,uint64_t *tzpb); (uint8_t [0x20]) Get Thermal Zone (Presence/Broadcast?) HV System Manager access - ServiceID 15 |
385 | 0x181 | DECR DEX CEX | root | sys_sm_request_led | int sys_sm_request_led( int led_id(1=power,2=status or 3=disk), out:uint8_t led_action[1] ) HV System Manager access - ServiceID 17 |
386 | 0x182 | DECR DEX CEX | root | sys_sm_control_led | int sys_sm_control_led(uint8_t led_id, uint8_t led_action) led_id = 0,1 (STATUS),2 (POWER)(red, green, red+green combined: looks like yellow); led_action = 0,1,2,3 (off,on,blink fast, blink slow) |
387 | 0x183 | DECR DEX CEX | dbg | sys_sm_get_system_info | syscall(387, uint8_t platform_info[0x18]) / OS Version, Revision, System Software Version? |
388 | 0x184 | DECR DEX CEX | root | sys_sm_ring_buzzer_too | 2 Params,HV System Manager access - ServiceID 21 (RING_BUZZER) |
389 | 0x185 | DECR DEX CEX | pm | sys_sm_set_fan_policy | int sys_sm_set_fan_policy (in:uint8, in:uint8, in:uint8) Similar than the syscon UART external command "FAN SETPOLICY" or the internal command "fanconpolicy set" |
390 | 0x186 | DECR DEX CEX | root | sys_sm_request_error_log | 4 Params, uint8_t offset (0-0x20), uint8_t *, uint32_t *, uint32_t *
HV System Manager access - ServiceID 26 (REQUEST_ERROR_LOG) |
391 | 0x187 | DECR DEX CEX | root | sys_sm_request_be_count | 4 Params
uint8_t * status, uint32_t* total_time_in_seconds, uint32_t* power_on_counter, uint32_t* power_off_counter HV System Manager access - ServiceID 28 (REQUEST_BE_COUNT): |
392 | 0x188 | DECR DEX CEX | root | sys_sm_ring_buzzer | 3 Params: PacketID=0x1004, field2, field4 Hypervisor_Reverse_Engineering#Parameters_6 Parameters |
393 | 0x189 | DECR DEX CEX | root | sys_sm_get_hw_config | gets hardware configuration: syscall(393,uint8_t * res, uint64_t * hw_config) |
394 | 0x18A | DECR DEX CEX | root | sys_sm_request_scversion | uint8_t SoftID[8],old_PatchID[8],new_PatchID[8]; lv2syscall3(394, (uint64_t)SoftID, (uint64_t)old_PatchID, (uint64_t)new_PatchID); HV System Manager access - ServiceID 30 (REQUEST_SC_VERSION) Syscon_Firmware#.27info0.27 SC Firmware |
395 | 0x18B | DECR DEX CEX | pm | sys_sm_request_system_event_log | int sys_sm_request_system_event_log(int offset(0 - 5),uint64_t *out,uint64_t *out,uint64_t *out,uint8_t buf[0x20], int flag ), 6 Params, HV System Manager access - ServiceID 32 (REQUEST_SYSTEM_EVENT_LOG). See also syscall 400 and this |
396 | 0x18C | DECR DEX CEX | root | sys_sm_set_rtc_alarm | int sys_sm_set_rtc_alarm(CellRtcTick *pTick), HV System Manager access - ServiceID 34+38 (RTC_ALARM) |
397 | 0x18D | DECR DEX CEX | root | sys_sm_get_rtc_alarm | 1 Param, HV System Manager access - ServiceID 36 |
398 | 0x18E | DECR DEX CEX | root | sys_console_write | int sys_console_write(const char *s, uint32_t len)(lv2,lv1::console::write_async |
399 | 0x18F | (sys_kernel_test) | |||
400 | 0x190 | DECR DEX CEX | pm | int sys_request_system_event_log(int offset(0 - 5),uint64_t *out, int flag ) , HV System Manager access - ServiceID 32 (REQUEST_SYSTEM_EVENT_LOG) sys_sm_request_system_event_log too. See also syscall 395 and this | |
401 | 0x191 | DECR DEX CEX | root | 2 Params: uint64_t param,uint8_t * st (status?/state?)
HV System Manager access - ServiceID 40 (BOOT_PARAMETER) See also syscall 404, syscon EEPROM "boot param" and this, also sends the param to syscon | |
#sys_tty Syscalls (402-403) | |||||
402 | 0x192 | DECR DEX CEX | sys_tty_read | int sys_tty_read(uint32_t ch, void *buf, uint32_t len, uint32_t *preadlen); | |
403 | 0x193 | DECR DEX CEX | sys_tty_write | int sys_tty_write(uint32_t ch, const void *buf, uint32_t len, uint32_t *pwritelen); | |
404 | 0x194 | DECR DEX CEX | root | 2 Params: uint64_t * param, uint8_t * st
HV System Manager access - ServiceID 42 (BOOT_PARAMETER) [Network Settings for Debug] related, returns single/dual setting flag? See also syscall 401, syscon EEPROM "boot param" and this | |
405 | 0x195 | DECR DEX CEX | pm | 2 Params: uint16_t * comp?, uint8_t * st (status?/state?)
HV System Manager access - ServiceID 44 factory_process_comp (0,0), dbg_printf comp value See syscon EEPROM "factory process completion" and this | |
406 | 0x196 | DECR DEX CEX | pm | 2 Params: uint32_t comp? ,uint8_t * st
comp? = 0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x100 HV System Manager access - ServiceID 46 factory_process_comp (1,x) -> OR-Operation with comp See syscon EEPROM "factory process completion" and this | |
407 | 0x197 | DECR DEX CEX | pm | 1 Param: uint8_t * st
HV System Manager access - ServiceID 48 factory_process_comp (2,0) -> ANDC-Operation with comp=0 See syscon EEPROM "factory process completion" and this | |
408 | 0x198 | DECR DEX CEX | pm | sys_sm_get_tzpb too | 1 Param: out:uint8_t [0x20] same as 384 just requires PM |
409 | 0x199 | DECR DEX CEX | pm | sys_sm_get_fan_policy | int sys_sm_get_fan_policy(uint8_t id, uint8_t *st (status? state?), uint8_t *policy (mode), uint8_t * mode (speed), uint8_t *duty) Similar than the syscon UART external command "FAN GETPOLICY" or the internal command "fanconpolicy get" |
#sys_game Syscalls (372-376+410-412) | |||||
410 | 0x19A | DECR DEX CEX | sys_game_board_storage_read | 2 Params,out:uint8_t[0x10], uint8_t[1], HV System Manager access - ServiceID 54 | |
411 | 0x19B | DECR DEX CEX | sys_game_board_storage_write | 2 Params,in:uint8_t[0x10],uint8_t[1], HV System Manager access - ServiceID 52 | |
412 | 0x19C | DECR DEX | sys_game_get_rtc_status | ||
413 | 0x19D | DECR DEX CEX | root | 3 Params, HV System Manager access - ServiceID 56: out:uint8_t[1],out:uint8_t[1],out:uint8_t[1] | |
414 | 0x19E | DECR DEX CEX | root | 3 Params,in:packetid ,in:uint8_t[0x20],out:uint8_t[1], HV System Manager access - ServiceID 58 | |
415 | 0x19F | DECR DEX CEX | root | 3 Params,in:packetid,out:uint8_t[0x20],out:uint8_t[1], HV System Manager access - ServiceID 60 | |
#sys_overlay Syscalls (450-457) | |||||
450 | 0x1C2 | DECR DEX CEX | 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 | DECR DEX CEX | sys_overlay_unload_module | int sys_overlay_unload_module(sys_overlay_t ovlmid) | |
452 | 0x1C4 | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | sys_overlay_get_sdk_version | int sys_overlay_get_sdk_version(sys_overlay_t ovlmid, uint32_t* sdk_ver) | |
457 | 0x1C9 | DECR DEX CEX | sys_overlay_get_module_dbg_info | 3 Params: (sys_pid_t pid, sys_overlay_t ovlmid, sys_overlay_module_dbg_t * info) ? | |
458 | 0x1CA | DECR DEX CEX | sys_overlay_get_module_dbg_info too | 3 Params: | |
#sys_prx Syscalls (460-499) | |||||
460 | 0x1CC | DECR DEX | root | sys_prx_dbg_get_module_id_list | sys_prx_dbg_get_module_id_list(sys_pid_t pid, sys_prx_dbg_get_module_list_t *pInfo) |
461 | 0x1CD | DECR DEX CEX | sys_prx_get_module_id_by_address | sys_prx_id_t sys_prx_get_module_id_by_address(void* addr) | |
462 | 0x1CE | DECR DEX | 1 Param: uint8_t [0x50] | ||
463 | 0x1CF | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | sys_prx_get_ppu_guid | sys_addr_t sys_prx_get_ppu_guid(sys_prx_id_t id) | |
468 | 0x1D4 | DECR DEX | root | ||
470 | 0x1D6 | DECR DEX CEX | root | sys_npdrm_check_ekc | int syscall 470 (sys_pid_t pid, np_drm_info_t* np_drm_info) |
471 | 0x1D7 | DECR DEX CEX | root | sys_npdrm_regist_ekc | int syscall_471(uint32_t type, char* titleID, void* klicensee, uint8_t* actdat, uint8_t* rif, int32_t licenseType, uint8_t* magicVersion); |
472 | 0x1D8 | DECR DEX CEX | root | 2 Params: | |
473 | 0x1D9 | DECR DEX CEX | |||
474 | 0x1DA | DECR DEX CEX | |||
475 | 0x1DB | DECR DEX CEX | root | sys_npdrm_regist_ekc2 ? | int syscall_475(sys_pid_t pid, np_drm_info_t* np_drm_info, void* klicensee, uint8_t* actdat, uint8_t* rif, uint8_t magicVersion) |
476 | 0x1DC | DECR DEX CEX | root | can only be either syscall476 (1,0) or syscall476 (0,1) | |
480 | 0x1E0 | DECR DEX CEX | 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 | DECR DEX CEX | sys_prx_start_module | int sys_prx_start_module(sys_prx_id_t id, sys_prx_flags_t flags, sys_prx_start_t* pOpt) | |
482 | 0x1E2 | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | sys_prx_register_module | int sys_prx_register_module(char * name, const sys_prx_register_module_option_t * pOpt) | |
485 | 0x1E5 | DECR DEX CEX | sys_prx_query_module | int sys_prx_query_module(void) // only returns 0 | |
486 | 0x1E6 | DECR DEX CEX | sys_prx_register_library | int sys_prx_register_library(void* library) | |
487 | 0x1E7 | DECR DEX CEX | sys_prx_unregister_library | int sys_prx_unregister_library(void* library) // only returns 0 | |
488 | 0x1E8 | DECR DEX CEX | sys_prx_link_library | int sys_prx_link_library(void) // only returns 0 | |
489 | 0x1E9 | DECR DEX CEX | sys_prx_unlink_library | int sys_prx_unlink_library(void) // only returns 0 | |
490 | 0x1EA | DECR DEX CEX | sys_prx_query_library | int sys_prx_query_library(void) // only returns 0 | |
492 | 0x1EC | DECR DEX CEX | dbg | sys_prx_dbg_get_module_list | 4 Params: |
493 | 0x1ED | DECR DEX CEX | dbg | sys_prx_dbg_get_module_info | int sys_prx_dbg_get_module_info(sys_pid_t pid, sys_prx_id_t id, sys_prx_dbg_module_info* info) |
494 | 0x1EE | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | sys_prx_start | int sys_prx_start (void) // only returns 0 | |
499 | 0x1F3 | DECR DEX CEX | sys_prx_stop | int sys_prx_stop(void) | |
#sys_hid_manager Syscalls | |||||
500 | 0x1F4 | DECR DEX CEX | sys_hid_manager_open | 2 Params | |
501 | 0x1F5 | DECR DEX CEX | sys_hid_manager_close | 1 Param: uint32_t port_no | |
502 | 0x1F6 | DECR DEX CEX | root | sys_hid_manager_read | 4 Params: uint32_t port_no,uint32_t packet_id, uint8_t[size], uint32_t size |
503 | 0x1F7 | DECR DEX CEX | sys_hid_manager_ioctl | 4 Params: uint32_t port_no,uint32_t packet_id, uint8_t[size], uint32_t size | |
504 | 0x1F8 | DECR DEX CEX | root | sys_hid_manager_map_logical_id_to_port_id | param 1: device_type, 1 = pad, 2 = kb, 3 = mouse
int sc(int device_type, int device_no, int port_no) |
505 | 0x1F9 | DECR DEX CEX | root | sys_hid_manager_unmap_logical_id_to_port_id | int sc(int device_type, int device_no, int port_no) |
506 | 0x1FA | DECR DEX CEX | root | sys_hid_manager_add_hot_key_observer | 2 Params |
507 | 0x1FB | DECR DEX CEX | root | sys_hid_manager_remove_hot_key_observer | 2 Params |
508 | 0x1FC | DECR DEX CEX | root | sys_hid_manager_grab_focus | 1 Param: sys_pid_t pid (for example current pid) |
509 | 0x1FD | DECR DEX CEX | root | sys_hid_manager_release_focus | 1 Param |
510 | 0x1FE | DECR DEX CEX | sys_hid_manager_check_focus | int syscall(510, void); | |
511 | 0x1FF | DECR DEX CEX | root | sys_hid_manager_set_master_process | 1 Param |
512 | 0x200 | DECR DEX CEX | root | 1 Param : int syscall(512,sys_pid_t pid), simple root-flag check?; | |
513 | 0x201 | DECR DEX CEX | sys_hid_manager_... | 4 Params | |
514 | 0x202 | DECR DEX CEX | sys_hid_manager_... | 3 Params | |
#sys_config Syscalls | |||||
516 | 0x204 | DECR DEX CEX | sys_config_open | 2 Params : (sys_event_queue_t * equeue_id, uint64_t *conf_id (out)) | |
517 | 0x205 | DECR DEX CEX | sys_config_close | sys_config_close(sys_event_queue_t * equeue_id); | |
518 | 0x206 | DECR DEX CEX | sys_config_get_service_event | 4 Params: | |
519 | 0x207 | DECR DEX CEX | sys_config_add_service_listener | 6 Params (u32 conf_id, ?, ?, ?, ?, ?) | |
520 | 0x208 | DECR DEX CEX | sys_config_remove_service_listener | 2 Params | |
521 | 0x209 | DECR DEX CEX | sys_config_register_service | 7 Params | |
522 | 0x20A | DECR DEX CEX | sys_config_unregister_service | 2 Params | |
523 | 0x20B | DECR DEX CEX | sys_config_io_event | ||
524 | 0x20C | DECR DEX CEX | sys_config_register_io_error_listener | ||
525 | 0x20D | DECR DEX CEX | sys_config_unregister_io_error_listener | ||
#sys_usbd Syscalls | |||||
530 | 0x212 | DECR DEX CEX | sys_usbd_initialize | 1 Param, out: *uint32_t | |
531 | 0x213 | DECR DEX CEX | sys_usbd_finalize | 1 Param, in: handle/id | |
532 | 0x214 | DECR DEX CEX | sys_usbd_get_device_list | 3 Params | |
533 | 0x215 | DECR DEX CEX | sys_usbd_get_descriptor_size | 2 Params | |
534 | 0x216 | DECR DEX CEX | sys_usbd_get_descriptor | 4 Params | |
535 | 0x217 | DECR DEX CEX | sys_usbd_register_ldd | 3 Params | |
536 | 0x218 | DECR DEX CEX | sys_usbd_unregister_ldd | 3 Params | |
537 | 0x219 | DECR DEX CEX | sys_usbd_open_pipe | 7 Params | |
538 | 0x21A | DECR DEX CEX | sys_usbd_open_default_pipe | 2 Params | |
539 | 0x21B | DECR DEX CEX | sys_usbd_close_pipe | 2 Params | |
540 | 0x21C | DECR DEX CEX | sys_usbd_receive_event | 4 Params | |
541 | 0x21D | DECR DEX CEX | sys_usbd_detect_event | void | |
542 | 0x21E | DECR DEX CEX | sys_usbd_attach | 4 Params | |
543 | 0x21F | DECR DEX CEX | sys_usbd_transfer_data | 6 Params | |
544 | 0x220 | DECR DEX CEX | sys_usbd_isochronous_transfer_data | 3 Params | |
545 | 0x221 | DECR DEX CEX | sys_usbd_get_transfer_status | 5 Params | |
546 | 0x222 | DECR DEX CEX | sys_usbd_get_isochronous_transfer_status | 5 Params | |
547 | 0x223 | DECR DEX CEX | sys_usbd_get_device_location | 3 Params | |
548 | 0x224 | DECR DEX CEX | sys_usbd_send_event | 2 Params | |
549 | 0x225 | DECR DEX CEX | sys_usbd_event_port_send | int sys_usbd_event_port_send(uint64_t usb_id?, uint64_t data1, uint64_t data2, uint64_t data3); | |
550 | 0x226 | DECR DEX CEX | sys_usbd_allocate_memory | 3 Params | |
551 | 0x227 | DECR DEX CEX | sys_usbd_free_memory | 2 Params | |
552 | 0x228 | DECR DEX CEX | sys_usbd_enable_wake_on? | 1 Param | |
553 | 0x229 | DECR DEX CEX | void | ||
554 | 0x22A | DECR DEX CEX | void | ||
555 | 0x22B | DECR DEX CEX | void | ||
556 | 0x22C | DECR DEX CEX | sys_usbd_get_device_speed | 3 Params, , , out:uint8_t[1] | |
557 | 0x22D | DECR DEX CEX | 5 Params | ||
558 | 0x22E | DECR DEX CEX | sys_usbd_unregister_extra_ldd | 3 Params, , name, name_len | |
559 | 0x22F | DECR DEX CEX | sys_usbd_register_extra_ldd | 6 Params | |
#sys_gl819 Syscalls Cardcontroller cf/sd/mmc/sm/ms | |||||
560 | 0x230 | DECR DEX CEX | root | (sys_usbmass_ioctl) | |
561 | 0x231 | DECR DEX CEX | root | 1 Param: out:uint8_t [4] (cf/sd/mmc/sm/ms flag availability from hw config) | |
562 | 0x232 | DECR DEX CEX | root | gets MultiCardReader Firmware Version: syscall(0x232, out:uint8_t [2]) | |
563 | 0x233 | DECR DEX CEX | |||
564 | 0x234 | DECR DEX CEX | |||
565 | 0x235 | DECR DEX CEX | |||
566 | 0x236 | DECR DEX CEX | |||
567 | 0x237 | DECR DEX CEX | |||
568 | 0x238 | DECR DEX CEX | |||
569 | 0x239 | DECR DEX CEX | |||
#PAD Manager Syscalls PAD related | |||||
570 | 0x23A | DECR DEX CEX | sys_pad_ldd_register_controller | ||
571 | 0x23B | DECR DEX CEX | sys_pad_ldd_unregister_controller | int sys_pad_ldd_unregister_controller ( int32_t handle) | |
572 | 0x23C | DECR DEX CEX | sys_pad_ldd_data_insert | int sys_pad_ldd_data_insert (int32_t handle, cellpaddata* data /* uint8_t[0x84] */) | |
573 | 0x23D | DECR DEX CEX | sys_pad_dbg_ldd_set_data_insert_mode | int sys_pad_dbg_ldd_set_data_insert_mode ( int32_t handle, 0x100, uint32_t* mode , 4) | |
574 | 0x23E | DECR DEX CEX | sys_pad_ldd_register_controller | int sys_pad_ldd_register_controller/sys_pad_dbg_ldd_register_controller ( uint8_t[0x114] /* struct */, int32_t* out, 5, uint32_t device_capability<<1) | |
575 | 0x23F | DECR DEX CEX | sys_pad_ldd_get_port_no | int sys_pad_ldd_get_port_no (int32_t handle) | |
577 | 0x241 | DECR DEX CEX | root pm | sys_pad_manager_.... | int sys_pad_manager_.... (int8_t device_number?)
Intended to be used under Factory Service Mode |
#sys_bluetooth Syscalls | |||||
578 | 0x242 | DECR DEX CEX | |||
579 | 0x243 | DECR DEX CEX | sys_bluetooth_aud_serial_unk1... | sys_bluetooth_aud_serial_unk1(0x243,0,unk1*,aud_serial*,unk2*,unk3*,unk4*) 0xD0044D40 00 00 00 00 / 0xD0044D44 00 82 8E 18 --> 00 7D 39 A0 --> 0x007D39A0 5F 61 75 64 5F 53 45 52 49 41 4C 00 00 00 00 00 _aud_SERIAL..... / 0xD0044D48 00 00 00 00 / 0xD0044D4C 00 00 00 00 | |
580 | 0x244 | DECR DEX CEX | root | ||
581 | 0x245 | DECR DEX CEX | root | ||
582 | 0x246 | DECR DEX CEX | root | ||
583 | 0x247 | DECR DEX CEX | root | sys_bt_read_firmware_version | gets Bluetooth Firmware Version: syscall(0x247, out:uint8_t [2]) |
584 | 0x248 | DECR DEX CEX | root | sys_bt_complete_wake_on_host | |
585 | 0x249 | DECR DEX CEX | sys_bt_disable_bluetooth | ||
586 | 0x24A | DECR DEX CEX | sys_bt_enable_bluetooth | return 0x80010003 | |
587 | 0x24B | DECR DEX CEX | root | sys_bt_bccmd | |
588 | 0x24C | DECR DEX CEX | sys_bt_read_hq | return 0x80010003 | |
589 | 0x24D | DECR DEX CEX | sys_bt_hid_get_remote_status | return 0x80010003 | |
590 | 0x24E | DECR DEX CEX | root | sys_bt_register_controller | bt_set_device_info() |
591 | 0x24F | DECR DEX CEX | sys_bt_clear_registered_contoller | return 0 | |
592 | 0x250 | DECR DEX CEX | sys_bt_connect_accept_controller | return 0 | |
593 | 0x251 | DECR DEX CEX | root | sys_bt_get_local_bdaddress | getting bluetooth address |
594 | 0x252 | DECR DEX CEX | sys_bt_hid_get_data | return 0x80010003 | |
595 | 0x253 | DECR DEX CEX | sys_bt_hid_set_report | return 0x80010003 | |
596 | 0x254 | DECR DEX CEX | sys_bt_sched_log | return 0x80010003 | |
597 | 0x255 | DECR DEX CEX | sys_bt_cancel_connect_accept_controller | bt_cancel_connect_accept_controller(),deprecated | |
598 | 0x256 | DECR DEX CEX | root | 0 Param | |
599 | 0x257 | DECR DEX CEX | root | 2 Params: out:uint8_t[2], out:uint8_t[2] | |
#sys_storage Syscalls (600-623+837+838) | |||||
600 | 0x258 | DECR DEX CEX | root | sys_storage_open | int sys_storage_open(uint64_t id, int mode, int *fd, int flags) mode=0,flags=0 DeviceIDs |
601 | 0x259 | DECR DEX CEX | sys_storage_close | int sys_storage_close(int fd) | |
602 | 0x25A | DECR DEX CEX | sys_storage_read | int sys_storage_read(int fd, int mode?, uint32_t start_sector, uint32_t sectors, uint8_t *bounce_buf, uint32_t *sectors_read, uint64_t flags) mode?=0 | |
603 | 0x25B | DECR DEX CEX | sys_storage_write | ||
604 | 0x25C | DECR DEX CEX | sys_storage_send_device_command | int sys_storage_send_device_command(uint32_t device_handle, uint32_t command, void *indata, uint64_t inlen, void *outdata, uint64_t outlen) | |
605 | 0x25D | DECR DEX CEX | 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 | DECR DEX CEX | 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 | DECR DEX CEX | sys_storage_async_write | 7 Params: | |
608 | 0x260 | DECR DEX CEX | sys_storage_async_cancel | 2 Params | |
609 | 0x261 | DECR DEX CEX | root | 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 | DECR DEX CEX | root | sys_storage_get_device_config | 2 Params: int sys_storage_get_device_config(uint64_t device, uint8_t *config) ? |
611 | 0x263 | DECR DEX CEX | root | sys_storage_report_devices | 4 Params: |
612 | 0x264 | DECR DEX CEX | root | sys_storage_configure_medium_event | 3 Params |
613 | 0x265 | DECR DEX CEX | sys_storage_set_medium_polling_interval | 2 Params | |
614 | 0x266 | DECR DEX CEX | sys_storage_create_region | ||
615 | 0x267 | DECR DEX CEX | sys_storage_delete_region | int sys_storage_delete_region(uint32_t dev_id,uint64_t index); | |
616 | 0x268 | DECR DEX CEX | sys_storage_execute_device_command | sys_storage_execute_device_command(uint32_t dev_handle, uint64_t cmd, const void *cmdbuf, uint64_t cmdbuf_size, void *databuf, uint64_t databuf_size, uint64_t *unknown) | |
617 | 0x269 | DECR DEX CEX | sys_storage_check_region_acl | alias int sys_storage_get_region_acl(device_id, region_id, index, authority, mask); | |
618 | 0x26A | DECR DEX CEX | sys_storage_set_region_acl | int sys_storage_set_region_acl(device_id, region_id, authority, permission); | |
619 | 0x26B | DECR DEX CEX | sys_storage_async_send_device_command | sys_storage_async_send_device_command(uint32_t dev_handle, uint64_t cmd, const void *cmdbuf, uint64_t cmdbuf_size, void *databuf, uint64_t databuf_size, uint64_t *unknown) | |
620 | 0x26C | DECR DEX CEX | root | hid ldd if, kb/mouse/pad.... (param1: ?,0,1,2 or 3;param2;param3;param4;param5) | |
621 | 0x26D | DECR DEX CEX | sys_gamepad_ycon_if | syscall(621,packet_id,uint8_t *in,uint8_t *out) Talk:LV2_Functions_and_Syscalls#Syscall_621_.280x26D.29 gamepad_if usage | |
622 | 0x26E | DECR DEX CEX | sys_storage_get_region_offset | ||
623 | 0x26F | DECR | sys_storage_set_emulated_speed | ||
#sys_io Syscalls (624-627) | |||||
624 | 0x270 | DECR DEX CEX | 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 | DECR DEX CEX | sys_io_buffer_destroy | int sys_io_buffer_destroy(sys_io_buffer_t io_buffer) | |
626 | 0x272 | DECR DEX CEX | sys_io_buffer_allocate | int sys_io_buffer_allocate(sys_io_buffer_t io_buffer, sys_io_block_t *block) | |
627 | 0x273 | DECR DEX CEX | 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 | DECR DEX CEX | sys_gpio_set | int sys_gpio_set (uint64_t device_id, uint64_t mask, uint64_t value) | |
631 | 0x277 | DECR DEX CEX | sys_gpio_get | int sys_gpio_get (uint64_t device_id, uint64_t *value) | |
#sys_fsw Syscalls (633-634) | |||||
633 | 0x279 | DECR | sys_fsw_connect_event | int sys_fsw_connect_event(sys_event_queue_t eq_id) | |
634 | 0x27A | DECR | sys_fsw_disconnect_event | int sys_fsw_disconnect_event(void) | |
#Bluetooth Syscalls | |||||
635 | 0x27B | DECR DEX CEX | root | sys_btsetting_if? | 2 Params: uint64_t packet_id (0=init,1=finalize,....27) , uint8_t buffer |
636 | 0x27C | DECR DEX CEX | root | (BT Database Lookup) | |
637 | 0x27D | DECR DEX CEX | root | BT dev list related, syscall(0x27d, out:uint8_t[0x100]) | |
638 | 0x27E | DECR DEX CEX | root | BT related, 3 Params: packet_id (<7), input, output? | |
#USB Bluetooth Audio Syscalls (639-649) | |||||
639 | 0x27F | DECR DEX CEX | "deprecated!" (seems Sony doesnt want/like USB Bluetooth Audio transmitter/receiver) | ||
640 | 0x280 | DECR DEX CEX | sys_usbbtaudio_initialize | "deprecated!" | |
641 | 0x281 | DECR DEX CEX | sys_usbbtaudio_finalize | "deprecated!" | |
642 | 0x282 | DECR DEX CEX | sys_usbbtaudio_discovery | "deprecated!" | |
643 | 0x283 | DECR DEX CEX | sys_usbbtaudio_cancel_discovery | "deprecated!" | |
644 | 0x284 | DECR DEX CEX | sys_usbbtaudio_pairing | "deprecated!" | |
645 | 0x285 | DECR DEX CEX | sys_usbbtaudio_set_passkey | "deprecated!" | |
646 | 0x286 | DECR DEX CEX | sys_usbbtaudio_connect | "deprecated!" | |
647 | 0x287 | DECR DEX CEX | sys_usbbtaudio_disconnect | "deprecated!" | |
648 | 0x288 | DECR DEX CEX | "deprecated!" | ||
649 | 0x289 | DECR DEX CEX | "deprecated!" | ||
#RSX Audio Syscalls (650-x) | |||||
650 | 0x28A | DECR DEX CEX | sys_rsxaudio_initialize | int sys_rsxaudio_initialize(uint32_t* out_handle) | |
651 | 0x28B | DECR DEX CEX | sys_rsxaudio_finalize | int sys_rsxaudio_finalize(uint32_t handle) | |
652 | 0x28C | DECR DEX CEX | sys_rsxaudio_import_shared_memory | int sys_rsxaudio_import_shared_memory(uint32_t handle, uint64_t* out_addr) | |
653 | 0x28D | DECR DEX CEX | sys_rsxaudio_unimport_shared_memory | int sys_rsxaudio_unimport_shared_memory(uint32_t handle, uint64_t* addr) | |
654 | 0x28E | DECR DEX CEX | sys_rsxaudio_create_connection | int sys_rsxaudio_create_connection(uint32_t handle) | |
655 | 0x28F | DECR DEX CEX | sys_rsxaudio_close_connection | int sys_rsxaudio_close_connection(uint32_t handle) | |
656 | 0x290 | DECR DEX CEX | sys_rsxaudio_prepare_process | int sys_rsxaudio_prepare_process(uint32_t handle) | |
657 | 0x291 | DECR DEX CEX | sys_rsxaudio_start_process | int sys_rsxaudio_start_process(uint32_t handle) | |
658 | 0x292 | DECR DEX CEX | sys_rsxaudio_stop_process | int sys_rsxaudio_stop_process(uint32_t handle) | |
659 | 0x293 | DECR DEX CEX | sys_rsxaudio_get_dma_param | int sys_rsxaudio_get_dma_param(uint32_t handle, uint32_t flag, uint64_t* param_out)
Flag: 0 = dma io address 1 = dma io id | |
#sys_rsx Syscalls (666-677) | |||||
666 | 0x29A | DECR DEX CEX | sys_rsx_device_open | 1 Param (uint64_t arg_1); | |
667 | 0x29B | DECR DEX CEX | sys_rsx_device_close | (void); | |
668 | 0x29C | DECR DEX CEX | sys_rsx_memory_allocate | (uint32_t *mem_ctx_id, uint32_t *local_addr, uint64_t tile_max_size, uint64_t zcull_max_size, uint64_t tile_max_areas, uint64_t zcull_max_areas); | |
669 | 0x29D | DECR DEX CEX | sys_rsx_memory_free | (uint32_t mem_ctx_id); | |
670 | 0x29E | DECR DEX CEX | sys_rsx_context_allocate | (uint32_t *rsx_ctx_id, uint64_t *dma_control_lpar, uint64_t *driver_info_lpar, uint64_t *reports_lpar, uint32_t mem_ctx_id, uint64_t system_mode); | |
671 | 0x29F | DECR DEX CEX | sys_rsx_context_free | (uint32_t rsx_ctx_id); | |
672 | 0x2A0 | DECR DEX CEX | sys_rsx_context_iomap | (uint32_t rsx_ctx_id, uint32_t local_offset, uint32_t main_mem_ea, uint32_t size, uint64_t flags); | |
673 | 0x2A1 | DECR DEX CEX | sys_rsx_context_iounmap | (uint32_t rsx_ctx_id, uint64_t arg_2, uint64_t arg_3); | |
674 | 0x2A2 | DECR DEX CEX | sys_rsx_context_attribute | (uint32_t rsx_ctx_id, uint32_t pkg_id, uint64_t arg_1, uint64_t arg_2, uint64_t arg_3, uint64_t arg_4); | |
675 | 0x2A3 | DECR DEX CEX | sys_rsx_device_map | (uint64_t *semaphore, uint64_t arg_2, uint64_t device_id); | |
676 | 0x2A4 | DECR DEX CEX | sys_rsx_device_unmap | (uint64_t device_id); | |
677 | 0x2A5 | DECR DEX CEX | sys_rsx_attribute
(sys_rsx_audio_setup) |
(uint64_t pkg_id, uint64_t arg_1, uint64_t arg_2, uint64_t arg_3, uint64_t arg_4); | |
678 | 0x2A6 | DECR DEX |
(sys_rsx_audio_queue) |
||
679 | 0x2A7 | DECR DEX CEX | root |
(sys_rsx_audio_iomap) |
(uint32_t arg_1, uint32_t arg_2, uint64_t *out_1, uint64_t *out_2, uint64_t *out_3, uint64_t *out_4); |
#Bluetooth USB Audio Syscalls (680-696) | |||||
680 | 0x2A8 | DECR DEX CEX | root |
(sys_rsx_audio_iounmap?) |
|
681 | 0x2A9 | DECR DEX CEX | root | ||
682 | 0x2AA | DECR DEX CEX | root | ||
683 | 0x2AB | DECR DEX CEX | root | ||
684 | 0x2AC | DECR DEX CEX | root | ||
685 | 0x2AD | DECR DEX CEX | root | ||
686 | 0x2AE | DECR DEX CEX | root | ||
687 | 0x2AF | DECR DEX CEX | root | ||
688 | 0x2B0 | DECR DEX CEX | root | ||
689 | 0x2B1 | DECR DEX CEX | root | ||
690 | 0x2B2 | DECR DEX CEX | root | ||
691 | 0x2B3 | DECR DEX CEX | root | ||
692 | 0x2B4 | DECR DEX CEX | root | ||
693 | 0x2B5 | DECR DEX CEX | root | ||
694 | 0x2B6 | DECR DEX CEX | "deprecated!" (usbbtaudio) | ||
695 | 0x2B7 | DECR DEX CEX | "deprecated!" (usbbtaudio) | ||
696 | 0x2B8 | DECR DEX CEX | root | bt audio interface, packetid 0-4 (0= GetSinkConfig) | |
697 | 0x2B9 |
(sys_iosys_infra_test_open) |
|||
698 | 0x2BA |
(sys_iosys_infra_test_execute) |
|||
#sys_bdemu Syscalls (699) | |||||
699 | 0x2BB | DECR DEX | sys_bdemu_send_command | sys_bdemu_send_command(cmd, unused, unk1, result_buffer, result_buffer_len) cmd 0: returns BDemu usb DeviceID cmd 1: eject image (unk1 and result_buffer must be 0) cmd 2: format bdemu hdd? | |
#sys_net Syscalls (700-726) | |||||
700 | 0x2BC | DECR DEX CEX | sys_net_bnet_accept | int sys_net_bnet_accept (int s, struct sockaddr *addr, socklen_t *paddrlen ) // s = socket descriptor | |
701 | 0x2BD | DECR DEX CEX | sys_net_bnet_bind | int sys_net_bnet_bind ( int s, const struct sockaddr *addr, socklen_t addrlen ) | |
702 | 0x2BE | DECR DEX CEX | sys_net_bnet_connect | int sys_net_bnet_connect ( int s, const struct sockaddr *addr, socklen_t addrlen ) | |
703 | 0x2BF | DECR DEX CEX | sys_net_bnet_getpeername | int sys_net_bnet_getpeername ( int s, struct sockaddr *addr, socklen_t *paddrlen ) | |
704 | 0x2C0 | DECR DEX CEX | sys_net_bnet_getsockname | int sys_net_bnet_getsockname ( int s, struct sockaddr *addr, socklen_t *paddrlen ) | |
705 | 0x2C1 | DECR DEX CEX | sys_net_bnet_getsockopt | int sys_net_bnet_getsockopt ( int s, int level, int optname, void *optval, socklen_t *optlen ) | |
706 | 0x2C2 | DECR DEX CEX | sys_net_bnet_listen | int sys_net_bnet_listen ( int s, int backlog ) | |
707 | 0x2C3 | DECR DEX CEX | sys_net_bnet_recvfrom | int sys_net_bnet_recvfrom ( int s, void *buf, size_t len, int flags, struct sockaddr *addr, socklen_t *paddrlen ) | |
708 | 0x2C4 | DECR DEX CEX | sys_net_bnet_recvmsg | int sys_net_bnet_recvmsg ( int s, struct msghdr *msg, int flags ) | |
709 | 0x2C5 | DECR DEX CEX | sys_net_bnet_sendmsg | int sys_net_bnet_sendmsg ( int s, const struct msghdr *msg, int flags ) | |
710 | 0x2C6 | DECR DEX CEX | sys_net_bnet_sendto | int sys_net_bnet_sendto ( int s, const void *buf, size_t len, int flags, const struct sockaddr *addr, socklen_t addrlen ) | |
711 | 0x2C7 | DECR DEX CEX | sys_net_bnet_setsockop | int sys_net_bnet_setsockop ( int s, int level, int optname, const void *optval, socklen_t optlen ) | |
712 | 0x2C8 | DECR DEX CEX | sys_net_bnet_shutdown | int sys_net_bnet_shutdown ( int s, int how ) | |
713 | 0x2C9 | DECR DEX CEX | sys_net_bnet_socket | int sys_net_bnet_socket ( int family, int type, int protocol ) | |
714 | 0x2CA | DECR DEX CEX | sys_net_bnet_close | int sys_net_bnet_close ( int fd ) | |
715 | 0x2CB | DECR DEX CEX | sys_net_bnet_poll | ||
716 | 0x2CC | DECR DEX CEX | sys_net_bnet_select | ||
717 | 0x2CD | DECR DEX CEX | sys_net_open_dump | int sys_net_open_dump ( int len, int flags ) | |
718 | 0x2CE | DECR DEX CEX | sys_net_read_dump | int sys_net_read_dump ( int id, void *buf, int len, int *pflags ) | |
719 | 0x2CF | DECR DEX CEX | sys_net_close_dump | int sys_net_close_dump ( int id, int *pflags ) | |
720 | 0x2D0 | DECR DEX CEX | sys_net_write_dump | int sys_net_write_dump ( char *buf ) | |
721 | 0x2D1 | DECR DEX CEX | sys_net_abort | int sys_net_abort (packet id <5: 0=abort socket,1=abort resolver ), sys_net_thread_id_t tid/int socket_descriptor, int flags ) | |
722 | 0x2D2 | DECR DEX CEX | sys_net_infoctl | ||
723 | 0x2D3 | DECR DEX CEX | sys_net_control | ||
724 | 0x2D4 | DECR DEX CEX | sys_net_bnet_ioctl | ||
725 | 0x2D5 | DECR DEX CEX | sys_net_bnet_sysctl | ||
726 | 0x2D6 | DECR DEX CEX | sys_net_eurus_post_command | int sys_net_eurus_post_command(uint16_t cmd, uint8_t *cmdbuf, uint64_t cmdbuf_size) Hypervisor_Reverse_Engineering#Commands_2 Commands | |
#lv2Fs Syscalls (801-834) | |||||
800 | 0x320 | DECR DEX CEX | sys_fs_test | int sys_fs_test(packetid < 7 (6 tests) ,0,*deviceid,4,uint8* out[0x420],0x420) | |
801 | 0x321 | DECR DEX CEX | sys_fs_open | CellFsErrno sys_fs_open(const char *path, int flags, int *fd, uint64_t mode, const void *arg, uint64_t size); | |
802 | 0x322 | DECR DEX CEX | sys_fs_read | CellFsErrno sys_fs_read(int fd, void *buf, uint64_t nbytes, uint64_t *nread); | |
803 | 0x323 | DECR DEX CEX | sys_fs_write | CellFsErrno sys_fs_write(int fd, const void *buf, uint64_t nbytes, uint64_t *nwrite); | |
804 | 0x324 | DECR DEX CEX | sys_fs_close | CellFsErrno sys_fs_close(int fd); | |
805 | 0x325 | DECR DEX CEX | sys_fs_opendir | CellFsErrno sys_fs_opendir(const char *path, int *fd); | |
806 | 0x326 | DECR DEX CEX | sys_fs_readdir | CellFsErrno sys_fs_readdir(int fd, CellFsDirent *dir, uint64_t *nread); | |
807 | 0x327 | DECR DEX CEX | sys_fs_closedir | CellFsErrno sys_fs_closedir(int fd); | |
808 | 0x328 | DECR DEX CEX | sys_fs_stat | CellFsErrno sys_fs_stat(const char *path, CellFsStat *sb); | |
809 | 0x329 | DECR DEX CEX | sys_fs_fstat | CellFsErrno sys_fs_fstat(int fd, CellFsStat *sb); | |
810 | 0x32A | DECR DEX CEX | sys_fs_link | int sys_fs_link(const char* path_from, const char* path_to) | |
811 | 0x32B | DECR DEX CEX | sys_fs_mkdir | CellFsErrno sys_fs_mkdir(const char *path, CellFsMode mode); | |
812 | 0x32C | DECR DEX CEX | sys_fs_rename | CellFsErrno sys_fs_rename(const char *from, const char *to); | |
813 | 0x32D | DECR DEX CEX | sys_fs_rmdir | CellFsErrno sys_fs_rmdir(const char *path); | |
814 | 0x32E | DECR DEX CEX | sys_fs_unlink | CellFsErrno sys_fs_unlink(const char *path); | |
815 | 0x32F | DECR DEX CEX | sys_fs_utime | CellFsErrno sys_fs_utime(const char *path, const CellFsUtimbuf *timep); | |
816 | 0x330 | DECR DEX CEX | sys_fs_access | int sys_fs_access(char cont*, int) | |
817 | 0x331 | DECR DEX CEX | sys_fs_fcntl | int sys_fs_fcntl(int fd, int operation, void* ptr, uint64_t)
'fd' may be set to -1 or other invalid values if the operation is not using it. 'ptr' may be casted to different types depends on the operation or not be used at all. | |
818 | 0x332 | DECR DEX CEX | sys_fs_lseek | CellFsErrno sys_fs_lseek(int fd, int64_t offset, int whence, uint64_t *pos); | |
819 | 0x333 | DECR DEX CEX | sys_fs_fdatasync | int sys_fs_datasync(int) | |
820 | 0x334 | DECR DEX CEX | sys_fs_fsync | CellFsErrno sys_fs_fsync(int fd); | |
821 | 0x335 | DECR DEX CEX | sys_fs_fget_block_size | int sys_fs_fget_block_size(int fd, uint64_t* sector_size, uint64_t* block_size, uint64_t* arg4, int* out_flags) | |
822 | 0x336 | DECR DEX CEX | sys_fs_get_block_size | int sys_fs_get_block_size(const char* path, uint64_t* block_size, uint64_t* arg4) | |
823 | 0x337 | DECR DEX CEX | sys_fs_acl_read | int sys_fs_acl_read(const char* path, CellFsAcl *) | |
824 | 0x338 | DECR DEX CEX | sys_fs_acl_write | int sys_fs_acl_read(const char* path, CellFsAcl *) | |
825 | 0x339 | DECR DEX CEX | sys_fs_lsn_get_cda_size | int sys_fs_lsn_get_cda_size(int fd, uint64_t*) | |
826 | 0x33A | DECR DEX CEX | sys_fs_lsn_get_cda | int sys_fs_lsn_get_cda(int fd, CellFsCda*, uint64_t, uint64_t*) | |
827 | 0x33B | DECR DEX CEX | sys_fs_lsn_lock | int sys_fs_lsn_lock(int fd) | |
828 | 0x33C | DECR DEX CEX | sys_fs_lsn_unlock | int sys_fs_lsn_unlock(int fd) | |
829 | 0x33D | DECR DEX CEX | sys_fs_lsn_read | int sys_fs_lsn_read(int fd, const CellFsCda*, uint64_t size) | |
830 | 0x33E | DECR DEX CEX | sys_fs_lsn_write | int sys_fs_lsn_write(int fd, const CellFsCda*, uint64_t size) | |
831 | 0x33F | DECR DEX CEX | sys_fs_truncate | CellFsErrno sys_fs_truncate(const char *path, uint64_t size); | |
832 | 0x340 | DECR DEX CEX | sys_fs_ftruncate | CellFsErrno sys_fs_ftruncate(int fd, uint64_t size); | |
833 | 0x341 | DECR DEX CEX | sys_fs_symbolic_link | int sys_fs_symbolic_link(const char* target_path, const char* link_path) | |
834 | 0x342 | DECR DEX CEX | sys_fs_chmod | CellFsErrno sys_fs_chmod(const char *path, CellFsMode mode); | |
835 | 0x343 | DECR DEX CEX | sys_fs_chown | int sys_fs_chown(const char* path, int uid, int gid) | |
836 | 0x344 | DECR DEX CEX | sys_fs_newfs | int sys_fs_newfs(const char* deviceName, const char*, int, const char**) | |
837 | 0x345 | DECR DEX CEX | sys_fs_mount | int sys_fs_mount(const char* deviceName, const char*, const char*, int, int, int, const char**) Example: 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 | DECR DEX CEX | sys_fs_unmount | int sys_fs_unmount(const char* device_path, int, int) Parameters: Device Path (e.g. /dev_flash) | |
839 | 0x347 | DECR DEX CEX | sys_fs_sync | int sys_fs_sync(const char *dir) Parameter: Device Path (e.g. /dev_hdd0) | |
840 | 0x348 | DECR DEX CEX | sys_fs_disk_free | int sys_fs_disk_free(const char* path, uint64_t* total_free, uint64_t* avail_free) | |
841 | 0x349 | DECR DEX CEX | sys_fs_get_mount_info_size | int sys_fs_get_mount_info_size(uint64_t* out_length)
'out_length' is set to the number of mounted devices sys_fs_get_mount_info may write at max. | |
842 | 0x34A | DECR DEX CEX | sys_fs_get_mount_info | int sys_fs_get_mount_info(CellFsMountInformation* info, uint64_t buffer_length, uint64_t* written_length)
'buffer_length' is the number entries 'info' points. 'written_length' is the number of entries written to 'info', lower/equal to 'buffer_length'. | |
843 | 0x34B | DECR DEX CEX | sys_fs_get_fs_info_size | int sys_fs_get_fs_info_size(uint64_t *) | |
844 | 0x34C | DECR DEX CEX | sys_fs_get_fs_info | int sys_fs_get_fs_info(uint64_t, uint64_t *, CellFsInfo *) | |
845 | 0x34D | DECR DEX CEX | sys_fs_mapped_allocate | int sys_fs_mapped_allocate(int, uint64_t, void **) | |
846 | 0x34E | DECR DEX CEX | sys_fs_mapped_free | int sys_fs_mapped_free(int, void *) | |
847 | 0x34F | DECR DEX CEX | sys_fs_truncate2 | int sys_fs_ftruncate2(int fd, uint64_t size); | |
#process socket service syscalls (861-864) | |||||
860 | 0x35C | DECR DEX CEX | AuthID | syscall_sys_ss_get_cache_of_analog_sunset_flag | int syscall_sys_ss_get_cache_of_analog_sunset_flag(out:uint8_t[1]) |
861 | 0x35D | DECR DEX CEX | root | sys_ss_protected_file_db | gamesave_storage_manager_if(uint32_t packetid (0-0x13), uint8_t buf[0xB8], const char* path, int32_t len, int32_t unk2, int32_t unk3, 0, 0); |
862 | 0x35E | DECR DEX CEX | root | sys_ss_virtual_trm_manager | vtrm_manager_if (Interface) |
863 | 0x35F | DECR DEX CEX | root | sys_ss_update_manager | update_manager_if (Interface) |
864 | 0x360 | DECR DEX CEX | dbg | sys_ss_sec_hw_framework | storage_manager_if (Interface) |
#sys_ss/sys_get Syscalls (865-879) | |||||
865 | 0x361 | DECR DEX CEX | root AuthID | sys_ss_random_number_generator | int sys_ss_random_number_generator(id,buffer,size), alias sys_get_random_number |
866 | 0x362 | DECR DEX CEX | root | sys_ss_secure_rtc | secure_rtc_manager_if (Interface) |
867 | 0x363 | DECR DEX CEX | root | sys_ss_appliance_info_manager | aim_manager_if (Interface) |
868 | 0x364 | DECR DEX CEX | root dbg AuthID | sys_ss_individual_info_manager | indi_info_manager_if (Interface) |
869 | 0x365 | DECR DEX CEX | root | sys_ss_factory_data_manager | factory_data_manager_if (Interface) |
870 | 0x366 | DECR DEX CEX | sys_ss_get_console_id | int sys_ss_get_console_id(uint8_t *buf) //returns IDPS in buf
later firmwares require root flags, QA flag, not allowed on DEX/TOOL | |
871 | 0x367 | DECR DEX CEX | dbg | sys_ss_access_control_engine | 3 params, their types and usage depends on 'pkg_id'.
(pkg_id=1,sys_pid_t,out:uint64_t) (pkd_id=2,out:uint64_t,0) // returns Program Authority ID (pkg_id=3,out:uint64_t,0) |
872 | 0x368 | DECR DEX CEX | sys_ss_get_open_psid | int sys_ss_get_open_psid(CellSsOpenPSID *ptr) ; typedef struct CellSsOpenPSID { uint64_t high; uint64_t low;} | |
873 | 0x369 | DECR DEX CEX | sys_ss_get_cache_of_product_mode | int sys_ss_get_cache_of_product_mode(uint8_t *ptr [1]); | |
874 | 0x36A | DECR DEX CEX | sys_ss_get_cache_of_flash_ext_flag | int sys_ss_get_cache_of_flash_ext_flag(uint8_t *flag [1]) | |
875 | 0x36B | DECR DEX CEX | sys_ss_get_boot_device | int sys_ss_get_boot_device(uint8_t * buf [8]); | |
876 | 0x36C | DECR DEX CEX | sys_ss_disc_access_control | 2Params: 0x20000(=get_disc_access_control),uint32_t * disc_access / 0x20001(=set_disc_access_control),1 | |
877 | 0x36D | DECR DEX CEX | root | sys_ss_~utoken_if | syscall(877,0x25003=Decrypt or 0x25004 or 0x25005=Encrypt or 0x25006=(copy syscall table to user), uint8_t *token, 0xC50 (size)), user_token_manager_if |
878 | 0x36E | DECR DEX CEX | sys_ss_ad_sign | syscall(878, 0x26001, in_buffer[0x14], out_buffer[0x80]) | |
879 | 0x36F | DECR DEX CEX | sys_ss_media_id | syscall(879, 0x10001, out_buffer[0x10]) | |
#sys_deci3 Syscalls (880-884) | |||||
880 | 0x370 | DECR DEX | 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 | DECR DEX | 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 | DECR DEX | sys_deci3_close | int sys_deci3_close(sys_deci3_session_t session_id); | |
883 | 0x373 | DECR DEX | sys_deci3_send | int sys_deci3_send(sys_deci3_session_t session_id, uint8_t * buf, __CSTD size_t size); | |
884 | 0x374 | DECR DEX | sys_deci3_receive | int sys_deci3_receive(sys_deci3_session_t session_id, uint8_t * buf, __CSTD size_t size); | |
885 | 0x375 | DECR | sys_deci3_open2 | ||
889 | 0x379 | DECR | root | sys_ | |
890 | 0x37A | sys_deci3_initialize | |||
891 | 0x37B | sys_deci3_terminate | |||
892 | 0x37C | sys_deci3_debug_mode | |||
893 | 0x37D | sys_deci3_show_status | |||
894 | 0x37E | sys_deci3_echo_test | |||
895 | 0x37F | sys_deci3_send_dcmp_packet | |||
896 | 0x380 | sys_deci3_dump_cp_register | |||
897 | 0x381 | sys_deci3_dump_cp_buffer | |||
899 | 0x383 | sys_deci3_test | |||
#sys_dbg Syscalls (900-970) | |||||
900 | 0x384 | DECR DEX CEX | sys_dbg_stop_processes | 2 params: sys_pid_t pid, 1 | |
901 | 0x385 | DECR DEX | sys_dbg_continue_processes | ||
902 | 0x386 | DECR DEX CEX | sys_dbg_stop_threads | 2 params: in/out, len | |
903 | 0x387 | DECR DEX CEX | sys_dbg_continue_threads | 2 params: uint64_t *inbuff, int length(0 or ... or 8) | |
904 | 0x388 | DECR DEX | sys_dbg_read_process_memory | int sys_dbg_read_process_memory(sys_pid_t pid, uint64_t process_ea, uint32_t size, void* data) | |
905 | 0x389 | DECR DEX | sys_dbg_write_process_memory | int sys_dbg_write_process_memory(sys_pid_t pid, uint64_t process_ea, uint32_t size, const void* data) | |
906 | 0x38A | DECR DEX CEX | sys_dbg_read_thread_register | 3 Params: uint8_t [0x10], uint64_t *, uint8_t[0x10] | |
907 | 0x38B | DECR DEX | sys_dbg_write_thread_register | ||
908 | 0x38C | DECR DEX | sys_dbg_get_process_list | int sys_dbg_get_process_list(sys_pid_t* pids, uint64_t* max, uint64_t* count) | |
909 | 0x38D | DECR DEX CEX | sys_dbg_get_thread_list | int sys_dbg_get_thread_list( sys_pid_t pid, sys_ppu_thread_t* ids, uint64_t* ids_num, uint64_t* all_ids_num) | |
910 | 0x38E | DECR DEX CEX | sys_dbg_get_thread_info | 2 Params: uint8_t * [0x10] {type,thread id?}, uint8_t [0x80]
1 spu_thread 2 spu_thread_group 0 ppu_thread | |
911 | 0x38F | DECR DEX CEX | sys_dbg_spu_thread_read_from_ls | 4 Params: spu thread id,, size, uint8_t[size] | |
912 | 0x390 | DECR DEX | sys_dbg_spu_thread_write_to_ls | ||
913 | 0x391 | DECR DEX | sys_dbg_kill_process | int sys_dbg_kill_process(sys_pid_t pid) | |
914 | 0x392 | DECR DEX CEX | sys_dbg_get_process_info | int sys_dbg_get_process_info(sys_pid_t pid, sys_process_info_t* info) | |
915 | 0x393 | DECR DEX | sys_dbg_set_run_control_bit_to_spu | ||
916 | 0x394 | DECR DEX | sys_dbg_spu_thread_get_exception_cause | ||
917 | 0x395 | DECR DEX | sys_dbg_create_kernel_event_queue | ||
918 | 0x396 | DECR DEX | sys_dbg_read_kernel_event_queue | ||
919 | 0x397 | DECR DEX | sys_dbg_destroy_kernel_event_queue | ||
920 | 0x398 | DECR DEX | sys_dbg_get_process_event_ctrl_flag | ||
921 | 0x399 | DECR DEX | sys_dbg_set_process_event_cntl_flag | ||
922 | 0x39A | DECR DEX | sys_dbg_get_spu_thread_group_event_cntl_flag | ||
923 | 0x39B | DECR DEX | sys_dbg_set_spu_thread_group_event_cntl_flag | ||
924 | 0x39C | DECR DEX | sys_dbg_get_module_list | ||
925 | 0x39D | DECR DEX | sys_dbg_get_raw_spu_list | ||
926 | 0x39E | DECR DEX | sys_dbg_initialize_scratch_executable_area | ||
927 | 0x3A0 | DECR DEX | sys_dbg_terminate_scratch_executable_area | ||
928 | 0x3A1 | DECR DEX | sys_dbg_initialize_scratch_data_area | ||
929 | 0x3A2 | DECR DEX | sys_dbg_terminate_scratch_data_area | ||
930 | 0x3A3 | DECR DEX | sys_dbg_get_user_memory_stat | ||
931 | 0x3A4 | DECR DEX | sys_dbg_get_shared_memory_attribute_list | ||
932 | 0x3A4 | DECR DEX | sys_dbg_get_mutex_list | ||
933 | 0x3A5 | DECR DEX CEX | sys_dbg_get_mutex_information | int sys_dbg_get_mutex_information(sys_pid_t id, sys_mutex_t id, sys_dbg_mutex_information_t* info ) | |
934 | 0x3A6 | DECR DEX | sys_dbg_get_cond_list | ||
935 | 0x3A7 | DECR DEX CEX | sys_dbg_get_cond_information | int sys_dbg_get_cond_information ( sys_pid_t id, sys_cond_t id, sys_dbg_cond_information_t* info ) | |
936 | 0x3A8 | DECR DEX | sys_dbg_get_rwlock_list | ||
937 | 0x3A9 | DECR DEX CEX | sys_dbg_get_rwlock_information | int sys_dbg_get_rwlock_information ( sys_pid_t id, sys_rwlock_t id, sys_dbg_rwlock_information_t* info ) | |
938 | 0x3AA | DECR DEX | sys_dbg_get_lwmutex_list | ||
939 | 0x3AB | DECR DEX | sys_dbg_get_address_from_dabr | int sys_dbg_get_address_from_dabr ( sys_pid_t id, uint64_t* addr, uint64_t* ctrl_flag ) | |
940 | 0x3AC | DECR DEX | sys_dbg_set_address_to_dabr | int sys_dbg_set_address_to_dabr ( sys_pid_t id, uint64_t addr, uint64_t ctrl_flag ) | |
941 | 0x3AD | DECR DEX CEX | sys_dbg_get_lwmutex_information | int sys_dbg_get_lwmutex_information ( sys_pid_t id, sys_lwmutex_pseudo_id_t id, sys_dbg_lwmutex_information_t* info ) | |
942 | 0x3AE | DECR DEX | sys_dbg_get_event_queue_list | ||
943 | 0x3AF | DECR DEX CEX | sys_dbg_get_event_queue_information | int sys_dbg_get_event_queue_information ( sys_pid_t id, sys_event_queue_t id, sys_dbg_event_queue_information_t* info ) | |
944 | 0x3B0 | DECR DEX CEX | sys_dbg_initialize_ppu_exception_handler | int sys_dbg_initialize_ppu_exception_handler( sys_event_queue_t * equeue_id) | |
945 | 0x3B1 | DECR DEX CEX | dbg | sys_dbg_finalize_ppu_exception_handler | int sys_dbg_finalize_ppu_exception_handler ( sys_event_queue_t equeue_id ) |
946 | 0x3B2 | DECR DEX | sys_dbg_get_semaphore_list | ||
947 | 0x3B3 | DECR DEX CEX | sys_dbg_get_semaphore_information | int sys_dbg_get_semaphore_information (sys_pid_t id, sys_semaphore_t id, sys_dbg_semaphore_information_t* info ) | |
948 | 0x3B4 | DECR DEX | sys_dbg_get_kernel_thread_list | ||
949 | 0x3B5 | DECR DEX | sys_dbg_get_kernel_thread_info | ||
950 | 0x3B6 | DECR DEX | sys_dbg_get_lwcond_list | ||
951 | 0x3B7 | DECR DEX CEX | sys_dbg_get_lwcond_information | int sys_dbg_get_lwcond_information (sys_pid_t id, sys_lwcond_pseudo_id_t id, sys_dbg_lwcond_information_t* info ) | |
952 | 0x3B8 | DECR DEX | sys_dbg_create_scratch_data_area_ext | ||
953 | 0x3B9 | DECR DEX | sys_dbg_vm_get_page_information | int sys_dbg_vm_get_page_information (sys_pid_t id, sys_addr_t addr, uint32_t num, sys_vm_page_information_t *pageinfo ) | |
954 | 0x3BA | DECR DEX | sys_dbg_vm_get_info | ||
955 | 0x3BB | DECR DEX | sys_dbg_enable_floating_point_enabled_exception | int sys_dbg_enable_floating_point_enabled_exception ( sys_ppu_thread_t id ) | |
956 | 0x3BC | DECR DEX | sys_dbg_disable_floating_point_enabled_exception | int sys_dbg_disable_floating_point_enabled_exception ( sys_ppu_thread_t id ) | |
957 | 0x3BD | DECR DEX CEX | sys_dbg_get_process_memory_container_information | (u32 proc_id, dbg_mc_info *mc_info[count], u32 *count) | |
959 | 0x3BF | DECR DEX CEX | sys_dbg_(send event flags?) | 4 Params: id, uint64_t,uint64_t,uint64_t | |
960 | 0x3C0 | DECR | sys_control_performance_monitor | int sys_control_performance_monitor? (int id, 0 / *out ) - Controls Performance Monitor on the Cell Broadband Engine syscall | |
961 | 0x3C1 | DECR | sys_performance_monitor_hidden | ||
962 | 0x3C2 | DECR | sys_performance_monitor_bookmark | ||
963 | 0x3C3 | DECR | sys_lv1_pc_trace_create | ||
964 | 0x3C4 | DECR | sys_lv1_pc_trace_start | ||
965 | 0x3C5 | DECR | sys_lv1_pc_trace_stop | ||
966 | 0x3C6 | DECR | sys_lv1_pc_trace_get_status | ||
967 | 0x3C7 | DECR | sys_lv1_pc_trace_destroy | ||
968 | 0x3C8 | DECR | sys_rsx_trace_ioctl | ||
969 | 0x3C9 | DECR | |||
970 | 0x3CA | DECR DEX | sys_dbg_get_event_flag_list | ||
971 | 0x3CB | DECR DEX CEX | sys_dbg_get_event_flag_information | int sys_dbg_get_event_flag_information ( sys_pid_t id, sys_event_flag_t id, sys_dbg_event_flag_information_t* info ) | |
972 | 0x3CC | DECR DEX CEX | sys_dbg_(send event flags?) | 1 Param: uint8_t [0x48] | |
973 | 0x3CD | DECR DEX | |||
974 | 0x3CE | DECR DEX CEX | sc(0x3CE, in:(ppu)thread_id, out:uint8_t[0x440]) | ||
975 | 0x3CF | DECR DEX CEX | sys_dbg_read_spu_thread_context2 | int sys_dbg_read_spu_thread_context2( sys_spu_thread_t id, sys_dbg_spu_thread_context2_t* spu_context ) | |
976 | 0x3D0 | DECR DEX CEX | sys_crypto_engine_create | int sys_crypto_engine_create(sys_pid_t* id); | |
977 | 0x3D1 | DECR DEX CEX | sys_crypto_engine_destroy | int sys_crypto_engine_destroy(sys_pid_t id); | |
978 | 0x3D2 | DECR DEX CEX | root | sys_crypto_engine_hasher_prepare | int sys_crypto_engine_hasher_prepare(sys_pid_t id, int32_t hash_key_index); /* uses HMAC-SHA1 with key size of 0x14 bytes, keys are generated by VTRM (master) */ |
979 | 0x3D3 | DECR DEX CEX | sys_crypto_engine_hasher_run | int sys_crypto_engine_hasher_run(sys_pid_t id, const void* data, uint32_t data size); /* splits data by chunks of 0x400 bytes max */ | |
980 | 0x3D4 | DECR DEX CEX | sys_crypto_engine_hasher_get_hash | int sys_crypto_engine_hasher_get_hash(sys_pid_t id, void* buffer, uint32_t max_buffer_size /* >= 0x14 */); | |
981 | 0x3D5 | DECR DEX CEX | root | sys_crypto_engine_cipher_prepare | int sys_crypto_engine_cipher_prepare(sys_pid_t id, int32_t hash_key_index, int32_t mode /* 1:encrypt, 2:decrypt */, int32_t cipher_key_index, const void* iv, uint32_t iv_size); /* uses AES-CBC-128, keys are generated by VTRM (master) */ |
982 | 0x3D6 | DECR DEX CEX | sys_crypto_engine_cipher_run | int sys_crypto_engine_cipher_run(sys_pid_t id, const void* input, void* output, uint32_t data_size); /* splits data by chunks of 0x400 bytes max */ | |
983 | 0x3D7 | DECR DEX CEX | sys_crypto_engine_cipher_get_hash | int sys_crypto_engine_cipher_get_hash(sys_pid_t id, void* buffer, uint32_t max_buffer_size /* >= 0x14 */); | |
984 | 0x3D8 | DECR DEX CEX | sys_crypto_engine_random_generate | int sys_crypto_engine_random_generate(void* buffer, uint32_t max_buffer_size /* >= 0x10 */); | |
985 | 0x3D9 | DECR DEX CEX | root | sys_dbg_get_console_type? | returns Console Type, syscall(985,uint64_t * type)
1=CEX 2=DEX 3=TOOL |
986 | 0x3DA | DECR DEX CEX | root dbg | seems to return Game Application Title ID , syscall(986,out:uint8[0x40]) | |
987 | 0x3DB | DECR DEX CEX | root | syscall(987,0 or 1, uint64_t data), example: 0, 0x8000100000020000 (no root flags required) example: 1, uint64_t data (requires root flags AND QA-Enabled, sends data to vsh process) | |
988 | 0x3DC | CEX | sys_dbg_(something)_ppu_exception_handler | 2 Params: syscall(988,int i,0) , i <0x10 (1 or 2 or 4 or 8 or 0x10) | |
989 | 0x3DD | DECR DEX CEX | 2 Params: syscall(989, (spu) thread_id ,out:uint8[0x20]) |
_sys_process_get_paramsfo[edit | edit source]
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00000000 01 < -------Title ID------- > 00 00 00 00 00 00 �BLES80608...... 00000010 < ---ExtraLoadFlag--- > < load HUDRSX libProf > ................ 00000020 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ................ 00000030 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ................
@0x18 can load libgpad.sprx from app_home
ExtraLoadFlag[edit | edit source]
Name | Value |
---|---|
EnableAccForRemotePlay | 0x20L |
EnableCoreDump | 0x10L |
EnableGCMDebug | 0x04L |
EnableHUDRSXTools | 0x40L |
EnableLv2ExceptionHandler | 0x01L |
EnableMAT | 0x80L |
EnableMiscSettings | 0x8000000000000000L |
EnableRemotePlay | 0x02L |
GameAttributeCustomMessage | 0x200L |
GameAttributeInviteMessage | 0x100L |
LoadingPatch | 0x1000L |
LoadLibprofSPRXAutomatically | 0x08L |
Boot Parameter[edit | edit source]
Name | Value |
---|---|
Default | 0x00L |
ReleaseMode | 0x01L |
MemSizeConsole | 0x02L |
BluRayEmuOff | 0x04L |
HDDSpeedBluRayEmu | 0x08L |
DebugMode | 0x10L |
SystemMode | 0x11L |
BluRayEmuUSB | 0x20L |
HostFSTarget | 0x40L |
DualNIC | 0x80L |
Network Syscalls[edit | edit source]
Networking uses syscalls 700-726
File Syscalls[edit | edit source]
OFLAGS[edit | edit source]
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[edit | edit source]
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 |
sys_spu_thread_group_cooperative_info_t | u32 deadlineMeetCounter; u32 deadlineMissCounter; u64 timestamp; u8 unknown[48]; | no |
FNCTL[edit | edit source]
IOCTL ID | Notes |
---|---|
0x80000000 | |
0x80000004 | (SetCharacterSet?) |
0x80000005 | (FsAllocateFileAreaByFd) |
0x80000006 | (FsAllocateFileAreaByFd) |
0x80000007 | (FsAllocateFileAreaByFd) |
0x80000008 | (FsAllocateFileAreaByFd) |
0x80000009 | (SdataOpenByFd) |
0x8000000A | (ReadWithOffset) |
0x8000000B | (WriteWithOffset) |
0xC0000001 | () |
0xC0000002 | (GetFreeSize) |
0xC0000003 | (SetFakeSize) |
0xC0000004 | (GetFakeSize) |
0xC0000005 | (GetSystemMergin) |
0xC0000006 | () |
0xC0000007 | (get hdd serial) |
0xC0000008 | (FsSetIoBuffer) |
0xC0000009 | () |
0xC000000A | () |
0xC000000B | () |
0xC000000C | () |
0xC000000D | () |
0xC000000E | () |
0xC000000F | () |
0xC0000010 | () |
0xC0000011 | () |
0xC0000012 | () |
0xC0000013 | () |
0xC0000014 | () |
0xC0000015 | (get_usb_mass_serial_number?) |
0xC0000016 | (ChangePs2discLayer) |
0xC0000017 | (open_dummy_files) |
0xC0000018 | (close_dummy_cfs_files) |
0xC0000019 | () |
0xC000001A | (SetDiscReadRetrySetting) |
0xC000001B | () |
0xC000001C | (get_usb_mass_serial_number?) |
0xC000001D | (set_psp_emu_title_id_path) |
0xC000001E | (memset title id path) |
0xC000001F | (process_request_set_redirected_full_path) |
0xC0000020 | () |
0xE0000000 | () |
0xE0000001 | () |
0xE0000003 | () |
0xE0000004 | () |
0xE0000005 | (FsMkdir) |
0xE0000006 | () |
0xE0000007 | (FsRmDir) |
0xE0000008 | (FsAclRead) |
0xE0000009 | (FsAccess) |
0xE000000A | () |
0xE000000B | () |
0xE000000C | (FsTruncate) |
0xE000000D | (FsUtime?) |
0xE000000E | (FsAclWrite) |
0xE000000F | (Chmod?) |
0xE0000010 | (FsChown) |
0xE0000011 | (error 0x80010037) |
0xE0000012 | (FsGetDirectoryEntries) |
0xE0000013 | () |
0xE0000014 | (FsSymbolicLink) |
0xE0000015 | (abort?) |
0xE0000016 | (FsAllocateFileAreaWithInitialData) |
0xE0000017 | (FsAllocateFileAreaWithoutZeroFill) |
0xE0000018 | (FsChangeFileSizeWithoutAllocation) |
0xE000001A | () |
0xE000001D | () |
0xE000001E | () |
0xE000001F | () |
0xE0000020 | () |
0xE0000024 | () |
0xE0000025 | (FsSdataOpenWithVersion) |
Filesystem Syscalls[edit | edit source]
Filesystem uses LV2_Functions_and_Syscalls#lv2Fs_Syscalls syscalls 700-726
Unofficial Syscalls added[edit | edit source]
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) were created.
Number | Function - Added by | Notes | |
---|---|---|---|
6 | lv2_peek - PL3-DEV, PSGroove v1.1, Payloader3 / (4.2x peek) | 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 / (4.2x poke) | r4 is a 64 bit value. r3 is the address to write that value to. | |
8 | lv2_lv1_peek - graf_chokolo / (4.3x peek) / | 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 | write - system_call_6(8, 0x7777, 0x32, (uint64_t)sys_process_getpid(), (uint64_t)ea, (uint64_t)data, (uint64_t)size); Read - system_call_6(8, 0x7777, 0x31, (uint64_t)sys_process_getpid(), (uint64_t)ea, (uint64_t)data, (uint64_t)size); |
8 | Remapper - Hermes4 | redirections of any paths, including /dev_usb for AVCHD HDD | |
9 | lv2_lv1_poke - graf_chokolo / (4.3x poke) | 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 | |
10 | lv2_lv1_call - rebug | r10 is the lv1 syscall number. The registers r3 - r9 are arguments. | |
11 | lv2_lv1_poke - jfw 'bad idea' | r4 is a 64 bit value. r3 is the address to write that value to. | |
11 | for sc_ctrl - 'Starsucks MFW 4.75 V1.00' | int sc_ctrl(int sc_num, int mode, uint64_t addr) | |
15 | lv2_func_call - habib | r10 is the address to the lv2 function. The registers r3 - r9 are arguments. | |
35 | Remapper - PL3, PSGroove, PSFreedom | syscall_35 (char *old_path, char *new_path); | |
36 | Remapper - Hermes, PSJailbreak / (4.2x BD-Emulator) | hardcoded /dev_bdvd & /app_home remapping | |
38 | New sk1e / Hermes payload | Syscall 8 in Iris Manager, changed to syscall 38 in IRISMAN | |
200 | Run_Payload - Payloader3 | ||
201 | Alloc - Payloader3 | ||
200 | sys_dbg_read_process_memory - CCAPI | ||
201 | sys_dbg_write_process_memory - CCAPI | ||
202 | Free - Payloader3 | ||
203 | lv2_peek - CCAPI | false info look ccapi section | |
204 | lv2_poke - CCAPI | false info look ccapi section | |
1022 | load_prx_module - PRXLoader | system_call_6(PRX_SYSCALL, PRX_SYSCALL_LOAD, process_obj, slot, path, arg, arg_size); |
Note: LV1: Peek and Poke support uses unused LV1 call 182 and 183
See also:
- Tutorial How to call a Syscall By deroad: http://www.ps3hax.net/2012/02/tutorial-how-to-call-a-syscall-by-deroad/