Talk:LV2 Functions and Syscalls: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
m (→‎LV2 Syscalls Merged Table: <- cannot insert the table fully so trying something else)
Line 8,221: Line 8,221:


https://pastebin.com/aTRaFstS
https://pastebin.com/aTRaFstS
=== LV2 Syscalls Merged Table ===
{| 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);
|-
! colspan="6" id="sys_ppu_thread Syscalls"|[[#sys_ppu_thread Syscalls]] (40-58)
|-
| 41
| 0x029
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_ppu_thread_exit
| int sys_ppu_thread_exit(int errorcode)
|-
| 43
| 0x02B
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_ppu_thread_yield
| void sys_ppu_thread_yield(void);
|-
| 44
| 0x02C
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_ppu_thread_join
| int sys_ppu_thread_join(sys_ppu_thread_t thread_id, uint64_t * vptr);
|-
| 45
| 0x02D
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_ppu_thread_detach
| int sys_ppu_thread_detach(sys_ppu_thread_t thread_id);
|-
| 46
| 0x02E
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_ppu_thread_get_join_state
| void sys_ppu_thread_get_join_state(int *isjoinable);
|-
| 47
| 0x02F
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| 0x030
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_ppu_thread_get_priority
| int sys_ppu_thread_get_priority(sys_ppu_thread_t thread_id, int *prio);
|-
| 49
| 0x031
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_ppu_thread_get_stack_information
| int sys_ppu_thread_get_stack_information(sys_ppu_thread_stack_t * info);
|-
| 50
| 0x032
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_ppu_thread_stop
| int sys_ppu_thread_stop(sys_ppu_thread_t thread_id);
|-
| 51
| 0x033
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_ppu_thread_restart
| int sys_ppu_thread_restart(void);
|-
| 52
| 0x034
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_ppu_thread_start
| int sys_ppu_thread_start(sys_ppu_thread_t thread_id);
|-
| 54
| 0x036
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| syscall(0x036, 0x109/0x111, out: uint8[4]), pu_thread get (kernel) allocation information
|-
| 55
| 0x037
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| syscall(0x037, 0x111, 0> int <0x100), pu_thread set (kernel) allocation? information
|-
| 56
| 0x038
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_ppu_thread_rename
| int sys_ppu_thread_rename(sys_ppu_thread_t thread_id, const char *name);
|-
| 57
| 0x039
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_ppu_thread_recover_page_fault
| int sys_ppu_thread_recover_page_fault(sys_ppu_thread_t thread_id);
|-
| 58
| 0x03A
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{DEX}} {{DECR}}
|
| sys_trace_create
|
|-
| 61
| 0x03D
| {{DEX}} {{DECR}}
|
| sys_trace_start
|
|-
| 62
| 0x03E
| {{DEX}} {{DECR}}
|
| sys_trace_stop
|
|-
| 63
| 0x03F
| {{DEX}} {{DECR}}
|
| sys_trace_update_top_index
|
|-
| 64
| 0x040
| {{DEX}} {{DECR}}
|
| sys_trace_destroy
|
|-
| 65
| 0x041
| {{DEX}} {{DECR}}
|
| sys_trace_drain
|
|-
| 66
| 0x042
| {{DEX}} {{DECR}}
|
| sys_trace_attach_process
|
|-
| 67
| 0x043
| {{DEX}} {{DECR}}
|
| sys_trace_allocate_buffer
|
|-
| 68
| 0x044
| {{DEX}} {{DECR}}
|
| sys_trace_free_buffer
|
|-
| 69
| 0x045
| {{DEX}} {{DECR}}
|
| sys_trace_create2
|
|-
! colspan="6" id="sys_timer Syscalls"|[[#sys_timer Syscalls]] (70-76+141+142)
|-
| 70
| 0x046
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_timer_create
| int sys_timer_create(sys_timer_t * timer_id);
|-
| 71
| 0x047
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_timer_destroy
| int sys_timer_destroy(sys_timer_t timer_id);
|-
| 72
| 0x048
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_timer_get_information
| int sys_timer_get_information(sys_timer_t timer_id, sys_timer_information_t * info);
|-
| 73
| 0x049
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_timer_start
| int sys_timer_start(sys_timer_t timer_id, system_time_t base_time, usecond_t period);
|-
| 74
| 0x04A
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_timer_stop
| int sys_timer_stop(sys_timer_t timer_id);
|-
| 75
| 0x04B
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| 0x04D
| {{DEX}} {{DECR}}
|
| 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
| 0x050
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| 0x052
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| 0x054
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| 0x055
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_interrupt_thread_eoi
| void sys_interrupt_thread_eoi(void);
|-
| 89
| 0x059
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_semaphore_destroy
| int sys_semaphore_destroy(sys_semaphore_t sem);
|-
| 92
| 0x05C
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_semaphore_wait
| int sys_semaphore_wait(sys_semaphore_t sem, usecond_t timeout);
|-
| 93
| 0x05D
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_semaphore_trywait
| int sys_semaphore_trywait(sys_semaphore_t sem);
|-
| 94
| 0x05E
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_lwmutex_create
| int sys_lwmutex_create(sys_lwmutex_t *lwmutex, sys_lwmutex_attribute_t *attr)
|-
| 96
| 0x060
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_lwmutex_destroy
| int sys_lwmutex_destroy(sys_lwmutex_t *lwmutex)
|-
| 97
| 0x061
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_lwmutex_lock
| int sys_lwmutex_lock(sys_lwmutex_t *lwmutex, usecond_t timeout)
|-
| 98
| 0x062
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_lwmutex_trylock
| int sys_lwmutex_trylock(sys_lwmutex_t *lwmutex)
|-
| 99
| 0x063
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_lwmutex_unlock
| int sys_lwmutex_unlock(sys_lwmutex_t *lwmutex)
|-
! colspan="6" id="sys_mutex Syscalls"|[[#sys_mutex Syscalls]] (100-104)
|-
| 100
| 0x064
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_mutex_create
| int sys_mutex_create(sys_mutex_t * mutex_id, sys_mutex_attribute_t * attr);
|-
| 101
| 0x065
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_mutex_destroy
| int sys_mutex_destroy(sys_mutex_t mutex_id);
|-
| 102
| 0x066
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_mutex_lock
| int sys_mutex_lock(sys_mutex_t mutex_id, usecond_t timeout);
|-
| 103
| 0x067
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_mutex_trylock
| int sys_mutex_trylock(sys_mutex_t mutex_id);
|-
| 104
| 0x068
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_cond_create
| int sys_cond_create(sys_cond_t * cond_id, sys_mutex_t mutex_id, sys_cond_attribute_t * attr);
|-
| 106
| 0x06A
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_cond_destroy
| int sys_cond_destroy(sys_cond_t cond_id);
|-
| 107
| 0x06B
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_cond_wait
| int sys_cond_wait(sys_cond_t cond_id, usecond_t timeout);
|-
| 108
| 0x06C
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_cond_signal
| int sys_cond_signal(sys_cond_t cond_id);
|-
| 109
| 0x06D
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_cond_signal_all
| int sys_cond_signal_all(sys_cond_t cond_id);
|-
| 110
| 0x06E
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_lwcond_create
| int sys_lwcond_create(sys_lwcond_t *lwcond, sys_lwmutex_t *lwmutex, sys_lwcond_attribute_t *attr)
|-
| 112
| 0x070
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_lwcond_destroy
| int sys_lwcond_destroy(sys_lwcond_t *lwcond)
|-
| 113
| 0x071
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_lwcond_queue_wait
| 3 params
|-
! colspan="6" id="sys_semaphore Syscalls"|[[#sys_semaphore Syscalls]] (90-94+114)
|-
| 114
| 0x072
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_semaphore_get_value
| int sys_semaphore_get_value(sys_semaphore_t sem, sys_semaphore_value_t * val);
|-
| 115
| 0x073
| {{CEX}}{{DEX}}{{DECR}}
|
|
| 4 params
|-
| 116
| 0x074
| {{CEX}}{{DEX}}{{DECR}}
|
|
| 3 params
|-
| 117
| 0x075
| {{CEX}}{{DEX}}{{DECR}}
|
|
| 1 params : sys_lwmutex_t *lwmutex
|-
! colspan="6" id="sys_event Syscalls"|[[#sys_event Syscalls]] (82+83+85-87+118+128-140)
|-
| 118
| 0x076
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_event_flag_clear
| int sys_event_flag_clear(sys_event_flag_t id, uint64_t bitptn);
|-
| 119
| 0x077
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rwlock_create
| int sys_rwlock_create(sys_rwlock_t * rw_lock_id, sys_rwlock_attribute_t * attr);
|-
| 121
| 0x079
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rwlock_destroy
| int sys_rwlock_destroy(sys_rwlock_t rw_lock_id);
|-
| 122
| 0x07A
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rwlock_rlock
| int sys_rwlock_rlock(sys_rwlock_t rw_lock_id, usecond_t timeout);
|-
| 123
| 0x07B
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rwlock_tryrlock
| int sys_rwlock_tryrlock(sys_rwlock_t rw_lock_id);
|-
| 124
| 0x07C
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rwlock_runlock
| int sys_rwlock_runlock(sys_rwlock_t rw_lock_id);
|-
| 125
| 0x07D
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rwlock_wlock
| int sys_rwlock_wlock(sys_rwlock_t rw_lock_id, usecond_t timeout);
|-
| 126
| 0x07E
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rwlock_trywlock
| int sys_rwlock_trywlock(sys_rwlock_t rw_lock_id);
|-
| 127
| 0x07F
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_event_queue_destroy
| int sys_event_queue_destroy(sys_event_queue_t equeue_id, int mode);
|-
| 130
| 0x082
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_event_queue_receive
| int sys_event_queue_receive(sys_event_queue_t equeue_id, sys_event_t * event, usecond_t timeout);
|-
| 131
| 0x083
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_event_flag_cancel
| int sys_event_flag_cancel(sys_event_flag_t id, int *num);
|-
| 133
| 0x085
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_event_queue_drain
| int sys_event_queue_drain(sys_event_queue_t equeue_id);
|-
| 134
| 0x086
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_event_port_create
| int sys_event_port_create(sys_event_port_t * eport_id, int port_type, uint64_t name);
|-
| 135
| 0x087
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_event_port_destroy
| int sys_event_port_destroy(sys_event_port_t eport_id);
|-
| 136
| 0x088
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_event_port_disconnect
| int sys_event_port_disconnect(sys_event_port_t event_port_id);
|-
| 138
| 0x08A
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_event_flag_get
| int sys_event_flag_get(sys_event_flag_t id, uint64_t * bitptn);
|-
| 140
| 0x08C
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_timer_usleep
| int sys_timer_usleep(usecond_t sleep_time);
|-
| 142
| 0x08E
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_timer_sleep
| int sys_timer_sleep(second_t sleep_time);
|-
! colspan="6" id="sys_time Syscalls"|[[#sys_time Syscalls]] (143-147)
|-
| 143
| 0x08F
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_time_set_timezone
| int sys_time_set_timezone(int timezone, int summertime)
|-
| 144
| 0x090
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_time_get_timezone
| int sys_time_get_timezone(int *timezone, int *summertime)
|-
| 145
| 0x091
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_time_get_current_time
| int sys_time_get_current_time(sys_time_sec_t * sec, sys_time_nsec_t * nsec);
|-
| 146
| 0x092
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_time_set_current_time
| int sys_time_set_current_time(uint64_t sec, uint64_t nsec);
|-
| 147
| 0x093
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_image_get_information?
| int sys_spu_image_get_information?(sys_spu_image_t *img, out:uint[4],out:uint[4])
|-
| 156
| 0x09C
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_image_open
| int sys_spu_image_open(sys_spu_image_t *img, const char *path)
|-
| 157
| 0x09D
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_image_import
| int sys_spu_image_import(sys_spu_image_t *img, const void *src, uint32_t type)
|-
| 158
| 0x09E
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_image_close
| int sys_spu_image_close(sys_spu_image_t *img);
|-
| 159
| 0x09F
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_raw_spu_load
| 3 Params ( sys_spu_image_t * img, sys_addr_t alloc_addr, int size? ), needs much more proper information
|-
| 160
| 0x0A0
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_raw_spu_create
| int sys_raw_spu_create(sys_raw_spu_t *id, sys_raw_spu_attribute_t *attr)
|-
| 161
| 0x0A1
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_raw_spu_destroy
| int sys_raw_spu_destroy(sys_raw_spu_t id)
|-
| 163
| 0x0A3
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_raw_spu_read_puint_mb
| int sys_raw_spu_read_puint_mb(sys_raw_spu_t id, uint32_t *value)
|-
| 165
| 0x0A5
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_get_exit_status
| int sys_spu_thread_get_exit_status(sys_spu_thread_t id, int *status)
|-
| 166
| 0x0A6
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_set_argument
| int sys_spu_thread_set_argument(sys_spu_thread_t id, sys_spu_thread_argument_t *arg)
|-
| 167
| 0x0A7
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_group_start_on_exit
|
|-
| 169
| 0x0A9
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_initialize
| int sys_spu_initialize(unsigned int max_usable_spu, unsigned int max_raw_spu)
|-
| 170
| 0x0AA
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_group_create
| int sys_spu_thread_group_create(sys_spu_thread_group_t *id, unsigned int num, int prio, sys_spu_thread_group_attribute_t *attr)
|-
| 171
| 0x0AB
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_group_destroy
| int sys_spu_thread_group_destroy(sys_spu_thread_group_t id)
|-
| 172
| 0x0AC
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_initialize
| int sys_spu_thread_initialize(sys_spu_thread_t *thread,sys_spu_thread_group_t group,uint spu_num,sys_spu_image_t *img,sys_spu_thread_attribute_t *attr,sys_spu_thread_argument_t *arg)
|-
| 173
| 0x0AD
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_group_start
| int sys_spu_thread_group_start(sys_spu_thread_group_t id)
|-
| 174
| 0x0AE
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_group_suspend
| int sys_spu_thread_group_suspend(sys_spu_thread_group_t id)
|-
| 175
| 0x0AF
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_group_resume
| int sys_spu_thread_group_resume(sys_spu_thread_group_t id)
|-
| 176
| 0x0B0
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_group_yield
| int sys_spu_thread_group_yield(sys_spu_thread_group_t id)
|-
| 177
| 0x0B1
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_group_terminate
| int sys_spu_thread_group_terminate(sys_spu_thread_group_t id, int value)
|-
| 178
| 0x0B2
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_group_join
| int sys_spu_thread_group_join(sys_spu_thread_group_t gid, int *cause, int *status)
|-
| 179
| 0x0B3
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_group_set_priority
| int sys_spu_thread_group_set_priority(sys_spu_thread_group_t id, int priority)
|-
| 180
| 0x0B4
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_group_get_priority
| int sys_spu_thread_group_get_priority(sys_spu_thread_group_t id, int *priority)
|-
| 181
| 0x0B5
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_read_ls
| int sys_spu_thread_read_ls(sys_spu_thread_t id, uint32_t address, uint64_t *value, size_t type)
|-
| 184
| 0x0B8
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_write_snr
| int sys_spu_thread_write_snr(sys_spu_thread_t id, int number, uint32_t value)
|-
| 185
| 0x0B9
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_set_spu_cfg
| int sys_spu_thread_set_spu_cfg(sys_spu_thread_t id, uint64_t value)
|-
| 188
| 0x0BC
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_get_spu_cfg
| int sys_spu_thread_get_spu_cfg(sys_spu_thread_t id, uint64_t *value)
|-
| 190
| 0x0BE
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_write_spu_mb
| int sys_spu_thread_write_spu_mb(sys_spu_thread_t id, uint32_t value);
|-
| 191
| 0x0BF
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_unbind_queue
| int sys_spu_thread_unbind_queue(sys_spu_thread_t id, uint32_t spuq_num)
|-
| 196
| 0x0C4
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_raw_spu_set_spu_cfg
| int sys_raw_spu_set_spu_cfg(sys_raw_spu_t id, uint32_t value)
|-
| 197
| 0x0C5
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_raw_spu_get_spu_cfg
| int sys_raw_spu_get_spu_cfg(sys_raw_spu_t id, uint32_t *value)
|-
| 198
| 0x0C6
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_recover_page_fault
| int sys_spu_thread_recover_page_fault(sys_spu_thread_t id)
|-
| 199
| 0x0C7
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_raw_spu_recover_page_fault
| int sys_raw_spu_recover_page_fault(sys_raw_spu_t id)
|-
| 200
| 0x0C8
| ??
| ??
| syscall_console_putc
| ??
|-
| 201
| 0x0C9
| ??
| ??
| syscall_console_getc
| ??
|-
| 202
| 0x0CA
| ??
| ??
| syscall_event_create_port
| ??
|-
| 203
| 0x0CB
| ??
| ??
| syscall_event_send_locally
| ??
|-
| 209
| 0x0D1
| ??
| ??
| syscall_sys_pseudo_fs_read
| ??
|-
| 210
| 0x0D2
| ??
| ??
| syscall_sys_pseudo_fs_write
| ??
|-
| 211
| 0x0D3
| ??
| ??
| syscall_sys_pseudo_fs_append
| ??
|-
| 212
| 0x0D4
| ??
| ??
| syscall_start_debug
| ??
|-
| 213
| 0x0D5
| ??
| ??
| syscall_console_write
| ??
|-
| 214
| 0x0D6
| ??
| ??
| syscall_sys_pseudo_fs_get_file_size
| ??
|-
| 215
| 0x0D7
| {{DEX}} {{DECR}}
|
| sys_dbg_mat_set_condition
| int sys_dbg_mat_set_condition(sys_addr_t,int)
|-
| 216
| 0x0D8
| {{DEX}} {{DECR}}
|
| sys_dbg_mat_get_condition
| int sys_dbg_mat_get_condition(sys_addr_t,int*)
|-
| 217
| 0x0D9
| ??
| ??
| syscall_logical_console_getc
| ??
|-
| 218
| 0x0DA
| ??
| ??
| syscall_logical_console_putc
| ??
|-
| 219
| 0x0DB
| ??
| ??
| syscall_logical_console_flush
| ??
|-
| 226
| 0x0E2
| ??
| ??
| syscall_get_logical_partition_id
| ??
|-
| 230
| 0x0E6
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_isolated_spu_destroy
| int sys_isolated_spu_destroy(sys_raw_spu_t id)
|-
| 232
| 0x0E8
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_isolated_spu_start
| int sys_isolated_spu_start(sys_raw_spu_t id)
|-
| 233
| 0x0E9
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_isolated_spu_set_spu_cfg
| int sys_isolated_spu_set_spu_cfg(sys_spu_thread_t id, uint64_t value)
|-
| 239
| 0x0EF
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_isolated_spu_get_spu_cfg
| int sys_isolated_spu_get_spu_cfg(sys_spu_thread_t id, uint64_t * value)
|-
| 240
| 0x0F0
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_isolated_spu_read_puint_mb
| int sys_isolated_spu_read_puint_mb(sys_raw_spu_t id, uint32_t * value)
|-
| 244
| 0x0F4
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_spu_thread_group_system_set_next_group
| int sys_spu_thread_group_system_set_next_group(void)
|-
| 245
| 0x0F5
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_spu_thread_group_system_unset_next_group
| int sys_spu_thread_group_system_unset_next_group(void)
|-
| 246
| 0x0F6
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_spu_thread_group_system_set_switch_group
| int sys_spu_thread_group_system_set_switch_group(void)
|-
| 247
| 0x0F7
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_spu_thread_group_system_unset_switch_group
| int sys_spu_thread_group_system_unset_switch_group(void)
|-
| 248
| 0x0F8
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_spu_thread_group....
| 5 Params: sys_spu_thread_group_t group,.....
|-
| 249
| 0x0F9
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_spu_thread_group....
| int sc249(sys_spu_thread_group_t group)
|-
| 250
| 0x0FA
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_group_set_cooperative_victims
| 2 Params
|-
| 251
| 0x0FB
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_group..
| 2 Params( sys_spu_thread_group_t id, out:uint8[0x40])
|-
| 254
| 0x0FE
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_thread_group_log
| int sys_spu_thread_group_log(int command, int *stat)
|-
| 256
| 0x100
| ??
| ??
| syscall_create_repository_node
| ??
|-
| 257
| 0x101
| ??
| ??
| syscall_get_repository_node_value
| ??
|-
| 258
| 0x102
| ??
| ??
| syscall_modify_repository_node_value
| ??
|-
| 259
| 0x103
| ??
| ??
| syscall_remove_repository_node
| ??
|-
| 260
| 0x104
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_spu_image_open_by_fd
| int sys_spu_image_open_by_fd(sys_spu_image_t *img, int fd, off64_t offset)
|-
! colspan="6" id="sys_vm/sys_memory/sys_mmapper Syscalls"|[[#sys_vm/sys_memory/sys_mmapper Syscalls]] (300-352)
|-
| 275
| 0x113
| ??
| ??
| syscall_set_vsync_schedule
| ??
|-
| 290
| 0x122
| ??
| ??
| syscall_set_l2_cache_replacement_mode
| ??
|-
| 291
| 0x123
| ??
| ??
| syscall_change_l2_cache_state_all
| ??
|-
| 292
| 0x124
| ??
| ??
| syscall_invalidate_i_cache_blocks_related_kernel
| ??
|-
| 294
| 0x126
| ??
| ??
| syscall_proc_get_filename
| ??
|-
| 295
| 0x127
| ??
| ??
| syscall_sys_pseudo_fs_truncate
| ??
|-
| 296
| 0x128
| ??
| ??
| syscall_sys_pseudo_fs_get_dents
| ??
|-
| 300
| 0x12C
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_vm_unmap
| int sys_vm_unmap(sys_addr_t addr);
|-
| 302
| 0x12E
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_vm_append_memory
| int sys_vm_append_memory(sys_addr_t addr, size_t size);
|-
| 303
| 0x12F
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_vm_return_memory
| int sys_vm_return_memory(sys_addr_t addr, size_t size);
|-
| 304
| 0x130
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_vm_lock
| int sys_vm_lock(sys_addr_t addr, size_t size);
|-
| 305
| 0x131
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_vm_unlock
| int sys_vm_unlock(sys_addr_t addr, size_t size);
|-
| 306
| 0x132
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_vm_touch
| int sys_vm_touch(sys_addr_t addr, size_t size);
|-
| 307
| 0x133
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_vm_flush
| int sys_vm_flush(sys_addr_t addr, size_t size);
|-
| 308
| 0x134
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_vm_invalidate
| int sys_vm_invalidate(sys_addr_t addr, size_t size);
|-
| 309
| 0x135
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_vm_store
| int sys_vm_store(sys_addr_t addr, size_t size);
|-
| 310
| 0x136
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_vm_sync
| int sys_vm_sync(sys_addr_t addr, size_t size);
|-
| 311
| 0x137
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_vm_test
| int sys_vm_test(sys_addr_t addr, size_t size, uint64_t * result);
|-
| 312
| 0x138
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_vm_get_statistics
| int sys_vm_get_statistics(sys_addr_t addr, sys_vm_statistics_t * stat);
|-
| 313
| 0x139
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| syscall_finalize_user_kernel_shared_memory
| 2 Params
|-
| 315
| 0x13B
| {{CEX}}{{DEX}}{{DECR}}
|
| syscall_import_user_kernel_shared_memory
| 1 Param
|-
| 316
| 0x13C
| ??
| ??
| syscall_unimport_user_kernel_shared_memory
| ??
|-
| 324
| 0x144
| {{CEX}}{{DEX}}{{DECR}}
| {{dbg}}
| sys_memory_container_create
| int sys_memory_container_create(sys_memory_container_t * cid, size_t yield_size);
|-
| 325
| 0x145
| {{CEX}}{{DEX}}{{DECR}}
| {{dbg}}
| sys_memory_container_destroy
| int sys_memory_container_destroy(sys_memory_container_t cid);
|-
| 326
| 0x146
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_mmapper_allocate_fixed_address
| int sys_mmapper_allocate_fixed_address(void);
|-
| 327
| 0x147
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
|
| 7 Params
|-
| 329
| 0x149
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_mmapper_free_shared_memory
| int sys_mmapper_free_shared_memory(sys_addr_t start_addr);
|-
| 330
| 0x14A
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_mmapper_free_address
| int sys_mmapper_free_address(sys_addr_t start_addr);
|-
| 332
| 0x14C
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_mmapper_allocate_shared_memory
| 4 Params: (uint32_t id? ('UMEM'), size_t size, size_t alignment, sys_memory_t * mem_id)
|-
| 333
| 0x14D
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_mmapper_set_shared_memory_flag
| int sys_mmapper_set_shared_memory_flag(sys_addr_t, flags) ?;
|-
| 334
| 0x14E
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_mmapper_map_shared_memory
| 3 Params: (sys_addr_t start_addr, sys_memory_t mem_id, uint64_t flags) ?
|-
| 335
| 0x14F
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_mmapper_unmap_shared_memory
| 2 Params: (sys_addr_t start_addr,sys_memory_t *mem_id ) ?
|-
| 336
| 0x150
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_mmapper_change_address_access_right
| int sys_mmapper_change_address_access_right(sys_addr_t start_addr, uint64_t flags);
|-
| 337
| 0x151
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_mmapper_get_shared_memory_attribute
| 2 Params:
|-
| 339
| 0x153
| {{CEX}}{{DEX}}{{DECR}}
|
|
| 5 Params
|-
| 340
| 0x154
| {{CEX}}{{DEX}}{{DECR}}
|
|
| 2 Params
|-
| 341
| 0x155
| {{CEX}}{{DEX}}{{DECR}}
|
| _sys_memory_container_create2 ?
| int _sys_memory_container_create2(sys_memory_container_t * cid, size_t yield_size);
|-
| 342
| 0x156
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_memory_container_destroy?
| int sys_memory_container_destroy? (sys_memory_container_t cid);
|-
| 343
| 0x157
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
|
| 3 Params, a variation of sys_memory_container_destroy (sys_memory_container_t cid, int, &out)
|-
| 346
| 0x15A
| {{CEX}}{{DEX}}{{DECR}}
|
|
|
|-
| 348
| 0x15C
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_memory_allocate
| int sys_memory_allocate(size_t size, uint64_t flags, sys_addr_t * alloc_addr);
|-
| 349
| 0x15D
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_memory_free
| int sys_memory_free(sys_addr_t start_addr);
|-
| 350
| 0x15E
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_memory_get_page_attribute
| int sys_memory_get_page_attribute(sys_addr_t addr, sys_page_attr_t * attr);
|-
| 352
| 0x160
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_memory_get_user_memory_size
| int sys_memory_get_user_memory_size(sys_memory_info_t * mem_info);
|-
| 353
| 0x161
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_memory_get_user_memory_stat
| int sys_memory_get_user_memory_stat(out:uint8[0x1C])
|-
| 354
| 0x162
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| 3 Params
|-
| 355
| 0x163
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| 2 Param: uint32_t *, uint32_t *    (set 0, reset memory stats?)
|-
| 356
| 0x164
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_memory_allocate_colored
| 4 Params
|-
| 357
| 0x165
| {{CEX}}{{DEX}}{{DECR}}
|
|
| 2 Params
|-
| 358
| 0x166
| {{CEX}}{{DEX}}{{DECR}}
|
|
| 5 Params
|-
| 359
| 0x167
| {{CEX}}{{DEX}}{{DECR}}
|
|
| 2 Params
|-
| 360
| 0x168
| {{CEX}}{{DEX}}{{DECR}}
|
|
| 7 Params
|-
| 361
| 0x169
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_memory_allocate_from_container_colored
| 5 Params
|-
| 362
| 0x16A
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
|
| 6 Params
|-
| 364
| 0x16C
| {{DECR}}
|
|
|
|-
! colspan="6" id="sys_uart Syscalls"|[[#sys_uart Syscalls]] (367-370)
|-
| 367
| 0x16F
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_uart_initialize
| syscall(367, void)
|-
| 368
| 0x170
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_uart_receive
| sys_uart_receive(out: uint8_t buffer[SizeToReceive], int SizeToReceive (0x400/0x800), 0/1)
|-
| 369
| 0x171
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_game_watchdog_start
| 1 param: int time(r)
|-
| 373
| 0x175
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_game_watchdog_stop
| int sys_game_watchdog_stop(void)
|-
| 374
| 0x176
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_game_watchdog_clear
| int sys_game_watchdog_clear(void)
|-
| 375
| 0x177
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_game_set_system_sw_version
| int sys_game_set_system_sw_version(uint64_t version)
|-
| 376
| 0x178
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_sm_get_inter_lpar_parameter?
| 2Params: syscall(381,uint8_t lpar_parameter[param_size], int param_size (0x600));
|-
| 382
| 0x17E
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_sm_
| int syscall(382, void); - prevents ps3 lpar shutdown ?
|-
| 383
| 0x17F
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_game_get_temperature
| int sys_game_get_temperature(0=CELL/1=RSX,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
|-
| 384
| 0x180
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_sm_get_tzpb
| 1 Param: syscall(384,uint64_t *tzpb); (uint8_t [0x20]) Get TimeZone Presence <br> HV System Manager access - ServiceID 15
|-
| 385
| 0x181
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
| {{Dbg}}
| sys_sm_get_platform_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
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_sm_ring_buzzer_too
| 2 Params,HV System Manager access - ServiceID 21 (RING_BUZZER)
|-
| 389
| 0x185
| {{CEX}}{{DEX}}{{DECR}}
| {{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) //-->
|-
| 390
| 0x186
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_sm_request_be_count
| 4 Params
uint8_t *,
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
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
| {{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) [[System_Controller_Firmware#.27info0.27 SC Firmware]]
|-
| 395
| 0x18B
| {{CEX}}{{DEX}}{{DECR}}
| {{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)
|-
| 396
| 0x18C
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_sm_get_rtc_alarm
| 1 Param, HV System Manager access - ServiceID 36
|-
| 398
| 0x18E
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_console_write
| int sys_console_write(const char *s, unsigned int len)(lv2,lv1::console::write_async <!--///*
* lv2_lv1_log_write
*/
static inline int lv2_lv1_log_write(const char *s, unsigned int len)
{
return Lv2Syscall2(398, (uint64_t) s, len);
}//-->
|-
| 400
| 0x190
| {{CEX}}{{DEX}}{{DECR}}
| {{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
|-
| 401
| 0x191
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| 2 Params: uint64_t param,uint8_t * st (status?/state?)
HV System Manager access - ServiceID 40 (BOOT_PARAMETER)
also sends the param to syscon
related to 404
|-
! colspan="6" id="sys_tty Syscalls"|[[#sys_tty Syscalls]] (402-403)
|-
| 402
| 0x192
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_tty_read
| int sys_tty_read(unsigned int ch, void *buf, unsigned int len, unsigned int *preadlen);
|-
| 403
| 0x193
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_tty_write
| int sys_tty_write(unsigned int ch, const void *buf, unsigned int len, unsigned int *pwritelen);
|-
| 404
| 0x194
| {{CEX}}{{DEX}}{{DECR}}
| {{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?
|-
| 405
| 0x195
| {{CEX}}{{DEX}}{{DECR}}
| {{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
|-
| 406
| 0x196
| {{CEX}}{{DEX}}{{DECR}}
| {{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
|-
| 407
| 0x197
| {{CEX}}{{DEX}}{{DECR}}
| {{Productmode}}
|
| 1 Param: uint8_t * st
HV System Manager access - ServiceID 48
factory_process_comp (2,0) -> ANDC-Operation with comp=0
|-
| 408
| 0x198
| {{CEX}}{{DEX}}{{DECR}}
| {{Productmode}}
| sys_sm_get_tzpb too
| 1 Param: out:uint8_t [0x20] <br> same as 384 just requires PM
|-
| 409
| 0x199
| {{CEX}}{{DEX}}{{DECR}}
| {{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)
|-
! colspan="6" id="sys_game Syscalls"|[[#sys_game Syscalls]] (372-376+410-412)
|-
| 410
| 0x19A
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_game_board_storage_read
| 2 Params,out:uint8_t[0x10], uint8_t[1], HV System Manager access - ServiceID 54
|-
| 411
| 0x19B
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_game_board_storage_write
| 2 Params,in:uint8_t[0x10],uint8_t[1], HV System Manager access - ServiceID 52
|-
| 412
| 0x19C
| {{DEX}} {{DECR}}
|
| sys_game_get_rtc_status
|
|-
| 413
| 0x19D
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| 3 Params, HV System Manager access - ServiceID 56: out:uint8_t[1],out:uint8_t[1],out:uint8_t[1]
|-
| 414
| 0x19E
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| 3 Params,in:packetid ,in:uint8_t[0x20],out:uint8_t[1], HV System Manager access - ServiceID 58
|-
| 415
| 0x19F
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_overlay_unload_module
| int sys_overlay_unload_module(sys_overlay_t ovlmid)
|-
| 452
| 0x1C4
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_overlay_get_sdk_version
| 2 Params
|-
| 457
| 0x1C9
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_overlay_get_module_dbg_info
| 3 Params: (sys_pid_t pid, sys_overlay_t ovlmid, sys_overlay_module_dbg_t * info) ?
|-
| 458
| 0x1CA
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_overlay_get_module_dbg_info too
| 3 Params:
|-
! colspan="6" id="sys_prx Syscalls"|[[#sys_prx Syscalls]] (460-499)
|-
| 460
| 0x1CC
| {{DEX}} {{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_prx_get_module_id_by_address
| sys_prx_id_t sys_prx_get_module_id_by_address(void* addr)
|-
| 462
| 0x1CE
| {{DEX}}{{DECR}}
|
|
| 1 Param: uint8_t [0x50]
|-
| 463
| 0x1CF
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_prx_get_ppu_guid
| sys_addr_t sys_prx_get_ppu_guid(sys_prx_id_t id)
|-
| 468
| 0x1D4
| {{DEX}} {{DECR}}
| {{Root}}
|
|
|-
| 470
| 0x1D6
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| int syscall 470 (uint32_t type?, void* npd? [0x60])
|-
| 471
| 0x1D7
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| 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);//-->
|-
| 472
| 0x1D8
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| 2 Params:
|-
| 473
| 0x1D9
| {{CEX}}{{DEX}}{{DECR}}
|
|
|
|-
| 474
| 0x1DA
| {{CEX}}{{DEX}}{{DECR}}
|
|
|
|-
| 475
| 0x1DB
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| int syscall_475(uint32_t type, void* npd?, void* klicensee, uint8_t* actdat, uint8_t* rif, uint8_t magicVersion)
|-
| 476
| 0x1DC
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| can only be either syscall476 (1,0) or syscall476 (0,1)
|-
| 480
| 0x1E0
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_prx_register_module
| int sys_prx_register_module(char * name, const sys_prx_register_module_option_t * pOpt)
|-
| 485
| 0x1E5
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_prx_query_module
| int sys_prx_query_module(void) // only returns 0
|-
| 486
| 0x1E6
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_prx_register_library
| int sys_prx_register_library(void* library)
|-
| 487
| 0x1E7
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_prx_unregister_library
| int sys_prx_unregister_library(void* library) // only returns 0
|-
| 488
| 0x1E8
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_prx_link_library
| int sys_prx_link_library(void) // only returns 0
|-
| 489
| 0x1E9
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_prx_unlink_library
| int sys_prx_unlink_library(void) // only returns 0
|-
| 490
| 0x1EA
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_prx_query_library
| int sys_prx_query_library(void) // only returns 0
|-
| 492
| 0x1EC
| {{CEX}}{{DEX}}{{DECR}}
| {{Dbg}}
|
| 4 Params:
|-
| 493
| 0x1ED
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_prx_start
| int sys_prx_start (void) // only returns 0
|-
| 499
| 0x1F3
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_prx_stop
| int sys_prx_stop(void)
|-
! colspan="6" id="sys_hid_manager Syscalls"|[[#sys_hid_manager Syscalls]]
|-
| 500
| 0x1F4
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_hid_manager_open
| 2 Params
|-
| 501
| 0x1F5
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_hid_manager_close
| 1 Param: uint32_t port_no
|-
| 502
| 0x1F6
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_hid_manager_read
| 4 Params: uint32_t port_no,uint32_t packet_id, uint8_t[size], uint32_t size
|-
| 503
| 0x1F7
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_hid_manager_ioctl
| 4 Params: uint32_t port_no,uint32_t packet_id, uint8_t[size], uint32_t size
|-
| 504
| 0x1F8
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_hid_manager_unmap_logical_id_to_port_id
| int sc(int device_type, int device_no, int port_no)
|-
| 506
| 0x1FA
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_hid_manager_add_hot_key_observer
| 2 Params
|-
| 507
| 0x1FB
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_hid_manager_remove_hot_key_observer
| 2 Params
|-
| 508
| 0x1FC
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_hid_manager_grab_focus
| 1 Param: sys_pid_t pid (for example current pid)
|-
| 509
| 0x1FD
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_hid_manager_release_focus
| 1 Param
|-
| 510
| 0x1FE
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_hid_manager_...
| int syscall(510, void);
|-
| 511
| 0x1FF
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_hid_manager_set_...
| 1 Param
|-
| 512
| 0x200
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| 1 Param : int syscall(512,sys_pid_t pid), simple root-flag check?;
|-
| 513
| 0x201
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_hid_manager_...
| 4 Params
|-
| 514
| 0x202
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_hid_manager_...
| 3 Params
|-
! colspan="6" id="sys_config Syscalls"|[[#sys_config Syscalls]]
|-
| 516
| 0x204
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_config_open
| 2 Params : (sys_event_queue_t * equeue_id, uint64_t *out)
|-
| 517
| 0x205
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_config_close
| sys_config_close(sys_event_queue_t * equeue_id);
|-
| 518
| 0x206
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_config_get_service_event
| 4 Params:
|-
| 519
| 0x207
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_config_add_service_listener
| 6 Params
|-
| 520
| 0x208
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_config_remove_service_listener
| 2 Params
|-
| 521
| 0x209
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_config_register_service
| 7 Params
|-
| 522
| 0x20A
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_config_unregister_service
| 2 Params
|-
| 523
| 0x20B
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_config_io_event
|
|-
| 524
| 0x20C
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_config_
|
|-
| 525
| 0x20D
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_config_
|
|-
! colspan="6" id="sys_usbd Syscalls"|[[#sys_usbd Syscalls]]
|-
| 530
| 0x212
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_usbd_initialize
| 1 Param, out: *uint32_t
|-
| 531
| 0x213
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_usbd_finalize
| 1 Param, in: handle/id
|-
| 532
| 0x214
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_usbd_get_device_list
| 3 Params
|-
| 533
| 0x215
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_usbd_get_descriptor_size
| 2 Params
|-
| 534
| 0x216
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_usbd_get_descriptor
| 3 Params
|-
| 535
| 0x217
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_usbd_register_ldd
| 3 Params
|-
| 536
| 0x218
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_usbd_unregister_ldd
| 3 Params
|-
| 537
| 0x219
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_usbd_open_pipe
| 7 Params
|-
| 538
| 0x21A
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_usbd_open_default_pipe
| 2 Params
|-
| 539
| 0x21B
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_usbd_close_pipe
| 2 Params
|-
| 540
| 0x21C
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_usbd_receive_event
| 4 Params
|-
| 541
| 0x21D
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_usbd_detect_event
| void
|-
| 542
| 0x21E
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_usbd_attach
| 4 Params
|-
| 543
| 0x21F
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_usbd_transfer_data
| 6 Params
|-
| 544
| 0x220
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_usbd_isochronous_transfer_data
| 3 Params
|-
| 545
| 0x221
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_usbd_get_transfer_status
| 5 Params
|-
| 546
| 0x222
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_usbd_get_isochronous_transfer_status
| 5 Params
|-
| 547
| 0x223
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_usbd_get_device_location
| 3 Params
|-
| 548
| 0x224
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_usbd_send_event
| 2 Params
|-
| 549
| 0x225
| {{CEX}}{{DEX}}{{DECR}}
|
|
| 4 Params
|-
| 550
| 0x226
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_usbd_allocate_memory
| 3 Params
|-
| 551
| 0x227
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_usbd_free_memory
| 2 Params
|-
| 552
| 0x228
| {{CEX}}{{DEX}}{{DECR}}
|
|
| 1 Param
|-
| 553
| 0x229
| {{CEX}}{{DEX}}{{DECR}}
|
|
| void
|-
| 554
| 0x22A
| {{CEX}}{{DEX}}{{DECR}}
|
|
| void
|-
| 555
| 0x22B
| {{CEX}}{{DEX}}{{DECR}}
|
|
| void
|-
| 556
| 0x22C
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_usbd_get_device_speed
| 3 Params,  , , out:uint8_t[1]
|-
| 557
| 0x22D
| {{CEX}}{{DEX}}{{DECR}}
|
|
| 5 Params
|-
| 558
| 0x22E
| {{CEX}}{{DEX}}{{DECR}}
|
|
| 3 Params
|-
| 559
| 0x22F
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_usbd_register_extra_ldd
| 6 Params
|-
! colspan="6" id="sys_gl819 Syscalls"|[[#sys_gl819 Syscalls]] Cardcontroller cf/sd/mmc/sm/ms
|-
| 560
| 0x230
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
|
|-
| 561
| 0x231
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| 1 Param: out:uint8_t [4] (cf/sd/mmc/sm/ms flag availability from hw config)
|-
| 562
| 0x232
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| gets MultiCardReader Firmware Version: syscall(0x232, out:uint8_t [2])
|-
| 563
| 0x233
| {{CEX}}{{DEX}}{{DECR}}
|
|
|
|-
| 564
| 0x234
| {{CEX}}{{DEX}}{{DECR}}
|
|
|
|-
| 565
| 0x235
| {{CEX}}{{DEX}}{{DECR}}
|
|
|
|-
| 566
| 0x236
| {{CEX}}{{DEX}}{{DECR}}
|
|
|
|-
| 567
| 0x237
| {{CEX}}{{DEX}}{{DECR}}
|
|
|
|-
| 568
| 0x238
| {{CEX}}{{DEX}}{{DECR}}
|
|
|
|-
| 569
| 0x239
| {{CEX}}{{DEX}}{{DECR}}
|
|
|
|-
! colspan="6" id="PAD Manager Syscalls"|[[#PAD Manager Syscalls]] PAD related
|-
| 570
| 0x23A
| {{CEX}}{{DEX}}{{DECR}}
|
|
|
|-
| 571
| 0x23B
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_pad_ldd_unregister_controller
| int sys_pad_ldd_unregister_controller ( int32_t handle)
|-
| 572
| 0x23C
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_pad_ldd_data_insert
| int sys_pad_ldd_data_insert (int32_t handle, cellpaddata* data /* uint8_t[0x84] */)
|-
| 573
| 0x23D
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_pad_ldd_get_port_no
| int sys_pad_ldd_get_port_no (int32_t handle)
|-
| 577
| 0x241
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}} {{Productmode}}
| sys_pad_manager_....
| int sys_pad_manager_.... (int8_t device_number?)
|-
! colspan="6" id="sys_bluetooth Syscalls"|[[#sys_bluetooth Syscalls]]
|-
| 578
| 0x242
| {{CEX}}{{DEX}}{{DECR}}
|
|
|
|-
| 579
| 0x243
| {{CEX}}{{DEX}}{{DECR}}
|
|
|
|-
| 580
| 0x244
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
|
|-
| 581
| 0x245
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
|
|-
| 582
| 0x246
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
|
|-
| 583
| 0x247
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| gets Bluetooth Firmware Version: syscall(0x247, out:uint8_t [2])
|-
| 584
| 0x248
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
|
|-
| 585
| 0x249
| {{CEX}}{{DEX}}{{DECR}}
|
|
|
|-
| 586
| 0x24A
| {{CEX}}{{DEX}}{{DECR}}
|
|
| return 0x80010003
|-
| 587
| 0x24B
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
|
|-
| 588
| 0x24C
| {{CEX}}{{DEX}}{{DECR}}
|
|
| return 0x80010003
|-
| 589
| 0x24D
| {{CEX}}{{DEX}}{{DECR}}
|
|
| return 0x80010003
|-
| 590
| 0x24E
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| bt_set_device_info()
|-
| 591
| 0x24F
| {{CEX}}{{DEX}}{{DECR}}
|
|
| return 0
|-
| 592
| 0x250
| {{CEX}}{{DEX}}{{DECR}}
|
|
| return 0
|-
| 593
| 0x251
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| getting bluetooth address
|-
| 594
| 0x252
| {{CEX}}{{DEX}}{{DECR}}
|
|
| return 0x80010003
|-
| 595
| 0x253
| {{CEX}}{{DEX}}{{DECR}}
|
|
| return 0x80010003
|-
| 596
| 0x254
| {{CEX}}{{DEX}}{{DECR}}
|
|
| return 0x80010003
|-
| 597
| 0x255
| {{CEX}}{{DEX}}{{DECR}}
|
|
| syscall(597,void) | bt_cancel_connect_accept_controller(),deprecated
|-
| 598
| 0x256
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| 0 Param
|-
| 599
| 0x257
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_storage_close
| int sys_storage_close(int fd)
|-
| 602
| 0x25A
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_storage_send_device_command
| int sys_storage_send_device_command(uint32_t device_handle, unsigned int command, void *indata, uint64_t inlen, void *outdata, uint64_t outlen)
|-
| 605
| 0x25D
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_storage_async_write
| 7 Params:
|-
| 608
| 0x260
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_storage_async_cancel
| 2 Params
|-
| 609
| 0x261
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_storage_get_device_config
| 2 Params: int sys_storage_get_device_config(uint64_t device, uint8_t *config) ?
|-
| 611
| 0x263
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_storage_report_devices
| 4 Params:
|-
| 612
| 0x264
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_storage_configure_medium_event
| 3 Params
|-
| 613
| 0x265
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_storage_set_medium_polling_interval
| 2 Params
|-
| 614
| 0x266
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_storage_check_region_acl
| alias int sys_storage_get_region_acl(device_id, region_id, index, authority, mask);
|-
| 618
| 0x26A
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_storage_set_region_acl
| int sys_storage_set_region_acl(device_id, region_id, authority, permission);
|-
| 619
| 0x26B
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| hid ldd if, kb/mouse/pad.... (param1: ?,0,1,2 or 3;param2;param3;param4;param5)
|-
| 621
| 0x26D
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_io_buffer_destroy
| int sys_io_buffer_destroy(sys_io_buffer_t io_buffer)
|-
| 626
| 0x272
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_io_buffer_allocate
| int sys_io_buffer_allocate(sys_io_buffer_t io_buffer, sys_io_block_t *block)
|-
| 627
| 0x273
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_gpio_set
| int sys_gpio_set (uint64_t device_id, uint64_t mask, uint64_t value)
|-
| 631
| 0x277
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| sys_btsetting_if?
| 2 Params: uint64_t packet_id (0=init,1=finalize,....27) , uint8_t buffer
|-
| 636
| 0x27C
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| (BT Database Lookup)
|-
| 637
| 0x27D
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| BT dev list related, syscall(0x27d, out:uint8_t[0x100])
|-
| 638
| 0x27E
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
|
|
| "deprecated!" (seems Sony doesnt want/like USB Bluetooth Audio transmitter/receiver)
|-
| 640
| 0x280
| {{CEX}}{{DEX}}{{DECR}}
|
|
| "deprecated!"
|-
| 641
| 0x281
| {{CEX}}{{DEX}}{{DECR}}
|
|
| "deprecated!"
|-
| 642
| 0x282
| {{CEX}}{{DEX}}{{DECR}}
|
|
| "deprecated!"
|-
| 643
| 0x283
| {{CEX}}{{DEX}}{{DECR}}
|
|
| "deprecated!"
|-
| 644
| 0x284
| {{CEX}}{{DEX}}{{DECR}}
|
|
| "deprecated!"
|-
| 645
| 0x285
| {{CEX}}{{DEX}}{{DECR}}
|
|
| "deprecated!"
|-
| 646
| 0x286
| {{CEX}}{{DEX}}{{DECR}}
|
|
| "deprecated!"
|-
| 647
| 0x287
| {{CEX}}{{DEX}}{{DECR}}
|
|
| "deprecated!"
|-
| 648
| 0x288
| {{CEX}}{{DEX}}{{DECR}}
|
|
| "deprecated!"
|-
| 649
| 0x289
| {{CEX}}{{DEX}}{{DECR}}
|
|
| "deprecated!"
|-
! colspan="6" id="RSX Audio Syscalls"|[[#RSX Audio Syscalls]] (650-x)
|-
| 650
| 0x28A
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rsxaudio_initialize
| int sys_rsxaudio_initialize(out:uint8[4])
|-
| 651
| 0x28B
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rsxaudio_finalize
| 1 Params
|-
| 652
| 0x28C
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rsxaudio_import_shared_memory
| 2 Params
|-
| 653
| 0x28D
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rsxaudio_unimport_shared_memory
| 2 Params
|-
| 654
| 0x28E
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rsxaudio_create_connection
| 1 Params
|-
| 655
| 0x28F
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rsxaudio_close_connection
| 1 Params
|-
| 656
| 0x290
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rsxaudio_prepare_process
| 1 Params
|-
| 657
| 0x291
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rsxaudio_start_process
| 1 Params
|-
| 658
| 0x292
| {{CEX}}{{DEX}}{{DECR}}
|
| syscall_sys_rsxaudio_stop_process
| 1 Params
|-
| 659
| 0x293
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rsxaudio_
| 3 Params
|-
! colspan="6" id="sys_rsx Syscalls"|[[#sys_rsx Syscalls]] (666-667)
|-
| 666
| 0x29A
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rsx_device_open
| 1 Param
|-
| 667
| 0x29B
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rsx_device_close
|
|-
| 668
| 0x29C
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rsx_memory_allocate
|
|-
| 669
| 0x29D
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rsx_memory_free
|
|-
| 670
| 0x29E
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rsx_context_allocate
|
|-
| 671
| 0x29F
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rsx_context_free
|
|-
| 672
| 0x2A0
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rsx_context_iomap
|
|-
| 673
| 0x2A1
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rsx_context_iounmap
|
|-
| 674
| 0x2A2
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rsx_context_attribute
|
|-
| 675
| 0x2A3
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rsx_device_map
|
|-
| 676
| 0x2A4
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rsx_device_unmap
|
|-
| 677
| 0x2A5
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_rsx_attribute
|
|-
| 678
| 0x2A6
| {{DEX}} {{DECR}}
|
| syscall_sys_rsx_audio_queue
|
|-
| 679
| 0x2A7
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
| syscall_sys_rsx_audio_iomap
|
|-
! colspan="6" id="Bluetooth USB Audio Syscalls"|[[#Bluetooth USB Audio Syscalls]] (680-696)
|-
| 680
| 0x2A8
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
|
|-
| 681
| 0x2A9
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
|
|-
| 682
| 0x2AA
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
|
|-
| 683
| 0x2AB
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
|
|-
| 684
| 0x2AC
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
|
|-
| 685
| 0x2AD
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
|
|-
| 686
| 0x2AE
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
|
|-
| 687
| 0x2AF
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
|
|-
| 688
| 0x2B0
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
|
|-
| 689
| 0x2B1
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
|
|-
| 690
| 0x2B2
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
|
|-
| 691
| 0x2B3
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
|
|-
| 692
| 0x2B4
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
|
|-
| 693
| 0x2B5
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
|
|-
| 694
| 0x2B6
| {{CEX}}{{DEX}}{{DECR}}
|
|
| "deprecated!" (usbbtaudio)
|-
| 695
| 0x2B7
| {{CEX}}{{DEX}}{{DECR}}
|
|
| "deprecated!" (usbbtaudio)
|-
| 696
| 0x2B8
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| bt audio interface, packetid 0-4  (0= GetSinkConfig)
|-
! colspan="6" id="sys_bdemu Syscalls"|[[#sys_bdemu Syscalls]] (699)
|-
| 699
| 0x2BB
| {{DEX}} {{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_net_bnet_accept
| int sys_net_bnet_accept (int s, struct sockaddr *addr, socklen_t *paddrlen ) // s = socket descriptor
|-
| 701
| 0x2BD
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_net_bnet_bind
| int sys_net_bnet_bind ( int s, const struct sockaddr *addr, socklen_t addrlen )
|-
| 702
| 0x2BE
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_net_bnet_connect
| int sys_net_bnet_connect ( int s, const struct sockaddr *addr, socklen_t addrlen )
|-
| 703
| 0x2BF
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_net_bnet_getpeername
| int sys_net_bnet_getpeername ( int s, struct sockaddr *addr, socklen_t *paddrlen )
|-
| 704
| 0x2C0
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_net_bnet_getsockname
| int sys_net_bnet_getsockname ( int s, struct sockaddr *addr, socklen_t *paddrlen )
|-
| 705
| 0x2C1
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_net_bnet_getsockopt
| int sys_net_bnet_getsockopt ( int s, int level, int optname, void *optval, socklen_t *optlen )
|-
| 706
| 0x2C2
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_net_bnet_listen
| int sys_net_bnet_listen ( int s, int backlog )
|-
| 707
| 0x2C3
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_net_bnet_recvmsg
| int sys_net_bnet_recvmsg ( int s, struct msghdr *msg, int flags )
|-
| 709
| 0x2C5
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_net_bnet_sendmsg
| int sys_net_bnet_sendmsg ( int s, const struct msghdr *msg, int flags )
|-
| 710
| 0x2C6
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_net_bnet_setsockop
| int sys_net_bnet_setsockop ( int s, int level, int optname, const void *optval, socklen_t optlen )
|-
| 712
| 0x2C8
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_net_bnet_shutdown
| int sys_net_bnet_shutdown ( int s, int how )
|-
| 713
| 0x2C9
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_net_bnet_socket
| int sys_net_bnet_socket ( int family, int type, int protocol )
|-
| 714
| 0x2CA
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_net_bnet_close
| int sys_net_bnet_close ( int fd )
|-
| 715
| 0x2CB
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_net_bnet_poll
|
|-
| 716
| 0x2CC
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_net_bnet_select
|
|-
| 717
| 0x2CD
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_net_open_dump
| int sys_net_open_dump ( int len, int flags )
|-
| 718
| 0x2CE
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_net_read_dump
| int sys_net_read_dump ( int id,  void *buf, int len, int *pflags )
|-
| 719
| 0x2CF
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_net_close_dump
| int sys_net_close_dump ( int id, int *pflags )
|-
| 720
| 0x2D0
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_net_write_dump
| int sys_net_write_dump ( char *buf )
|-
| 721
| 0x2D1
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_net_infoctl
|
|-
| 723
| 0x2D3
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_net_control
|
|-
| 724
| 0x2D4
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_net_bnet_ioctl
|
|-
| 725
| 0x2D5
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_net_bnet_sysctl
|
|-
| 726
| 0x2D6
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_test
| int sys_fs_test(packetid < 7 (6 tests) ,0,*deviceid,4,uint8* out[0x420],0x420)
|-
| 801
| 0x321
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_read
| CellFsErrno sys_fs_read(int fd, void *buf, uint64_t nbytes, uint64_t *nread);
|-
| 803
| 0x323
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_write
| CellFsErrno sys_fs_write(int fd, const void *buf, uint64_t nbytes, uint64_t *nwrite);
|-
| 804
| 0x324
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_close
| CellFsErrno sys_fs_close(int fd);
|-
| 805
| 0x325
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_opendir
| CellFsErrno sys_fs_opendir(const char *path, int *fd);
|-
| 806
| 0x326
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_readdir
| CellFsErrno sys_fs_readdir(int fd, CellFsDirent *dir, uint64_t *nread);
|-
| 807
| 0x327
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_closedir
| CellFsErrno sys_fs_closedir(int fd);
|-
| 808
| 0x328
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_stat
| CellFsErrno sys_fs_stat(const char *path, CellFsStat *sb);
|-
| 809
| 0x329
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_fstat
| CellFsErrno sys_fs_fstat(int fd, CellFsStat *sb);
|-
| 810
| 0x32A
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_link
| int sys_fs_link(char  const*, char  const*)
|-
| 811
| 0x32B
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_mkdir
| CellFsErrno sys_fs_mkdir(const char *path, CellFsMode mode);
|-
| 812
| 0x32C
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_rename
| CellFsErrno sys_fs_rename(const char *from, const char *to);
|-
| 813
| 0x32D
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_rmdir
| CellFsErrno sys_fs_rmdir(const char *path);
|-
| 814
| 0x32E
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_unlink
| CellFsErrno sys_fs_unlink(const char *path);
|-
| 815
| 0x32F
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_utime
| CellFsErrno sys_fs_utime(const char *path, const CellFsUtimbuf *timep);
|-
| 816
| 0x330
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_access
| int sys_fs_access(char cont*, int)
|-
| 817
| 0x331
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_fcntl
| int sys_fs_fcntl(int, int, void *, unsigned long)
|-
| 818
| 0x332
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_lseek
| CellFsErrno sys_fs_lseek(int fd, int64_t offset, int whence, uint64_t *pos);
|-
| 819
| 0x333
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_fdatasync
| int sys_fs_datasync(int)
|-
| 820
| 0x334
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_fsync
| CellFsErrno sys_fs_fsync(int fd);
|-
| 821
| 0x335
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_fget_block_size
| int sys_fs_fget_block_size(int, unsigned long *, unsigned long *, unsigned long *, int *)
|-
| 822
| 0x336
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_get_block_size
| int sys_fs_get_block_size(char  const*, unsigned long *, unsigned long *, unsigned long *)
|-
| 823
| 0x337
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_acl_read
| int sys_fs_acl_read(char  const*, CellFsAcl *)
|-
| 824
| 0x338
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_acl_write
| int sys_fs_acl_read(char  const*, CellFsAcl *)
|-
| 825
| 0x339
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_lsn_get_cda_size
| int sys_fs_lsn_get_cda_size(int, unsigned long *)
|-
| 826
| 0x33A
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_lsn_get_cda
| int sys_fs_lsn_get_cda(int, CellFsCda *, unsigned long, unsigned long *)
|-
| 827
| 0x33B
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_lsn_lock
| int sys_fs_lsn_lock(int)
|-
| 828
| 0x33C
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_lsn_unlock
| int sys_fs_lsn_unlock(int)
|-
| 829
| 0x33D
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_lsn_read
| int sys_fs_lsn_read(int, CellFsCda  const*, unsigned long)
|-
| 830
| 0x33E
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_lsn_write
| int sys_fs_lsn_write(int, CellFsCda  const*, unsigned long)
|-
| 831
| 0x33F
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_truncate
| CellFsErrno sys_fs_truncate(const char *path, uint64_t size);
|-
| 832
| 0x340
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_ftruncate
| CellFsErrno sys_fs_ftruncate(int fd, uint64_t size);
|-
| 833
| 0x341
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_symbolic_link
| int sys_fs_symbolic_link(char  const*, char  const*)
|-
| 834
| 0x342
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_chmod
| CellFsErrno sys_fs_chmod(const char *path, CellFsMode mode);
|-
| 835
| 0x343
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_chown
| int sys_fs_chown(char  const*, int, int)
|-
| 836
| 0x344
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_newfs
| int sys_fs_newfs(char const* deviceName, char  const*, int, char  const**)
|-
| 837
| 0x345
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_mount
| int sys_fs_mount(char const* deviceName, char  const*, char  const*, int, int, int, char  const**) <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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_unmount
| int sys_fs_unmount(char  const*, int, int)<br>Parameters: Device Path (e.g. /dev_flash)
|-
| 839
| 0x347
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_disk_free
| int sys_fs_disk_free(char  const*, unsigned long *, unsigned long *)
|-
| 841
| 0x349
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_get_mount_info_size
| int sys_fs_get_mount_info_size(unsigned long *)
|-
| 842
| 0x34A
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_get_mount_info
| int sys_fs_get_mount_info(CellFsMountInformation *, unsigned long, unsigned long *)
|-
| 843
| 0x34B
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_get_fs_info_size
| int sys_fs_get_fs_info_size(unsigned long *)
|-
| 844
| 0x34C
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_get_fs_info
| int sys_fs_get_fs_info(ulong, ulong*, CellFsInfo *)
|-
| 845
| 0x34D
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_mapped_allocate
| int sys_fs_mapped_allocate(int, unsigned long, void **)
|-
| 846
| 0x34E
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_fs_mapped_free
| int sys_fs_mapped_free(int, void *)
|-
| 847
| 0x34F
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| [[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
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| [[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
| {{CEX}}{{DEX}}{{DECR}}
| {{Dbg}}
|
| [[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
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| [[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
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| [[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
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}} / {{Dbg}} {{Authid}}
|
| [[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
| {{CEX}}{{DEX}}{{DECR}}
| {{Root}}
|
| [[Factory_Data_Manager|fdm_manager_if ?]]
|-
| 870
| 0x366
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_ss_get_console_id
| int sys_ss_get_console_id(uint8_t *buf) //returns [[IDPS]] in buf
|-
| 871
| 0x367
| {{CEX}}{{DEX}}{{DECR}}
| {{dbg}}
| sys_ss_access_control_engine
| 3 params
(1,sys_pid_t,out:uint8_t [8])
(2,out:uint8_t [8],0) // returns [[Authentication_IDs]]
(3,out:uint8_t [8],0)
|-
| 872
| 0x368
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_ss_get_open_psid
| int sys_ss_get_open_psid(CellSsOpenPSID *ptr) ; typedef struct CellSsOpenPSID { uint64_t high; uint64_t low;}
|-
| 873
| 0x369
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_ss_get_cache_of_product_mode
| int sys_ss_get_cache_of_product_mode(uint8_t *ptr [1]);
|-
| 874
| 0x36A
| {{CEX}}{{DEX}}{{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_ss_get_boot_device
| int sys_ss_get_boot_device(uint8_t * buf [8]);
|-
| 876
| 0x36C
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_ss_disc_access_control
| 2Params: 0x20000(=get_disc_access_control),uint32_t * disc_access / 0x20001(=set_disc_access_control),1
|-
| 877
| 0x36D
| {{CEX}}{{DEX}}{{DECR}}
| {{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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_ss_ad_sign
| syscall(878, 0x26001, in_buffer[0x14], out_buffer[0x80])
|-
| 879
| 0x36F
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_ss_media_id
| syscall(879, 0x10001, out_buffer[0x10])
|-
! colspan="6" id="sys_deci3 Syscalls"|[[#sys_deci3 Syscalls]] (880-884)
|-
| 880
| 0x370
| {{DEX}} {{DECR}}
|
| 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
| {{DEX}} {{DECR}}
|
| 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
| {{DEX}} {{DECR}}
|
| sys_deci3_close
| int sys_deci3_close(sys_deci3_session_t session_id);
|-
| 883
| 0x373
| {{DEX}} {{DECR}}
|
| sys_deci3_send
| int sys_deci3_send(sys_deci3_session_t session_id, uint8_t * buf, __CSTD size_t size);
|-
| 884
| 0x374
| {{DEX}} {{DECR}}
|
| 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
| {{CEX}}{{DEX}}{{DECR}}
|
| sys_dbg_stop_processes
| 2 params: sys_pid_t pid, 1
|-
|}

Revision as of 01:33, 22 May 2017

Lv2 Syscall Services Usage

Documentation about syscalls with packet id

Syscall 621 (0x26D) Gamepad Ycon Interface

syscall(621,packet_id,r4,r5)

Packet ID Usage
0 sys_gamepad_ycon_initialize ( 0, 0)
1 sys_gamepad_ycon_finalize ( 0, 0)
2 sys_gamepad_ycon_has_input_ownership ( inout[8](if==0->autofill), out[1])
3 sys_gamepad_ycon_enumerate_device ( 0, out[0x20])
4 sys_gamepad_ycon_get_device_info ( in[8], out[0x1C])
5 sys_gamepad_ycon_read_raw_report ( in[4], out[4])
6 sys_gamepad_ycon_write_raw_report ( in[0x3C], out[])
7 sys_gamepad_ycon_get_feature ( in[8], out[0x38?])
8 sys_gamepad_ycon_set_feature (in[6+x](4Bytes+1Byte+1Byte[contains size x]+xBytes),0)
9 sys_gamepad_ycon_is_gem ( 0,out[1])

Syscall 726 (0x2D6) Gelic Device Eurus Post Command

syscall(726,uint16_t cmd, uint8_t *cmdbuf, uint64_t cmdbuf_size)

Packet ID Description

Syscall 861 (0x35D)

syscall(861,packet_id, r4,r5,r6,r7,r8,r9,r10)
Note: access to this Syscall requries 0x40 Root Control Flags, else 0x80010003

Packet ID Usage
0 not implemented
1
2
3
4
5
6
7
8
9 not implemented
10 not implemented
11
12
13
14
15
16
17
18
19

Syscall 862 (0x35E) Virtual TRM Manager Interface

syscall(862,packet_id, r4,r5,r6,r7)
Note: access to this Syscall requries 0x40 Root Control Flags, else 0x80010003

Packet ID Usage
0x2001
0x2002
0x2003
0x2004
0x2005
0x2006
0x2007 not implemented
0x2008 not implemented
0x2009 not implemented
0x200A
0x200B
0x200C
0x200D
0x200E vtrm_decrypt_master(uint8[0x10],uint8[0x40]
0x200F not implemented
0x2010 not implemented
0x2011 not implemented
0x2012
0x2013
0x2014
0x2015
0x2016
0x2017

Syscall 863 (0x35F) Update Manager Interface

syscall(863,packet_id, r4,r5,r6,r7,r8,r9)
Note: access to this Syscall requries 0x40 Root Control Flags, else 0x80010003

Packet ID Usage
0x6001 update_mgr_update_package_tophalf( ,,,)
0x6002 update_manager_if::Inspect_Package(int package_type(1-9),sys_addr_tr * alloc_addr,size,r7=9(cex)/5(dex/tool),r8=out:uint64_t*)
0x6003 update_manager_if::Get_Package_Info(int package_type,out:uint64_t*)
0x6004 update_mgr_get_fix_instruction( )
0x6005 update_mgr_extract_package_tophalf( ,,,,)
0x6006 update_mgr_get_extract_package(,,,,,)
0x6007 not implemented
0x6008 not implemented
0x6009 update_manager_if::get_token_seed( out:uint8[size1],size1,out:uint8[size2],size2) size>=0x50
0x600A update_manager_if::set_token(in:token[size],int size), size>=0x80
0x600B update_manager_if::read_eprom(uint32 offset,out:uint8[1])
0x600C update_manager_if::write_eprom(uint32 offset,uint8 value)
0x600D update_mgr_get_status( ,,,,,)
0x600E update_manager_if::allocate_buffer(size,out:sys_addr_t * alloc_addr)
0x600F update_manager_if::release_buffer(in:sys_addr_t * alloc_addr)
0x6010 not implemented
0x6011 update_manager_if::get_applicable_version(1 ,out:uint8[0x20])
0x6012

Syscall 864 (0x360) Storage Manager Interface

syscall(864,packet_id, r4)
Note: access to this Syscall requries at least 0x20 Debug Control Flags, else 0x80010003

Packet ID Description Notes
0x5004 sys_ss_auth_bd(int) cellSsDrvPs2DiscInsert(0x52)
0x5007 sys_ss_hw_disc_auth_emu(in/out:uint8[0x18]) use can be restricted to certain authentication id's
0x5008 sys_ss_hw_mc(in/out:uint8[0x38]) use can be restricted to certain authentication id's

Syscall 865 (0x361) Random Number Generator

syscall(865,packet_id, r4,r5)

Packet ID Description Notes
1 syscall(865,1, out[0x18], 0x18) size is static
usage with this packet_id requires either 0x40 Root Flags or [0x1B]=8 and a certain authentication id
2 sys_get_random_number(out[size], size)

Syscall 866 (0x362) Secure RTC Manager Interface

syscall(866,packet_id, r4, r5, r6)

Packet ID Description Notes
0x3001 secure_rtc_set_rtc(r4,r5) requries 0x40 root control flags
0x3002 secure_rtc_get_time(r4,r5,r6) might be restricted to certain authentication id's
0x3003 secure_rtc_set_time(r4,r5) requries 0x40 root control flags

Syscall 867 (0x363) AIM Manager Interface

syscall(867,packet_id, r4)
Note: access to this Syscall requries 0x40 Root Control Flags, else 0x80010003

Packet ID Description
0x19002 cellSsAimGetDeviceType(out:uint8[0x10])
0x19003 cellSsAimGetDeviceId(out:uint8[0x10])
0x19004 cellSsAimGetPsCode(out:uint8[8])
0x19005 cellSsAimGetOpenPsId(out:uint8[0x10])
0x19006 syscall(867,0x19006)

Syscall 868 (0x364) Indi Info Manager Interface

syscall(868,packet_id, r4,r5,r6,r7)
Note: access to this Syscall requries 0x40 Root Control Flags, but allows 0x20 Debug Flags and certain authentication id's for first packet_id

Packet ID Description
0x17001
0x17002
0x17003
0x17004
0x17005
0x17006
0x17007
0x17008
0x17009
0x1700A
0x1700B
0x1700C
0x1700D
0x1700E
0x1700F
0x17010
0x17011
0x17012
0x17013
0x17014
0x17015
0x17016
0x17017

Syscall 869 (0x365) RTC? Manager Interface

syscall(869,packet_id, r4)
Note: access to this Syscall requries 0x40 Root Control Flags and possibly restricted to certain authentication id's, else 0x80010003

Packet ID Description
0x22001 syscall(869,0x22001, out:uint8[0x80])
0x22002 syscall(869,0x22002, out:uint8[0x690])
0x22003 syscall(869,0x22003, in:uint8[8])
0x22004 syscall(869,0x22004, int)

Syscall 871 (0x367) SS Access Control Engine

syscall(871,packet_id, r4)

Packet ID Usage Notes
1 syscall(871,1,sys_pid_t id,out:uint8[8]) this packet_id requires 0x20 Debug Control Flags or [0x1B]=8 and a certain authentication id, else 0x80010003
2 syscall(871,2,out:uint8[8]) returns authentication id?
3 syscall(871,3,sys_pid_t id) this packet_id requries 0x20 Debug Control Flags, else 0x80010003, but returns 0x8001009

Syscall 876 (0x36C) Disc Access Control

syscall(876,packet_id, r4)
Note: accessing this Syscall is restricted to certain authentication id's

Packet ID Description
0x20000 sys_get_disc_access_control(out:uint8[4])
0x20001 sys_set_disc_access_control(0 / 1)

Syscall 877 (0x36D) User Token Interface

syscall(877,packet_id, r4,size)
Note: access to this Syscall requries 0x40 Root Control Flags, else 0x80010003

Packet ID Description
0x25003 sys_ss_utoken_decrypt(uint8[0xC50], 0xC50)
0x25004 sys_ss_utoken_get?(out:uint8[0xC50], 0xC50)
0x25005 sys_ss_utoken_encrypt(uint8[0xC50], 0xC50)

Syscall 878 (0x36E) Ad Sign

syscall(878,packet_id, r4,r5)
Note: access to this Syscall is restricted to certain authentication id's

Packet ID Description
0x26001 sys_ss_ad_sign(in:uint8[0x14],out:uint[0x80])

Syscall 879 (0x36F) Media ID

syscall(862,packet_id, r4)
Note: access to this Syscall is restricted to certain authentication id's
Note2: it uses Storage Service Id 0x5007, 0x4B

Packet ID Description
0x10001 sysBdMediaId(out:uint8[0x10])

not on the wiki yet

these lv2 syscalls are present, but neither ordinal nor branches are known yet

  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_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_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_raw_spu_image_load
  sys_mmapper_allocate_memory
  sys_ppu_thread_unregister_atexit
  sys_ppu_thread_once
  sys_prx_exitspawn_with_level
  sys_process_at_Exitspawn
  sys_process_atexitspawn
  sys_game_process_exitspawn2
  sys_process_is_stack
  debug syscalls
  sys_dbg_set_stacksize_ppu_exception_handler
  sys_dbg_get_spu_thread_group_ids
  sys_dbg_get_ppu_thread_ids
  sys_dbg_get_spu_thread_ids
  sys_dbg_register_ppu_exception_handler
  sys_dbg_mat_set_condition
  sys_dbg_read_spu_thread_context2
  sys_dbg_enable_floating_point_enabled_exception
  sys_dbg_get_event_queue_information
  sys_dbg_get_spu_thread_name
  sys_dbg_get_ppu_thread_name
  sys_dbg_signal_to_ppu_exception_handler
  sys_dbg_get_mutex_information
  sys_dbg_vm_get_page_information
  sys_dbg_mat_get_condition
  sys_dbg_get_cond_information
  sys_dbg_get_ppu_thread_status
  sys_dbg_get_lwcond_information
  sys_dbg_get_rwlock_information
  sys_dbg_get_spu_thread_group_status
  sys_dbg_get_semaphore_information
  sys_dbg_set_mask_to_ppu_exception_handler
  sys_dbg_get_coredump_params
  sys_dbg_get_address_from_dabr
  sys_dbg_get_spu_thread_group_name
  sys_dbg_finalize_ppu_exception_handler
  sys_dbg_read_spu_thread_context
  sys_dbg_initialize_ppu_exception_handler
  sys_dbg_read_ppu_thread_context
  sys_dbg_unregister_ppu_exception_handler
  sys_dbg_get_lwmutex_information
  sys_dbg_signal_to_coredump_handler
  sys_dbg_set_address_to_dabr
  sys_dbg_get_event_flag_information
  sys_dbg_disable_floating_point_enabled_exception

see also this pastebin: http://pastebin.com/w2xkNZ9T

Custom Syscalls

This is a fself for testing that when started in 4.21 DEX CFW will add lv2_alloc as Syscall 32(Replaces: UNUSED_SYSCALL). It will then try to use it and printf the received pointer. Please test and report back. http://rghost.net/48803322

firmware version offsets

FW version Offset Value Notes
3.72 Retail 0x9150
3.70 Retail 0x9088
3.66 Retail 0x8ef8
3.61 Retail 0x8d04
3.60 Retail 0x8ca0
3.56 Retail 0x8b10
3.55 Retail 0x3329b8 0x8aac
3.55 DEX
3.50 Retail 0x88b8
3.42 Retail 0x8598
3.41 Retail 0x2d7580 0x8534
3.41 DEX
3.41 KIOSK 0x8534
3.40 Retail 0x84d0
3.30 Retail 0x80e8
3.21 Retail 0x7d64
3.15 Retail 0x2d6c00 0x7b0c offset seems to be 6 further @ 0x002d6c06 (see below)
3.10 Retail 0x7918
3.01 Retail 0x7594
2.85 Retail 0x6f54
2.76 Retail 0x6bd0
2.70 Retail 0x6978
2.60 Retail 0x6590
2.53 Retail 0x62d4
2.43 Retail 0x5eec
1.02 Retail 0x27d8

Note: the value is decimal '35500', '34100' and '31500' in hex.

Example

Example from 3.15 with 3.60 spoof:

   Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
   
   002D6C00  00 00 00 00 00 00 8C A0 00 00 00 00 00 00 00 00  ......Œ ........
                               ^^ ^^
                         dec: 36000 spoofed

LV2 Process Structures

lv2::process is the same structure that can be found in CobraUSB source code (process.h). This version was reversed from 3.41 lv2_kernel.

struct proc_phys_mem_stat
{
  u64 field_0;
  u64 field_8;
  u64 field_10;
  u64 field_18;
  u64 field_20;
  u64 field_28;
  u64 field_30;
};

struct unk_process_struct_1E8
{
  u64 field_0;
  u64 field_8;
  u64 field_10;
  u64 field_18;
};

struct unk_process_struct_3A0
{
  u64 field_0;
  u64 field_8;
};

namespace lv2
{
    class wait_queue
    {
        u64 field_0;
        u64 field_8;
        u64 field_10;
    };

    class mutex
    {
        void *vtable;
        u64 field_8;
        u64 field_10;
        lv2::wait_queue field_18;
        u64 field_30;
        u64 field_38;
    };

    class condition_variable
    {
        void *vtable;
        u64 field_8;
        lv2::wait_queue field_10;
        u64 field_28;
        u64 field_30;
    };
    
    class pu_thr
    {
        void *vtable;
        char name[28];
        int thr_id;
        u64 field_28;
        u64 field_30;
        u64 field_38;
        u64 prio;
        u64 field_48;
        u64 field_50;
        u64 field_58;
        u64 field_60;
        u64 field_68;
        u64 stack_address;
        u64 stack_size;
        lv2::process *my_proc;
        u64 field_88;
        u64 field_90;
        u64 general_purpose_registers[32];
        int condition_register;
        u64 exception_register;
        u64 link_register;
        u64 count_register;
        u64 save_restore_register_0;
        u64 save_restore_register_1;
        u64 field_1C8;
        double floating_point_registers[32];
        int field_2D0;
        int floating_point_status_and_control_register;
        u64 field_2D8;
        u64 field_2E0;
        u64 field_2E8;
        u64 field_2F0;
        u64 field_2F8;
        u64 field_300;
        u64 field_308;
        u64 field_310;
        u64 field_318;
        u64 field_320;
        u64 field_328;
        u64 field_330;
        u64 field_338;
        u64 field_340;
        u64 field_348;
        u64 field_350;
        u64 field_358;
        u64 field_360;
        u64 field_368;
        u64 field_370;
        u64 field_378;
        u64 field_380;
        u64 field_388;
        u64 field_390;
        u64 field_398;
        u64 field_3A0;
        u64 field_3A8;
        u64 field_3B0;
        u64 field_3B8;
        u64 field_3C0;
        u64 field_3C8;
        u64 field_3D0;
        u64 field_3D8;
        u64 field_3E0;
        u64 field_3E8;
        u64 field_3F0;
        u64 field_3F8;
        u64 field_400;
        u64 field_408;
        u64 field_410;
        u64 field_418;
        u64 field_420;
        u64 field_428;
        u64 field_430;
        u64 field_438;
        u64 field_440;
        u64 field_448;
        u64 field_450;
        u64 field_458;
        u64 field_460;
        u64 field_468;
        u64 field_470;
        u64 field_478;
        u64 field_480;
        u64 field_488;
        u64 field_490;
        u64 field_498;
        u64 field_4A0;
        u64 field_4A8;
        u64 field_4B0;
        u64 field_4B8;
        u64 field_4C0;
        u64 field_4C8;
        u64 field_4D0;
        u64 field_4D8;
        u64 field_4E0;
        u64 field_4E8;
        u64 field_4F0;
        u64 field_4F8;
        u64 field_500;
        u64 field_508;
        u64 field_510;
        u64 field_518;
        u64 field_520;
        u64 field_528;
        u64 field_530;
        u64 field_538;
        u64 field_540;
        u64 field_548;
        int stop_info;
        u64 field_558;
        u64 field_560;
        u64 field_568;
        u64 field_570;
        u64 field_578;
        u64 field_580;
        u64 field_588;
        u64 field_590;
        u64 field_598;
        u64 field_5A0;
        u64 field_5A8;
        u64 field_5B0;
        u64 field_5B8;
        u64 field_5C0;
        u64 field_5C8;
        u64 field_5D0;
        u64 field_5D8;
        u64 field_5E0;
        u64 field_5E8;
        u64 field_5F0;
        u64 field_5F8;
    };
    
    class id_table
    {
        u64 field_0[256];
        u64 field_800;
        lv2::wait_queue field_808;
        u64 field_820;
    };
    
    class address_space
    {
        u64 field_0;
        u64 field_8;
        u64 field_10;
        u64 field_18;
        u64 field_20;
    };
    
    class process_as
    {
        lv2::address_space field_0;
        u64 field_28;
        u64 field_30;
        u64 field_38;
        u64 field_40;
        u64 field_48;
        u64 field_50;
        u64 field_58;
        u64 field_60;
        u64 field_68;
        u64 field_70;
        u64 field_78;
        u64 field_80;
        u64 field_88;
        u64 field_90;
        u64 field_98;
        u64 field_A0;
        u64 field_A8;
        u64 field_B0;
        u64 field_B8;
        u64 field_C0;
        u64 field_C8;
        u64 field_D0;
        u64 field_D8;
        u64 field_E0;
        u64 field_E8;
        u64 field_F0;
        u64 field_F8;
        u64 field_100;
        u64 field_108;
        u64 field_110;
        u64 field_118;
        u64 field_120;
        u64 field_128;
        u64 field_130;
        u64 field_138;
        u64 field_140;
        u64 field_148;
        u64 field_150;
        u64 field_158;
        u64 field_160;
        u64 field_168;
        u64 field_170;
        u64 field_178;
        u64 field_180;
        u64 field_188;
        u64 field_190;
        u64 field_198;
        u64 field_1A0;
        u64 field_1A8;
        u64 field_1B0;
        u64 field_1B8;
        u64 field_1C0;
        u64 field_1C8;
        u64 field_1D0;
        u64 field_1D8;
        u64 field_1E0;
        u64 field_1E8;
        u64 field_1F0;
        u64 field_1F8;
        u64 field_200;
        u64 field_208;
        u64 field_210;
        u64 field_218;
        u64 field_220;
        u64 field_228;
        u64 field_230;
        u64 field_238;
        u64 field_240;
        u64 field_248;
        u64 field_250;
        u64 field_258;
        u64 field_260;
        u64 field_268;
        u64 field_270;
        u64 field_278;
        u64 field_280;
        u64 field_288;
        u64 field_290;
        u64 field_298;
        u64 field_2A0;
        u64 field_2A8;
        u64 field_2B0;
        u64 field_2B8;
        u64 field_2C0;
        u64 field_2C8;
        u64 field_2D0;
        u64 field_2D8;
        u64 field_2E0;
        u64 field_2E8;
        u64 field_2F0;
        u64 field_2F8;
        u64 field_300;
        u64 field_308;
        u64 field_310;
        u64 field_318;
        u64 field_320;
        u64 field_328;
        u64 field_330;
        u64 field_338;
        u64 field_340;
        u64 field_348;
        u64 field_350;
        u64 field_358;
        u64 field_360;
        u64 field_368;
        u64 field_370;
        u64 field_378;
        u64 field_380;
        u64 field_388;
        u64 field_390;
        u64 field_398;
        u64 field_3A0;
        u64 field_3A8;
        u64 field_3B0;
        u64 field_3B8;
        u64 field_3C0;
        u64 field_3C8;
        u64 field_3D0;
        u64 field_3D8;
        u64 field_3E0;
        u64 field_3E8;
        u64 field_3F0;
        u64 field_3F8;
        u64 field_400;
        u64 field_408;
        u64 field_410;
        u64 field_418;
        u64 field_420;
        u64 field_428;
        u64 field_430;
        u64 field_438;
        u64 field_440;
        u64 field_448;
        u64 field_450;
        u64 field_458;
        u64 field_460;
        u64 field_468;
        u64 field_470;
        u64 field_478;
        u64 field_480;
        u64 field_488;
        u64 field_490;
        u64 field_498;
        u64 field_4A0;
        lv2::mutex field_4A8;
        u64 field_4E8;
        u64 field_4F0;
        u64 field_4F8;
        u64 field_500;
        u64 field_508;
        u64 field_510;
        u64 field_518;
        u64 field_520;
        u64 field_528;
    };

    class process
    {
        void *sc_table;
        lv2::sc_trace *sc_trace;
        u64 field_10;
        u64 field_18;
        u64 field_20;
        int pid;
        int status;
        lv2::process_as *process_as;
        lv2::pu_thr *primary_ppu_thread;
        u64 field_40;
        lv2::pu_thr *field_48;
        u64 num_pu_threads_1;
        u64 num_pu_threads_2;
        u64 field_60;
        u64 field_68;
        u64 field_70;
        u64 field_78;
        u64 field_80;
        u64 field_88;
        u64 field_90;
        u64 field_98;
        u64 field_A0;
        u64 size_of_memory;
        lv2::process *parent;
        lv2::process *first_child;
        lv2::process *last_child;
        u64 num_children;
        lv2::mutex field_D0;
        lv2::condition_variable field_110;
        u64 field_148;
        u64 field_150;
        u64 field_158;
        char *proc_image_filename;
        lv2::mutex field_168;
        u64 field_1A8;
        proc_phys_mem_stat field_1B0;
        unk_process_struct_1E8 field_1E8;
        lv2::id_table *id_table;
        u64 field_210;
        u64 field_218;
        u64 field_220;
        u64 field_228;
        u64 field_230;
        u64 field_238;
        u64 field_240;
        u64 field_248;
        u64 field_250;
        u64 field_258;
        u64 field_260;
        char osabi_type;
        int sdk_version;
        u64 field_270;
        u64 field_278;
        u64 field_280;
        u64 field_288;
        u64 field_290;
        u64 field_298;
        u64 field_2A0;
        u64 field_2A8;
        u64 field_2B0;
        u64 field_2B8;
        u64 field_2C0;
        u64 field_2C8;
        u64 field_2D0;
        u64 field_2D8;
        u64 field_2E0;
        u64 field_2E8;
        u64 field_2F0;
        u64 field_2F8;
        u64 field_300;
        u64 field_308;
        u64 field_310;
        u64 field_318;
        u64 field_320;
        u64 field_328;
        u64 field_330;
        u64 field_338;
        u64 field_340;
        u64 field_348;
        u64 field_350;
        u64 field_358;
        u64 field_360;
        u64 field_368;
        u64 field_370;
        u64 field_378;
        u64 field_380;
        u64 field_388;
        u64 field_390;
        u64 field_398;
        unk_process_struct_3A0 field_3A0;
        u64 field_3B0;
        u64 field_3B8;
        u64 field_3C0;
        u64 field_3C8;
    };
}

LV2 Kernel Syscall Table from SDK 0.80

https://pastebin.com/aTRaFstS