Editing Talk:LV2 Functions and Syscalls
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 57: | Line 57: | ||
syscall(861,packet_id, r4,r5,r6,r7,r8,r9,r10)<br> | syscall(861,packet_id, r4,r5,r6,r7,r8,r9,r10)<br> | ||
Note: access to this Syscall | Note: access to this Syscall requries 0x40 Root Control Flags, else 0x80010003 | ||
{| class="wikitable FCK__ShowTableBorders" | {| class="wikitable FCK__ShowTableBorders" | ||
Line 129: | Line 129: | ||
syscall(862,packet_id, r4,r5,r6,r7)<br> | syscall(862,packet_id, r4,r5,r6,r7)<br> | ||
Note: access to this Syscall | Note: access to this Syscall requries 0x40 Root Control Flags, else 0x80010003 | ||
{| class="wikitable FCK__ShowTableBorders" | {| class="wikitable FCK__ShowTableBorders" | ||
Line 210: | Line 210: | ||
syscall(863,packet_id, r4,r5,r6,r7,r8,r9) <br> | syscall(863,packet_id, r4,r5,r6,r7,r8,r9) <br> | ||
Note: access to this Syscall | Note: access to this Syscall requries 0x40 Root Control Flags, else 0x80010003 | ||
{| class="wikitable FCK__ShowTableBorders" | {| class="wikitable FCK__ShowTableBorders" | ||
Line 276: | Line 276: | ||
syscall(864,packet_id, r4) <br> | syscall(864,packet_id, r4) <br> | ||
Note: access to this Syscall | Note: access to this Syscall requries at least 0x20 Debug Control Flags, else 0x80010003 | ||
{| class="wikitable FCK__ShowTableBorders" | {| class="wikitable FCK__ShowTableBorders" | ||
Line 344: | Line 344: | ||
syscall(867,packet_id, r4) <br> | syscall(867,packet_id, r4) <br> | ||
Note: access to this Syscall | Note: access to this Syscall requries 0x40 Root Control Flags, else 0x80010003 | ||
{| class="wikitable FCK__ShowTableBorders" | {| class="wikitable FCK__ShowTableBorders" | ||
Line 371: | Line 371: | ||
syscall(868,packet_id, r4,r5,r6,r7) <br> | syscall(868,packet_id, r4,r5,r6,r7) <br> | ||
Note: access to this Syscall | Note: access to this Syscall requries 0x40 Root Control Flags, but allows 0x20 Debug Flags and certain authentication id's for first packet_id | ||
{| class="wikitable FCK__ShowTableBorders" | {| class="wikitable FCK__ShowTableBorders" | ||
Line 452: | Line 452: | ||
syscall(869,packet_id, r4) <br> | syscall(869,packet_id, r4) <br> | ||
Note: access to this Syscall | Note: access to this Syscall requries 0x40 Root Control Flags and possibly restricted to certain authentication id's, else 0x80010003 | ||
{| class="wikitable FCK__ShowTableBorders" | {| class="wikitable FCK__ShowTableBorders" | ||
Line 493: | Line 493: | ||
| 3 | | 3 | ||
| syscall(871,3,sys_pid_t id) | | syscall(871,3,sys_pid_t id) | ||
| this packet_id | | this packet_id requries 0x20 Debug Control Flags, else 0x80010003, but returns 0x8001009 | ||
|} | |} | ||
Line 517: | Line 517: | ||
syscall(877,packet_id, r4,size) <br> | syscall(877,packet_id, r4,size) <br> | ||
Note: access to this Syscall | Note: access to this Syscall requries 0x40 Root Control Flags, else 0x80010003 | ||
{| class="wikitable FCK__ShowTableBorders" | {| class="wikitable FCK__ShowTableBorders" | ||
Line 549: | Line 549: | ||
|- | |- | ||
|} | |} | ||
=== Syscall 879 (0x36F) Media ID === | === Syscall 879 (0x36F) Media ID === | ||
Line 572: | Line 569: | ||
these lv2 syscalls are present, but neither ordinal nor branches are known yet | these lv2 syscalls are present, but neither ordinal nor branches are known yet | ||
sys_usbbtaudio_start_recording_ex | sys_usbbtaudio_start_recording_ex | ||
sys_lwcond_attribute_name_set | |||
sys_lwmutex_attribute_name_set | |||
sys_event_flag_attribute_name_set | |||
sys_semaphore_attribute_name_set | |||
sys_cond_attribute_name_set | |||
sys_mutex_attribute_name_set | |||
sys_raw_spu_mmio_read_ls (no real lv2 syscall, reading mmio address) | sys_raw_spu_mmio_read_ls (no real lv2 syscall, reading mmio address) | ||
sys_raw_spu_mmio_write_ls (no real lv2 syscall, reading mmio address) | sys_raw_spu_mmio_write_ls (no real lv2 syscall, reading mmio address) | ||
sys_raw_spu_mmio_read (no real lv2 syscall, reading mmio address) | sys_raw_spu_mmio_read (no real lv2 syscall, reading mmio address) | ||
sys_raw_spu_mmio_write (no real lv2 syscall, reading mmio address) | sys_raw_spu_mmio_write (no real lv2 syscall, reading mmio address) | ||
sys_event_queue_attribute_name_set | |||
sys_lwcond_signal | |||
sys_lwcond_signal_all | |||
sys_lwcond_signal_to | |||
sys_lwcond_wait | |||
sys_spu_elf_get_segments | sys_spu_elf_get_segments | ||
sys_raw_spu_image_load | sys_raw_spu_image_load | ||
sys_mmapper_allocate_memory | |||
sys_ppu_thread_unregister_atexit | sys_ppu_thread_unregister_atexit | ||
sys_ppu_thread_once | sys_ppu_thread_once | ||
Line 585: | Line 594: | ||
sys_process_atexitspawn | sys_process_atexitspawn | ||
sys_game_process_exitspawn2 | sys_game_process_exitspawn2 | ||
sys_process_is_stack | sys_process_is_stack | ||
debug syscalls | debug syscalls | ||
Line 8,213: | Line 8,222: | ||
https://pastebin.com/aTRaFstS | https://pastebin.com/aTRaFstS | ||
= | === LV2 Syscalls Merged Table === | ||
= | |||
= | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
|- | |- | ||
! | ! Dec | ||
! | ! Hex | ||
! <abbr title="Firmware Type Specific (CEX,DEX,..)">fw_type</abbr> | |||
! <abbr title="Additional Settings/Flags required (Control Flags,Product Mode,..)">needed_flags</abbr> | |||
! Name | |||
! Notes | |||
|- | |- | ||
| | ! colspan="6" id="sys_process Syscalls"|[[#sys_process Syscalls]] (1-31) | ||
|- | |- | ||
| | | 1 | ||
| | | 0x001 | ||
| {{CEX}}{{DEX}}{{DECR}} | |||
| | |||
| sys_process_getpid | |||
| sys_pid_t sys_process_getpid(void); | |||
|- | |- | ||
| | | 2 | ||
| | | 0x002 | ||
| {{CEX}}{{DEX}}{{DECR}} | |||
| {{Root}} | |||
| sys_process_wait_for_child | |||
| 3 params: sys_pid_t, uint32_t *status, unk=0 | |||
|- | |- | ||
| | | 3 | ||
| | | 0x003 | ||
| {{CEX}}{{DEX}}{{DECR}} | |||
| | |||
| sys_process_exit | |||
| int sys_process_exit(int) | |||
|- | |- | ||
| | | 4 | ||
| | | 0x004 | ||
| {{CEX}}{{DEX}}{{DECR}} | |||
| {{Dbg}} | |||
| sys_process_get_status | |||
| int sys_process_get_status(sys_pid_t pid) | |||
|- | |- | ||
| | | 5 | ||
| | | 0x005 | ||
| {{CEX}}{{DEX}}{{DECR}} | |||
| {{Dbg}} | |||
| sys_process_detach_child | |||
| 1 param | |||
|- | |- | ||
| | | 6 | ||
| | | 0x006 | ||
| ?? | |||
| ?? | |||
| syscall_sys_process_create_program_segment | |||
| ?? | |||
|- | |- | ||
| | | 7 | ||
| | | 0x007 | ||
| ?? | |||
| ?? | |||
| syscall_sys_process_destroy_program_segment | |||
| ?? | |||
|- | |- | ||
| | | 8 | ||
| | | 0x008 | ||
| ?? | |||
| ?? | |||
| syscall_sys_process_authenticate_program_segment | |||
| ?? | |||
|- | |- | ||
| | | 9 | ||
| | | 0x009 | ||
| ?? | |||
| ?? | |||
| syscall_sys_process_load_program_segment | |||
| ?? | |||
|- | |- | ||
| | | 10 | ||
| | | 0x00A | ||
| ?? | |||
| ?? | |||
| syscall_sys_process_unload_program_segment | |||
| ?? | |||
|- | |- | ||
| | | 11 | ||
| | | 0x00B | ||
| ?? | |||
| ?? | |||
| syscall_sys_process_find_and_load_program_segment | |||
| ?? | |||
|- | |- | ||
| | | 12 | ||
| | | 0x00C | ||
| {{CEX}}{{DEX}}{{DECR}} | |||
| | |||
| sys_process_get_number_of_object | |||
| int sys_process_get_number_of_object(uint32_t object_type, uint32_t* count); | |||
|- | |- | ||
| | | 13 | ||
| | | 0x00D | ||
| {{CEX}}{{DEX}}{{DECR}} | |||
| | |||
| sys_process_get_id | |||
| int sys_process_get_id(uint32_t object, uint32_t * buff, size_t size, size_t * set_size); | |||
|- | |- | ||
| | | 14 | ||
| | | 0x00E | ||
| {{CEX}}{{DEX}}{{DECR}} | |||
| | |||
| 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 | ||
| ?? | |||
| ?? | |||
| syscall_sys_process_create | |||
| ?? | |||
|- | |- | ||
| | | 18 | ||
| | | 0x012 | ||
| {{CEX}}{{DEX}}{{DECR}} | |||
| | |||
| sys_process_getppid | |||
| sys_pid_t sys_process_getppid(void); | |||
|- | |- | ||
| | | 19 | ||
| | | 0x013 | ||
| {{CEX}}{{DEX}}{{DECR}} | |||
| | |||
| sys_process_kill | |||
| int sys_process_kill(sys_pid_t pid); | |||
|- | |- | ||
| | | 20 | ||
| | | 0x014 | ||
| ?? | |||
| ?? | |||
| syscall_sys_process_create_primary_ppu_thread_tls | |||
| ?? | |||
|- | |- | ||
| | | 21 | ||
| | | 0x015 | ||
| {{CEX}}{{DEX}}{{DECR}} | |||
| {{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 | ||
| {{CEX}}{{DEX}}{{DECR}} | |||
| | |||
| sys_process_exit | |||
| void sys_process_exit(int error_code,0,0) | |||
|- | |- | ||
| | | 23 | ||
| | | 0x017 | ||
| {{CEX}}{{DEX}}{{DECR}} | |||
| {{Dbg}} | |||
| sys_process_wait_for_child2 | |||
| 6 params | |||
|- | |- | ||
| | | 24 | ||
| | | 0x018 | ||
| {{CEX}}{{DEX}}{{DECR}} | |||
| {{Dbg}} | |||
| | |||
| 8 params, spawns a self | |||
|- | |- | ||
| | | 25 | ||
| | | 0x019 | ||
| {{CEX}}{{DEX}}{{DECR}} | |||
| | |||
| sys_process_get_sdk_version | |||
| 2 params :sys_pid_t pid, uint8_t outbuf[4] | |||
|- | |- | ||
| | | 26 | ||
| | | 0x01A | ||
| {{CEX}}{{DEX}}{{DECR}} | |||
| | |||
| _sys_process_exit as well | |||
| 4 params (calls sys_process_exit) | |||
|- | |- | ||
| | | 27 | ||
| | | 0x01B | ||
| {{CEX}}{{DEX}}{{DECR}} | |||
| {{Dbg}} | |||
| | |||
| 8 params, spawns a self | |||
|- | |- | ||
| | | 28 | ||
| | | 0x01C | ||
| {{CEX}}{{DEX}}{{DECR}} | |||
| {{Root}} | |||
| _sys_process_get_number_of_object as well kinda | |||
| int sys_process_get_number_of_object(uint32_t object) | |||
|- | |- | ||
| | | 29 | ||
| | | 0x01D | ||
| {{CEX}}{{DEX}}{{DECR}} | |||
| {{Root}} | |||
| sys_process_get_id as well | |||
| same as syscall13 just with root flag check, same input etc. | |||
|- | |- | ||
| | | 30 | ||
| | | 0x01E | ||
| {{CEX}}{{DEX}}{{DECR}} | |||
| | |||
| _sys_process_get_paramsfo | |||
| int _sys_process_get_paramsfo(uint8_t buffer[0x40]); (more info: [[#sys_process_get_paramsfo]]) | |||
|- | |- | ||
| | | 31 | ||
| | | 0x01F | ||
| {{CEX}}{{DEX}}{{DECR}} | |||
| | |||
| sys_process_get_ppu_guid | |||
| sys_addr_t sys_process_get_ppu_guid(void); | |||
|} | |||
{ | |||
| | |||
| | |||
| | |||
|- | |- | ||
|} | |} |