LV2 Functions and Syscalls: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
 
(360 intermediate revisions by 45 users not shown)
Line 1: Line 1:
[[Category:Software]]
= Structures =
<source lang="cpp">
struct sys_process_info_t __attribute__ ((packed)) {
process_id_t pid;
uint32_t status;
uint32_t ppu_thread_count;
uint32_t spu_thread_count;
uint32_t raw_spu_count;
process_id_t parent_pid;
char* image_file_name;
uint32_t memory_size;
uint8_t osabi_type;
uint8_t pad[3];
uint64_t interrupt_bitmap_mask;
uint32_t dbg_trace_id;
};
 
 
struct sys_prx_load_module_option_t {
uint64_t size; /* sizeof(this) */
};
 
struct sys_prx_dbg_get_module_list_t {
uint64_t size; /* sizeof(this) *//* 8 */
uint32_t unk0;
uint32_t max;
sys_prx_user_p_prx_id_t idlist;
uint32_t count;
sys_prx_user_p_stop_level_t levellist;
uint32_t unk1;
} sys_prx_dbg_get_module_list_t;
 
struct sys_prx_start_t {
uint64_t flag; // flag ?
uint64_t mode; // mode ?
uint64_t entry; //either first arg of pe_func or casted to sys_prx_entry_t (see sys/prx.h)
int64_t modres;
uint64_t pe_func; //casted to sys_prx_entry_pe_t (see sys/prx.h)
};
 
struct np_drm_info_t {
uint32_t magic;
uint32_t version;
uint32_t drm_type;
uint32_t type;
uint8_t content_id[0x30];
struct CellRtcTick validity_start;
struct CellRtcTick validity_end;
struct CellRtcTick current_tick;
struct CellRtcTick current_secure_tick;
};
</source>
 
= Functions =
= Functions =


Line 157: Line 209:
!Function
!Function
!Notes
!Notes
!Offset in 4.46
!Offset in 3.55
!Offset in 3.55
!Offset in 3.41  
!Offset in 3.41  
Line 166: Line 219:
|void* alloc(size_t size, int unk)
|void* alloc(size_t size, int unk)
|unk is possibly pool? PSGroove uses 0x27.
|unk is possibly pool? PSGroove uses 0x27.
|0x62F78
|0x60b78
|0x60b78
|0x62088   
|0x62088   
Line 175: Line 229:
|void dealloc(void* ptr, int unk)
|void dealloc(void* ptr, int unk)
|unk is possibly pool? Should be the same value of unk given to alloc.
|unk is possibly pool? Should be the same value of unk given to alloc.
|
|0x60fb4
|0x60fb4
|0x624C8   
|0x624C8   
Line 184: Line 239:
|void process_utils::create_initial_system_process().
|void process_utils::create_initial_system_process().
|Called to start the first userspace process, which is normally "sys_init_osd.self" but it can also launch recovery mode or update mode.
|Called to start the first userspace process, which is normally "sys_init_osd.self" but it can also launch recovery mode or update mode.
|
|
|
|0x287D50   
|0x287D50   
Line 194: Line 250:
|This function does not return.
|This function does not return.
(It seems that the offset point to a location that will cause panic after, not the real panic function, use with caution)
(It seems that the offset point to a location that will cause panic after, not the real panic function, use with caution)
|
|
|
|0x288568
|0x288568
Line 203: Line 260:
|USBGetDeviceDescriptor
|USBGetDeviceDescriptor
|USB function
|USB function
|
|
|
|0xd2998
|0xd2998
Line 211: Line 269:
|-
|-
|USBOpenEndpoint
|USBOpenEndpoint
|
|
|
|
|
Line 220: Line 279:
|-
|-
|USBControlTransfer
|USBControlTransfer
|
|
|
|
|
Line 229: Line 289:
|-
|-
|USBRegisterDriver
|USBRegisterDriver
|
|
|
|
|
Line 243: Line 304:
|-
|-
! FW version !! Alloc !! Free !! Syscall<br />Table !! Mem_base !! TOC !! Copy<br />to<br />User !! Notes
! FW version !! Alloc !! Free !! Syscall<br />Table !! Mem_base !! TOC !! Copy<br />to<br />User !! Notes
|-
| 4.82 Retail || || || 0x363BE0 || || 0x34FBB0 ||  ||
|-
| 4.81 Retail || || || 0x363BE0 || || 0x34FBB0 ||  ||
|-
|-
| 3.56 Retail || 0x60b24 || 0x60f60 || 0x346570 || 0xef60 || 0x330540 ||  ||  
| 3.56 Retail || 0x60b24 || 0x60f60 || 0x346570 || 0xef60 || 0x330540 ||  ||  
Line 299: Line 364:
|-
|-
| 1.02 Retail || || || 0x322428 ||  ||  ||  ||  
| 1.02 Retail || || || 0x322428 ||  ||  ||  ||  
|-
| 1.50 DEX || || || 0x3384A8 ||  || 0x392850 ||  ||
|-
|-
| 1.00 DEX || || || 0x3206e0 ||  ||  ||  ||  
| 1.00 DEX || || || 0x3206e0 ||  ||  ||  ||  
Line 307: Line 374:


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


'''Note:''' LV1: Peek and Poke support uses unused LV1 call 182 and 183


----
----


See also: [http://psl1ght.net/wiki/Syscalls psl1ght::Syscalls]
'''See also:'''
*[http://psl1ght.net/wiki/Syscalls psl1ght::Syscalls]
 
*Tutorial How to call a Syscall By deroad: http://www.ps3hax.net/2012/02/tutorial-how-to-call-a-syscall-by-deroad/
 
 
 
{{Development}}<noinclude>[[Category:Main]]</noinclude>

Latest revision as of 08:00, 20 September 2024

Structures[edit | edit source]

struct sys_process_info_t __attribute__ ((packed)) {
	process_id_t pid;
	uint32_t status;
	uint32_t ppu_thread_count;
	uint32_t spu_thread_count;
	uint32_t raw_spu_count;
	process_id_t parent_pid;
	char* image_file_name;
	uint32_t memory_size;
	uint8_t osabi_type;
	uint8_t pad[3];
	uint64_t interrupt_bitmap_mask;
	uint32_t dbg_trace_id;
};


struct sys_prx_load_module_option_t {
	uint64_t size;				/* sizeof(this) */
};

struct sys_prx_dbg_get_module_list_t {
	uint64_t size;				/* sizeof(this) *//* 8 */
	uint32_t unk0;
	uint32_t max;
	sys_prx_user_p_prx_id_t idlist;
	uint32_t count;	
	sys_prx_user_p_stop_level_t levellist;	
	uint32_t unk1;
} sys_prx_dbg_get_module_list_t;

struct sys_prx_start_t {
	uint64_t flag; // flag ?
	uint64_t mode; // mode ?
	uint64_t entry; //either first arg of pe_func or casted to sys_prx_entry_t (see sys/prx.h)
	int64_t modres;
	uint64_t pe_func; //casted to sys_prx_entry_pe_t (see sys/prx.h)
};

struct np_drm_info_t {
	uint32_t magic;
	uint32_t version;
	uint32_t drm_type;
	uint32_t type;
	uint8_t content_id[0x30];
	struct CellRtcTick validity_start;
	struct CellRtcTick validity_end;
	struct CellRtcTick current_tick;
	struct CellRtcTick current_secure_tick;
};

Functions[edit | edit source]

string.h[edit | edit source]

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

stdio.h[edit | edit source]

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

lv2[edit | edit source]

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

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

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

Lv2 System Table Offset[edit | edit source]

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

Syscalls[edit | edit source]

LV2 Syscalls[edit | edit source]

Dec Hex fw_type needed_flags Name Notes
#sys_process Syscalls (1-31)
1 0x001  DECR   DEX   CEX  sys_process_getpid sys_pid_t sys_process_getpid(void);
2 0x002  DECR   DEX   CEX   root  sys_process_wait_for_child 3 params: sys_pid_t, uint32_t *status, unk=0
3 0x003  DECR   DEX   CEX  sys_process_exit int sys_process_exit(int)
4 0x004  DECR   DEX   CEX   dbg  sys_process_get_status int sys_process_get_status(sys_pid_t pid)
5 0x005  DECR   DEX   CEX   dbg  sys_process_detach_child 1 param
6 0x006 (sys_process_create_program_segment)
7 0x007 (sys_process_destroy_program_segment)
8 0x008 (sys_process_authenticate_program_segment)
9 0x009 (sys_process_load_program_segment)
10 0x00A (sys_process_unload_program_segment)
11 0x00B (sys_process_find_program_segment)
12 0x00C  DECR   DEX   CEX  sys_process_get_number_of_object int sys_process_get_number_of_object(uint32_t object_type, uint32_t* count);
13 0x00D  DECR   DEX   CEX  sys_process_get_id int sys_process_get_id(uint32_t object, uint32_t * buff, size_t size, size_t * set_size);
14 0x00E  DECR   DEX   CEX  sys_process_is_spu_lock_line_reservation_address int sys_process_is_spu_lock_line_reservation_address(sys_addr_t addr, uint64_t flags);
15 0x00F (sys_process_create)
17 0x011 (sys_process_create_primary_ppu_thread)
18 0x012  DECR   DEX   CEX  sys_process_getppid sys_pid_t sys_process_getppid(void);
19 0x013  DECR   DEX   CEX  sys_process_kill int sys_process_kill(sys_pid_t pid);
20 0x014 (sys_process_create_primary_ppu_thread_tls)
21 0x015  DECR   DEX   CEX   dbg  _sys_process_spawn int sys_process_spawn(int *pid, int prio, uint64_t flags, void *stack, int stack_size, int unk1, int unk2)
22 0x016  DECR   DEX   CEX  sys_process_exit2 void sys_process_exit2(int error_code,0,0)
23 0x017  DECR   DEX   CEX   dbg  sys_process_wait_for_child2 6 params
24 0x018  DECR   DEX   CEX   dbg  8 params, spawns a self
25 0x019  DECR   DEX   CEX   root  sys_process_get_sdk_version int sys_process_get_sdk_version(sys_pid_t pid, uint32_t* sdk_version)

Only needs root permission if 'pid' is not the current process.

26 0x01A  DECR   DEX   CEX  _sys_process_exit as well 4 params (calls sys_process_exit)
27 0x01B  DECR   DEX   CEX   dbg  8 params, spawns a self
28 0x01C  DECR   DEX   CEX   root  _sys_process_get_number_of_object as well kinda int sys_process_get_number_of_object(uint32_t object)
29 0x01D  DECR   DEX   CEX   root  sys_process_get_id as well same as syscall13 just with root flag check, same input etc.
30 0x01E  DECR   DEX   CEX  _sys_process_get_paramsfo int _sys_process_get_paramsfo(uint8_t buffer[0x40]); (more info: #sys_process_get_paramsfo)
31 0x01F  DECR   DEX   CEX  sys_process_get_ppu_guid sys_addr_t sys_process_get_ppu_guid(void);
#sys_ppu_thread Syscalls (40-58)
41 0x029  DECR   DEX   CEX  sys_ppu_thread_exit int sys_ppu_thread_exit(int errorcode)
42 0x02A (sys_ppu_thread_get_id)
43 0x02B  DECR   DEX   CEX  sys_ppu_thread_yield void sys_ppu_thread_yield(void);
44 0x02C  DECR   DEX   CEX  sys_ppu_thread_join int sys_ppu_thread_join(sys_ppu_thread_t thread_id, uint64_t * vptr);
45 0x02D  DECR   DEX   CEX  sys_ppu_thread_detach int sys_ppu_thread_detach(sys_ppu_thread_t thread_id);
46 0x02E  DECR   DEX   CEX  sys_ppu_thread_get_join_state void sys_ppu_thread_get_join_state(int *isjoinable);
47 0x02F  DECR   DEX   CEX   dbg  sys_ppu_thread_set_priority int sys_ppu_thread_set_priority(sys_ppu_thread_t thread_id, int prio);
Flags are checked when 3071 > prio < 3199
48 0x030  DECR   DEX   CEX  sys_ppu_thread_get_priority int sys_ppu_thread_get_priority(sys_ppu_thread_t thread_id, int *prio);
49 0x031  DECR   DEX   CEX  sys_ppu_thread_get_stack_information int sys_ppu_thread_get_stack_information(sys_ppu_thread_stack_t * info);
50 0x032  DECR   DEX   CEX   root  sys_ppu_thread_stop int sys_ppu_thread_stop(sys_ppu_thread_t thread_id);
51 0x033  DECR   DEX   CEX   root  sys_ppu_thread_restart int sys_ppu_thread_restart(void);
52 0x034  DECR   DEX   CEX   dbg  sys_ppu_thread_create int sys_ppu_thread_create(sys_ppu_thread_t *thread_id, & void (*entry)(uint64_t), uint64_t arg, 0, int prio, size_t stacksize, uint64_t flags, const char *threadname);
53 0x035  DECR   DEX   CEX  sys_ppu_thread_start int sys_ppu_thread_start(sys_ppu_thread_t thread_id);
54 0x036  DECR   DEX   CEX   root  syscall(0x036, 0x109/0x111, out: uint8[4]), pu_thread get (kernel) allocation information
55 0x037  DECR   DEX   CEX   root  syscall(0x037, 0x111, 0> int <0x100), pu_thread set (kernel) allocation? information
56 0x038  DECR   DEX   CEX  sys_ppu_thread_rename int sys_ppu_thread_rename(sys_ppu_thread_t thread_id, const char *name);
57 0x039  DECR   DEX   CEX  sys_ppu_thread_recover_page_fault int sys_ppu_thread_recover_page_fault(sys_ppu_thread_t thread_id);
58 0x03A  DECR   DEX   CEX  sys_ppu_thread_get_page_fault_context int sys_ppu_thread_get_page_fault_context(sys_ppu_thread_t thread_id, sys_ppu_thread_icontext_t * ctxp);
#sys_trace Syscalls (60-69+77)
60 0x03C  DECR   DEX  sys_trace_create
61 0x03D  DECR   DEX  sys_trace_start
62 0x03E  DECR   DEX  sys_trace_stop
63 0x03F  DECR   DEX  sys_trace_update_top_index
64 0x040  DECR   DEX  sys_trace_destroy
65 0x041  DECR   DEX  sys_trace_drain
66 0x042  DECR   DEX  sys_trace_attach_process
67 0x043  DECR   DEX  sys_trace_allocate_buffer
68 0x044  DECR   DEX  sys_trace_free_buffer
69 0x045  DECR   DEX  sys_trace_create2
#sys_timer Syscalls (70-76+141+142)
70 0x046  DECR   DEX   CEX  sys_timer_create int sys_timer_create(sys_timer_t * timer_id);
71 0x047  DECR   DEX   CEX  sys_timer_destroy int sys_timer_destroy(sys_timer_t timer_id);
72 0x048  DECR   DEX   CEX  sys_timer_get_information int sys_timer_get_information(sys_timer_t timer_id, sys_timer_information_t * info);
73 0x049  DECR   DEX   CEX  sys_timer_start int sys_timer_start(sys_timer_t timer_id, system_time_t base_time, usecond_t period);
74 0x04A  DECR   DEX   CEX  sys_timer_stop int sys_timer_stop(sys_timer_t timer_id);
75 0x04B  DECR   DEX   CEX  sys_timer_connect_event_queue int sys_timer_connect_event_queue(sys_timer_t timer_id, sys_event_queue_t queue_id, uint64_t name, uint64_t data1, uint64_t data2);
76 0x04C  DECR   DEX   CEX  sys_timer_disconnect_event_queue int sys_timer_disconnect_event_queue(sys_timer_t timer_id);
#sys_trace Syscalls (60-69+77)
77 0x04D  DECR   DEX  sys_trace_create2_in_cbepm
78 0x04E  DECR  sys_trace_
#sys_interrupt Syscalls (80+81+84+88+89)
80 0x050  DECR   DEX   CEX  sys_interrupt_tag_create int sys_interrupt_tag_create(sys_interrupt_tag_t * intrtag, sys_irqoutlet_id_t irq, sys_hw_thread_t hwthread);
81 0x051  DECR   DEX   CEX  sys_interrupt_tag_destroy int sys_interrupt_tag_destroy(sys_interrupt_tag_t intrtag);
#sys_event Syscalls (82+83+85-87+118+128-140)
82 0x052  DECR   DEX   CEX  sys_event_flag_create int sys_event_flag_create(sys_event_flag_t * id, sys_event_flag_attribute_t * attr, uint64_t init);
83 0x053  DECR   DEX   CEX  sys_event_flag_destroy int sys_event_flag_destroy(sys_event_flag_t id);
#sys_interrupt Syscalls (80+81+84+88+89)
84 0x054  DECR   DEX   CEX  sys_interrupt_thread_establish int sys_interrupt_thread_establish(sys_interrupt_thread_handle_t * ih, sys_interrupt_tag_t intrtag, uint64_t intrthread, uint64_t arg1, uint64_t arg2);
#sys_event Syscalls (82+83+85-87+118+128-140)
85 0x055  DECR   DEX   CEX  sys_event_flag_wait int sys_event_flag_wait(sys_event_flag_t id, uint64_t bitptn, uint32_t mode, uint64_t * result, usecond_t timeout);
86 0x056  DECR   DEX   CEX  sys_event_flag_trywait int sys_event_flag_trywait(sys_event_flag_t id, uint64_t bitptn, uint32_t mode, uint64_t * result);
87 0x057  DECR   DEX   CEX  sys_event_flag_set int sys_event_flag_set(sys_event_flag_t id, uint64_t bitptn);
#sys_interrupt Syscalls (80+81+84+88+89)
88 0x058  DECR   DEX   CEX  sys_interrupt_thread_eoi void sys_interrupt_thread_eoi(void);
89 0x059  DECR   DEX   CEX  sys_interrupt_thread_disestablish int sys_interrupt_thread_disestablish(sys_interrupt_thread_handle_t ih);
#sys_semaphore Syscalls (90-94+114)
90 0x05A  DECR   DEX   CEX  sys_semaphore_create int sys_semaphore_create(sys_semaphore_t * sem, sys_semaphore_attribute_t * attr, sys_semaphore_value_t initial_val, sys_semaphore_value_t max_val);
91 0x05B  DECR   DEX   CEX  sys_semaphore_destroy int sys_semaphore_destroy(sys_semaphore_t sem);
92 0x05C  DECR   DEX   CEX  sys_semaphore_wait int sys_semaphore_wait(sys_semaphore_t sem, usecond_t timeout);
93 0x05D  DECR   DEX   CEX  sys_semaphore_trywait int sys_semaphore_trywait(sys_semaphore_t sem);
94 0x05E  DECR   DEX   CEX  sys_semaphore_post int sys_semaphore_post(sys_semaphore_t sem, sys_semaphore_value_t val);
#sys_lwmutex Syscalls (95-99)
95 0x05F  DECR   DEX   CEX  _sys_lwmutex_create int _sys_lwmutex_create(sys_lwmutex_pseudo_id_t* lwmutex, sys_protocol_t protocol, sys_lwmutex_t *control, int has_name, uint64_t name)
96 0x060  DECR   DEX   CEX  _sys_lwmutex_destroy int _sys_lwmutex_destroy(sys_lwmutex_pseudo_id_t lwmutex)
97 0x061  DECR   DEX   CEX  _sys_lwmutex_lock int _sys_lwmutex_lock(sys_lwmutex_pseudo_id_t lwmutex, usecond_t timeout)
98 0x062  DECR   DEX   CEX  _sys_lwmutex_unlock int _sys_lwmutex_unlock(sys_lwmutex_pseudo_id_t lwmutex)
99 0x063  DECR   DEX   CEX  _sys_lwmutex_trylock int _sys_lwmutex_trylock(sys_lwmutex_pseudo_id_t lwmutex)
#sys_mutex Syscalls (100-104)
100 0x064  DECR   DEX   CEX  sys_mutex_create int sys_mutex_create(sys_mutex_t * mutex_id, sys_mutex_attribute_t * attr);
101 0x065  DECR   DEX   CEX  sys_mutex_destroy int sys_mutex_destroy(sys_mutex_t mutex_id);
102 0x066  DECR   DEX   CEX  sys_mutex_lock int sys_mutex_lock(sys_mutex_t mutex_id, usecond_t timeout);
103 0x067  DECR   DEX   CEX  sys_mutex_trylock int sys_mutex_trylock(sys_mutex_t mutex_id);
104 0x068  DECR   DEX   CEX  sys_mutex_unlock int sys_mutex_unlock(sys_mutex_t mutex_id);
#sys_cond Syscalls (105-110)
105 0x069  DECR   DEX   CEX  sys_cond_create int sys_cond_create(sys_cond_t * cond_id, sys_mutex_t mutex_id, sys_cond_attribute_t * attr);
106 0x06A  DECR   DEX   CEX  sys_cond_destroy int sys_cond_destroy(sys_cond_t cond_id);
107 0x06B  DECR   DEX   CEX  sys_cond_wait int sys_cond_wait(sys_cond_t cond_id, usecond_t timeout);
108 0x06C  DECR   DEX   CEX  sys_cond_signal int sys_cond_signal(sys_cond_t cond_id);
109 0x06D  DECR   DEX   CEX  sys_cond_signal_all int sys_cond_signal_all(sys_cond_t cond_id);
110 0x06E  DECR   DEX   CEX  sys_cond_signal_to int sys_cond_signal_to(sys_cond_t cond_id, sys_ppu_thread_t thread);
#sys_lwcond Syscalls (111+112)
111 0x06F  DECR   DEX   CEX  _sys_lwcond_create int _sys_lwcond_create(sys_lwcond_pseudo_id_t *lwcond, sys_lwmutex_pseudo_id_t lwmutex, sys_lwcond_t *control, uint64_t name)
112 0x070  DECR   DEX   CEX  _sys_lwcond_destroy int _sys_lwcond_destroy(sys_lwcond_pseudo_id_t lwcond)
113 0x071  DECR   DEX   CEX  _sys_lwcond_queue_wait int _sys_lwcond_queue_wait(sys_lwcond_pseudo_id_t lwcond, sys_lwmutex_pseudo_id_t lwmutex, usecond_t timeout)
#sys_semaphore Syscalls (90-94+114)
114 0x072  DECR   DEX   CEX  sys_semaphore_get_value int sys_semaphore_get_value(sys_semaphore_t sem, sys_semaphore_value_t * val);
115 0x073  DECR   DEX   CEX  _sys_lwcond_signal int _sys_lwcond_signal(sys_lwcond_pseudo_id_t lwcond, sys_lwmutex_pseudo_id_t lwmutex, sys_ppu_thread_t ppu_thread_id, uint32_t mode)
116 0x074  DECR   DEX   CEX  _sys_lwcond_signal_all int _sys_lwcond_signal_all(sys_lwcond_pseudo_id_t lwcond, sys_lwmutex_pseudo_id_t lwmutex, uint32_t mode)
117 0x075  DECR   DEX   CEX  _sys_lwmutex_unlock2 int _sys_lwmutex_unlock2(sys_lwmutex_pseudo_id_t lwmutex)

Sets a different "unlocked" flag than _sys_lwmutex_unlock.

#sys_event Syscalls (82+83+85-87+118+128-140)
118 0x076  DECR   DEX   CEX  sys_event_flag_clear int sys_event_flag_clear(sys_event_flag_t id, uint64_t bitptn);
119 0x077  DECR   DEX   CEX   root  sys_time_get_rtc int syscall(119, uint64_t *real_time_clock); Gets ps3 real time clock value, hvsc232
#sys_rwlock Syscalls (120-127+148)
120 0x078  DECR   DEX   CEX  sys_rwlock_create int sys_rwlock_create(sys_rwlock_t * rw_lock_id, sys_rwlock_attribute_t * attr);
121 0x079  DECR   DEX   CEX  sys_rwlock_destroy int sys_rwlock_destroy(sys_rwlock_t rw_lock_id);
122 0x07A  DECR   DEX   CEX  sys_rwlock_rlock int sys_rwlock_rlock(sys_rwlock_t rw_lock_id, usecond_t timeout);
123 0x07B  DECR   DEX   CEX  sys_rwlock_tryrlock int sys_rwlock_tryrlock(sys_rwlock_t rw_lock_id);
124 0x07C  DECR   DEX   CEX  sys_rwlock_runlock int sys_rwlock_runlock(sys_rwlock_t rw_lock_id);
125 0x07D  DECR   DEX   CEX  sys_rwlock_wlock int sys_rwlock_wlock(sys_rwlock_t rw_lock_id, usecond_t timeout);
126 0x07E  DECR   DEX   CEX  sys_rwlock_trywlock int sys_rwlock_trywlock(sys_rwlock_t rw_lock_id);
127 0x07F  DECR   DEX   CEX  sys_rwlock_wunlock int sys_rwlock_wunlock(sys_rwlock_t rw_lock_id);
#sys_event Syscalls (82+83+85-87+118+128-140)
128 0x080  DECR   DEX   CEX  sys_event_queue_create int sys_event_queue_create(sys_event_queue_t * equeue_id, sys_event_queue_attribute_t * attr, sys_ipc_key_t event_queue_key, int size);
129 0x081  DECR   DEX   CEX  sys_event_queue_destroy int sys_event_queue_destroy(sys_event_queue_t equeue_id, int mode);
130 0x082  DECR   DEX   CEX  sys_event_queue_receive int sys_event_queue_receive(sys_event_queue_t equeue_id, sys_event_t * event, usecond_t timeout);
131 0x083  DECR   DEX   CEX  sys_event_queue_tryreceive int sys_event_queue_tryreceive(sys_event_queue_t equeue_id, sys_event_t * event_array, int size, int *number);
132 0x084  DECR   DEX   CEX  sys_event_flag_cancel int sys_event_flag_cancel(sys_event_flag_t id, int *num);
133 0x085  DECR   DEX   CEX  sys_event_queue_drain int sys_event_queue_drain(sys_event_queue_t equeue_id);
134 0x086  DECR   DEX   CEX  sys_event_port_create int sys_event_port_create(sys_event_port_t * eport_id, int port_type, uint64_t name);
135 0x087  DECR   DEX   CEX  sys_event_port_destroy int sys_event_port_destroy(sys_event_port_t eport_id);
136 0x088  DECR   DEX   CEX  sys_event_port_connect_local int sys_event_port_connect_local(sys_event_port_t event_port_id, sys_event_queue_t event_queue_id);
137 0x089  DECR   DEX   CEX  sys_event_port_disconnect int sys_event_port_disconnect(sys_event_port_t event_port_id);
138 0x08A  DECR   DEX   CEX  sys_event_port_send int sys_event_port_send(sys_event_port_t eport_id, unint64_t data1, uint64_t data2, uint64_t data3);
139 0x08B  DECR   DEX   CEX  sys_event_flag_get int sys_event_flag_get(sys_event_flag_t id, uint64_t * bitptn);
140 0x08C  DECR   DEX   CEX  sys_event_port_connect_ipc int sys_event_port_connect_ipc(sys_event_port_t eport_id, sys_ipc_key_t event_queue_key);
#sys_timer Syscalls (70-76+141+142)
141 0x08D  DECR   DEX   CEX  sys_timer_usleep int sys_timer_usleep(usecond_t sleep_time);
142 0x08E  DECR   DEX   CEX  sys_timer_sleep int sys_timer_sleep(second_t sleep_time);
#sys_time Syscalls (143-147)
143 0x08F  DECR   DEX   CEX   root  sys_time_set_timezone int sys_time_set_timezone(int timezone, int summertime)
144 0x090  DECR   DEX   CEX  sys_time_get_timezone int sys_time_get_timezone(int *timezone, int *summertime)
145 0x091  DECR   DEX   CEX  sys_time_get_current_time int sys_time_get_current_time(sys_time_sec_t * sec, sys_time_nsec_t * nsec);
146 0x092  DECR   DEX   CEX   root  sys_time_set_current_time int sys_time_set_current_time(uint64_t sec, uint64_t nsec);
147 0x093  DECR   DEX   CEX  sys_time_get_timebase_frequency uint64_t sys_time_get_timebase_frequency(void);
#sys_rwlock Syscalls (120-127+148)
148 0x094  DECR   DEX   CEX  sys_rwlock_trywlock int sys_rwlock_trywlock(sys_rwlock_t rw_lock_id);
#sys_spu/sys_raw_spu Syscalls (150-260)
150 0x096  DECR   DEX   CEX  sys_raw_spu_create_interrupt_tag int sys_raw_spu_create_interrupt_tag(sys_raw_spu_t id,sys_class_id_t class_id, sys_hw_thread_t hwthread, sys_interrupt_tag_t *intrtag)
151 0x097  DECR   DEX   CEX  sys_raw_spu_set_int_mask int sys_raw_spu_set_int_mask(sys_raw_spu_t id, sys_class_id_t class_id, uint64_t mask)
152 0x098  DECR   DEX   CEX  sys_raw_spu_get_int_mask int sys_raw_spu_get_int_mask(sys_raw_spu_t id, sys_class_id_t class_id, uint64_t *mask)
153 0x099  DECR   DEX   CEX  sys_raw_spu_set_int_stat int sys_raw_spu_set_int_stat(sys_raw_spu_t id, sys_class_id_t class_id, uint64_t stat)
154 0x09A  DECR   DEX   CEX  sys_raw_spu_get_int_stat int sys_raw_spu_get_int_stat(sys_raw_spu_t id, sys_class_id_t class_id, uint64_t *stat)
155 0x09B  DECR   DEX   CEX  sys_spu_image_get_information int sys_spu_image_get_information(sys_spu_image_t *img, int *entry_point, int *nsegs)
156 0x09C  DECR   DEX   CEX  sys_spu_image_open int sys_spu_image_open(sys_spu_image_t *img, const char *path)
157 0x09D  DECR   DEX   CEX  sys_spu_image_import int sys_spu_image_import(sys_spu_image_t *img, const void *src, uint32_t type)
158 0x09E  DECR   DEX   CEX  sys_spu_image_close int sys_spu_image_close(sys_spu_image_t *img);
159 0x09F  DECR   DEX   CEX  sys_spu_image_get_segments int sys_spu_image_get_segments(sys_spu_image_t *img, sys_spu_segment_t* segments, int size)

Used by sys_raw_spu_load liblv2 function.

160 0x0A0  DECR   DEX   CEX  sys_raw_spu_create int sys_raw_spu_create(sys_raw_spu_t *id, sys_raw_spu_attribute_t *attr)
161 0x0A1  DECR   DEX   CEX  sys_raw_spu_destroy int sys_raw_spu_destroy(sys_raw_spu_t id)
163 0x0A3  DECR   DEX   CEX  sys_raw_spu_read_puint_mb int sys_raw_spu_read_puint_mb(sys_raw_spu_t id, uint32_t *value)
165 0x0A5  DECR   DEX   CEX  sys_spu_thread_get_exit_status int sys_spu_thread_get_exit_status(sys_spu_thread_t id, int *status)
166 0x0A6  DECR   DEX   CEX  sys_spu_thread_set_argument int sys_spu_thread_set_argument(sys_spu_thread_t id, sys_spu_thread_argument_t *arg)
167 0x0A7  DECR   DEX   CEX  sys_spu_thread_group_start_on_exit
169 0x0A9  DECR   DEX   CEX  sys_spu_initialize int sys_spu_initialize(uint32_t max_usable_spu, uint32_t max_raw_spu)
170 0x0AA  DECR   DEX   CEX  sys_spu_thread_group_create int sys_spu_thread_group_create(sys_spu_thread_group_t *id, uint32_t num, int prio, sys_spu_thread_group_attribute_t *attr)
171 0x0AB  DECR   DEX   CEX  sys_spu_thread_group_destroy int sys_spu_thread_group_destroy(sys_spu_thread_group_t id)
172 0x0AC  DECR   DEX   CEX  sys_spu_thread_initialize int sys_spu_thread_initialize(sys_spu_thread_t *thread, sys_spu_thread_group_t group, uint32_t spu_num, sys_spu_image_t *img, sys_spu_thread_attribute_t *attr, sys_spu_thread_argument_t *arg)
173 0x0AD  DECR   DEX   CEX  sys_spu_thread_group_start int sys_spu_thread_group_start(sys_spu_thread_group_t id)
174 0x0AE  DECR   DEX   CEX  sys_spu_thread_group_suspend int sys_spu_thread_group_suspend(sys_spu_thread_group_t id)
175 0x0AF  DECR   DEX   CEX  sys_spu_thread_group_resume int sys_spu_thread_group_resume(sys_spu_thread_group_t id)
176 0x0B0  DECR   DEX   CEX  sys_spu_thread_group_yield int sys_spu_thread_group_yield(sys_spu_thread_group_t id)
177 0x0B1  DECR   DEX   CEX  sys_spu_thread_group_terminate int sys_spu_thread_group_terminate(sys_spu_thread_group_t id, int value)
178 0x0B2  DECR   DEX   CEX  sys_spu_thread_group_join int sys_spu_thread_group_join(sys_spu_thread_group_t gid, int *cause, int *status)
179 0x0B3  DECR   DEX   CEX  sys_spu_thread_group_set_priority int sys_spu_thread_group_set_priority(sys_spu_thread_group_t id, int priority)
180 0x0B4  DECR   DEX   CEX  sys_spu_thread_group_get_priority int sys_spu_thread_group_get_priority(sys_spu_thread_group_t id, int *priority)
181 0x0B5  DECR   DEX   CEX  sys_spu_thread_write_ls int sys_spu_thread_write_ls(sys_spu_thread_t id, uint32_t address, uint64_t value, size_t type)
182 0x0B6  DECR   DEX   CEX  sys_spu_thread_read_ls int sys_spu_thread_read_ls(sys_spu_thread_t id, uint32_t address, uint64_t *value, size_t type)
183 0x0B7 (sys_spu_thread_enqueue_dma)
184 0x0B8  DECR   DEX   CEX  sys_spu_thread_write_snr int sys_spu_thread_write_snr(sys_spu_thread_t id, int number, uint32_t value)
185 0x0B9  DECR   DEX   CEX  sys_spu_thread_group_connect_event int sys_spu_thread_group_connect_event(sys_spu_thread_group_t id, sys_event_queue_t eq, sys_event_type_t et)
186 0x0BA  DECR   DEX   CEX  sys_spu_thread_group_disconnect_event int sys_spu_thread_group_disconnect_event(sys_spu_thread_group_t id, sys_event_type_t et)
187 0x0BB  DECR   DEX   CEX  sys_spu_thread_set_spu_cfg int sys_spu_thread_set_spu_cfg(sys_spu_thread_t id, uint64_t value)
188 0x0BC  DECR   DEX   CEX  sys_spu_thread_get_spu_cfg int sys_spu_thread_get_spu_cfg(sys_spu_thread_t id, uint64_t *value)
189 0x0BD (sys_spu_thread_read_pu_mb)
190 0x0BE  DECR   DEX   CEX  sys_spu_thread_write_spu_mb int sys_spu_thread_write_spu_mb(sys_spu_thread_t id, uint32_t value);
191 0x0BF  DECR   DEX   CEX  sys_spu_thread_connect_event int sys_spu_thread_connect_event(sys_spu_thread_t id, sys_event_queue_t eq, sys_event_type_t et, uint8_t spup)
192 0x0C0  DECR   DEX   CEX  sys_spu_thread_disconnect_event int sys_spu_thread_disconnect_event(sys_spu_thread_t id, sys_event_type_t et, uint8_t spup)
193 0x0C1  DECR   DEX   CEX  sys_spu_thread_bind_queue int sys_spu_thread_bind_queue(sys_spu_thread_t id,sys_event_queue_t spuq,uint32_t spuq_num)
194 0x0C2  DECR   DEX   CEX  sys_spu_thread_unbind_queue int sys_spu_thread_unbind_queue(sys_spu_thread_t id, uint32_t spuq_num)
196 0x0C4  DECR   DEX   CEX  sys_raw_spu_set_spu_cfg int sys_raw_spu_set_spu_cfg(sys_raw_spu_t id, uint32_t value)
197 0x0C5  DECR   DEX   CEX  sys_raw_spu_get_spu_cfg int sys_raw_spu_get_spu_cfg(sys_raw_spu_t id, uint32_t *value)
198 0x0C6  DECR   DEX   CEX  sys_spu_thread_recover_page_fault int sys_spu_thread_recover_page_fault(sys_spu_thread_t id)
199 0x0C7  DECR   DEX   CEX  sys_raw_spu_recover_page_fault int sys_raw_spu_recover_page_fault(sys_raw_spu_t id)
200 0x0C8 (console_putc)
201 0x0C9 (console_getc)
202 0x0CA (event_create_port)
203 0x0CB (event_send_locally)
209 0x0D1 (sys_pseudo_fs_read)
210 0x0D2 (sys_pseudo_fs_write)
211 0x0D3 (sys_pseudo_fs_append)
212 0x0D4 (start_debug)
213 0x0D5 (console_write)
214 0x0D6 (sys_pseudo_fs_get_file_size)
215 0x0D7  DECR   DEX  sys_dbg_mat_set_condition
(logical_console_open)
int sys_dbg_mat_set_condition(sys_addr_t,int)
216 0x0D8  DECR   DEX  sys_dbg_mat_get_condition
(logical_console_close)
int sys_dbg_mat_get_condition(sys_addr_t,int*)
217 0x0D9  DECR   dbg  (logical_console_getc)
218 0x0DA  DECR   dbg  (logical_console_putc)
219 0x0DB  DECR   dbg  (logical_console_flush)
226 0x0E2 (get_logical_partition_id)
230 0x0E6  DECR   DEX   CEX   root  sys_isolated_spu_create int sys_isolated_spu_create(sys_raw_spu_t *id, uint8_t *source_spe, in?: args?,0,0,0)
231 0x0E7  DECR   DEX   CEX   root  sys_isolated_spu_destroy int sys_isolated_spu_destroy(sys_raw_spu_t id)
232 0x0E8  DECR   DEX   CEX   root  sys_isolated_spu_start int sys_isolated_spu_start(sys_raw_spu_t id)
233 0x0E9  DECR   DEX   CEX   root  sys_isolated_spu_create_interrupt_tag int sys_isolated_spu_create_interrupt_tag(sys_raw_spu_t id, uint32_t class_id, uint32_t hwthread, sys_interrupt_tag_t *intrtag)
234 0x0EA  DECR   DEX   CEX   root  sys_isolated_spu_set_int_mask int sys_isolated_spu_set_int_mask(sys_raw_spu_t id, uint32_t class_id, uint64_t mask)
235 0x0EB  DECR   DEX   CEX   root  sys_isolated_spu_get_int_mask int sys_isolated_spu_get_int_mask(sys_raw_spu_t id, uint32_t class_id, uint64_t *mask)
236 0x0EC  DECR   DEX   CEX   root  sys_isolated_spu_set_int_stat int sys_isolated_spu_set_int_stat(sys_raw_spu_t id, uint32_t class_id, uint64_t stat)
237 0x0ED  DECR   DEX   CEX   root  sys_isolated_spu_get_int_stat int sys_isolated_spu_get_int_stat(sys_raw_spu_t id, uint32_t class_id, uint64_t * stat)
238 0x0EE  DECR   DEX   CEX   root  sys_isolated_spu_set_spu_cfg int sys_isolated_spu_set_spu_cfg(sys_spu_thread_t id, uint64_t value)
239 0x0EF  DECR   DEX   CEX   root  sys_isolated_spu_get_spu_cfg int sys_isolated_spu_get_spu_cfg(sys_spu_thread_t id, uint64_t * value)
240 0x0F0  DECR   DEX   CEX   root  sys_isolated_spu_read_puint_mb int sys_isolated_spu_read_puint_mb(sys_raw_spu_t id, uint32_t * value)
244 0x0F4  DECR   DEX   CEX   root  sys_spu_thread_group_system_set_next_group int sys_spu_thread_group_system_set_next_group(void)
245 0x0F5  DECR   DEX   CEX   root  sys_spu_thread_group_system_unset_next_group int sys_spu_thread_group_system_unset_next_group(void)
246 0x0F6  DECR   DEX   CEX   root  sys_spu_thread_group_system_set_switch_group int sys_spu_thread_group_system_set_switch_group(void)
247 0x0F7  DECR   DEX   CEX   root  sys_spu_thread_group_system_unset_switch_group int sys_spu_thread_group_system_unset_switch_group(void)
248 0x0F8  DECR   DEX   CEX   root  sys_spu_thread_group.... 5 Params: sys_spu_thread_group_t group,.....
249 0x0F9  DECR   DEX   CEX   root  sys_spu_thread_group.... int sc249(sys_spu_thread_group_t group)
250 0x0FA  DECR   DEX   CEX  sys_spu_thread_group_set_cooperative_victims int sys_spu_thread_group_set_cooperative_victims(sys_spu_thread_group_t group, u32 threads_mask)

Only allowed for COOPERATE_WITH_SYSTEM spu thread group types.

251 0x0FB  DECR   DEX   CEX  sys_spu_thread_group_connect_event_all_threads int sys_spu_thread_group_connect_event_all_threads(sys_spu_thread_group_t id, sys_event_queue_t eq, uint64_t req, uint8_t *spup)
252 0x0FC  DECR   DEX   CEX  sys_spu_thread_group_disconnect_event_all_threads int sys_spu_thread_group_disconnect_event_all_threads(sys_spu_thread_group_t id, uint8_t spup)
253 0x0FD  DECR   DEX   CEX  sys_spu_thread_group_get_cooperative_information int sys_spu_thread_group_get_cooperative_information(sys_spu_thread_group_t id, sys_spu_thread_group_cooperative_info_t* info)

Only allowed for COOPERATE_WITH_SYSTEM spu thread group types.

254 0x0FE  DECR   DEX   CEX  sys_spu_thread_group_log int sys_spu_thread_group_log(int command, int *stat)
260 0x104  DECR   DEX   CEX  sys_spu_image_open_by_fd int sys_spu_image_open_by_fd(sys_spu_image_t *img, int fd, off64_t offset)
295 (sys_pseudo_fs_truncate)
296 (sys_pseudo_fs_get_dents)
#sys_vm/sys_memory/sys_mmapper Syscalls (300-352)
300 0x12C  DECR   DEX   CEX  sys_vm_memory_map int sys_vm_memory_map(size_t vsize, size_t psize, sys_memory_container_t container, uint64_t flag, uint64_t policy, sys_addr_t * addr);
301 0x12D  DECR   DEX   CEX  sys_vm_unmap int sys_vm_unmap(sys_addr_t addr);
302 0x12E  DECR   DEX   CEX  sys_vm_append_memory int sys_vm_append_memory(sys_addr_t addr, size_t size);
303 0x12F  DECR   DEX   CEX  sys_vm_return_memory int sys_vm_return_memory(sys_addr_t addr, size_t size);
304 0x130  DECR   DEX   CEX  sys_vm_lock int sys_vm_lock(sys_addr_t addr, size_t size);
305 0x131  DECR   DEX   CEX  sys_vm_unlock int sys_vm_unlock(sys_addr_t addr, size_t size);
306 0x132  DECR   DEX   CEX  sys_vm_touch int sys_vm_touch(sys_addr_t addr, size_t size);
307 0x133  DECR   DEX   CEX  sys_vm_flush int sys_vm_flush(sys_addr_t addr, size_t size);
308 0x134  DECR   DEX   CEX  sys_vm_invalidate int sys_vm_invalidate(sys_addr_t addr, size_t size);
309 0x135  DECR   DEX   CEX  sys_vm_store int sys_vm_store(sys_addr_t addr, size_t size);
310 0x136  DECR   DEX   CEX  sys_vm_sync int sys_vm_sync(sys_addr_t addr, size_t size);
311 0x137  DECR   DEX   CEX  sys_vm_test int sys_vm_test(sys_addr_t addr, size_t size, uint64_t * result);
312 0x138  DECR   DEX   CEX  sys_vm_get_statistics int sys_vm_get_statistics(sys_addr_t addr, sys_vm_statistics_t * stat);
313 0x139  DECR   DEX   CEX  diff sys_vm_memory_map same Params (size_t vsize, size_t psize, sys_memory_container_t container, uint64_t flag, uint64_t policy, sys_addr_t * addr); apperently maps different vm memory area
314 0x13A  DECR   DEX   CEX  2 Params
315 0x13B  DECR   DEX   CEX  1 Param
324 0x144  DECR   DEX   CEX   dbg  sys_memory_container_create int sys_memory_container_create(sys_memory_container_t * cid, size_t yield_size);
325 0x145  DECR   DEX   CEX   dbg  sys_memory_container_destroy int sys_memory_container_destroy(sys_memory_container_t cid);
326 0x146  DECR   DEX   CEX  sys_mmapper_allocate_fixed_address int sys_mmapper_allocate_fixed_address(void);
327 0x147  DECR   DEX   CEX  sys_mmapper_enable_page_fault_notification int sys_mmapper_enable_page_fault_notification(sys_addr_t start_addr, sys_event_queue_t queue_id);
328 0x148  DECR   DEX   CEX  sys_mmapper_allocate_shared_memory_from_container_ext int sys_mmapper_allocate_shared_memory_from_container_ext(uint64_t shmem_key, uint32_t size, uint64_t pageSizeFlags, sys_memory_container_t memory_container_id, void *entries, uint32_t entry_count, sys_memory_t *mem_id)
329 0x149  DECR   DEX   CEX  sys_mmapper_free_shared_memory int sys_mmapper_free_shared_memory(sys_addr_t start_addr);
330 0x14A  DECR   DEX   CEX  sys_mmapper_allocate_address int sys_mmapper_allocate_address(size_t size, uint64_t flags, size_t alignment, sys_addr_t * alloc_addr);
331 0x14B  DECR   DEX   CEX  sys_mmapper_free_address int sys_mmapper_free_address(sys_addr_t start_addr);
332 0x14C  DECR   DEX   CEX  sys_mmapper_allocate_shared_memory int sys_mmapper_allocate_shared_memory(u64 shmem_key, size_t size, size_t alignment, sys_memory_t* mem_id)
333 0x14D  DECR   DEX   CEX  sys_mmapper_set_shared_memory_flag int sys_mmapper_set_shared_memory_flag(sys_addr_t, flags) ?;
334 0x14E  DECR   DEX   CEX  sys_mmapper_map_shared_memory int sys_mmapper_map_shared_memory(sys_addr_t start_addr, sys_memory_t mem_id, uint64_t flags)
335 0x14F  DECR   DEX   CEX  sys_mmapper_unmap_shared_memory int sys_mmapper_unmap_shared_memory(sys_addr_t start_addr,sys_memory_t *mem_id)
336 0x150  DECR   DEX   CEX  sys_mmapper_change_address_access_right int sys_mmapper_change_address_access_right(sys_addr_t start_addr, uint64_t flags);
337 0x151  DECR   DEX   CEX  sys_mmapper_search_and_map int sys_mmapper_search_and_map(sys_addr_t start_addr, sys_memory_t mem_id, uint64_t flags, sys_addr_t * alloc_addr);
338 0x152  DECR   DEX   CEX  sys_mmapper_get_shared_memory_attribute 2 Params:
339 0x153  DECR   DEX   CEX  sys_mmapper_allocate_shared_memory_ext int sys_mmapper_allocate_shared_memory_ext(uint64_t shmem_key, uint32_t size, uint64_t pageSizeFlags, void *entries, uint32_t entry_count, sys_memory_t *mem_id)
340 0x154  DECR   DEX   CEX  2 Params
341 0x155  DECR   DEX   CEX  _sys_memory_container_create int _sys_memory_container_create(sys_memory_container_t * cid, size_t yield_size);
342 0x156  DECR   DEX   CEX  sys_memory_container_destroy int sys_memory_container_destroy(sys_memory_container_t cid);
343 0x157  DECR   DEX   CEX  sys_memory_container_get_size int sys_memory_container_get_size(sys_memory_info_t * mem_info, sys_memory_container_t cid);
344 0x158 sys_memory_budget_set
345 0x159  DECR   DEX   CEX  3 Params, a variation of sys_memory_container_destroy (sys_memory_container_t cid, int, &out)
346 0x15A  DECR   DEX   CEX 
347 0x15B (sys_mmapper_map_mmio_area)
348 0x15C  DECR   DEX   CEX  sys_memory_allocate int sys_memory_allocate(size_t size, uint64_t flags, sys_addr_t * alloc_addr);
349 0x15D  DECR   DEX   CEX  sys_memory_free int sys_memory_free(sys_addr_t start_addr);
350 0x15E  DECR   DEX   CEX  sys_memory_allocate_from_container int sys_memory_allocate_from_container(size_t size, sys_memory_container_t container, uint64_t flags, sys_addr_t * alloc_addr);
351 0x15F  DECR   DEX   CEX  sys_memory_get_page_attribute int sys_memory_get_page_attribute(sys_addr_t addr, sys_page_attr_t * attr);
352 0x160  DECR   DEX   CEX  sys_memory_get_user_memory_size int sys_memory_get_user_memory_size(sys_memory_info_t * mem_info);
353 0x161  DECR   DEX   CEX  sys_memory_get_user_memory_stat int sys_memory_get_user_memory_stat(out:uint8[0x1C])
354 0x162  DECR   DEX   CEX   root  3 Params
355 0x163  DECR   DEX   CEX   root  2 Param: uint32_t *, uint32_t * (set 0, reset memory stats?)
356 0x164  DECR   DEX   CEX  sys_memory_allocate_colored 4 Params
357 0x165  DECR   DEX   CEX  2 Params
358 0x166  DECR   DEX   CEX  5 Params
359 0x167  DECR   DEX   CEX  (sys_mmapper_unmap_mmio_area) 2 Params
360 0x168  DECR   DEX   CEX  7 Params
361 0x169  DECR   DEX   CEX  sys_memory_allocate_from_container_colored 5 Params
362 0x16A  DECR   DEX   CEX  sys_mmapper_allocate_memory_from_container sys_mmapper_allocate_memory_from_container(size_t size, sys_memory_container_t container, uint64_t flags, sys_memory_t *mem_id)
363 0x16B  DECR   DEX   CEX  6 Params
364 0x16C  DECR 
#sys_uart Syscalls (367-370)
367 0x16F  DECR   DEX   CEX   root  sys_uart_initialize syscall(367, void)
368 0x170  DECR   DEX   CEX   root  sys_uart_receive sys_uart_receive(out: uint8_t buffer[SizeToReceive], int SizeToReceive (0x400/0x800), 0/1)
369 0x171  DECR   DEX   CEX   root  sys_uart_send sys_uart_send(const void *buf, uint64_t size, uint64_t flags)
370 0x172  DECR   DEX   CEX   root  sys_uart_get_params int sys_uart_get_params(out:buffer[0x10])
#sys_game Syscalls (372-376+410-412)
372 0x174  DECR   DEX   CEX  sys_game_watchdog_start 1 param: int time(r)
373 0x175  DECR   DEX   CEX  sys_game_watchdog_stop int sys_game_watchdog_stop(void)
374 0x176  DECR   DEX   CEX  sys_game_watchdog_clear int sys_game_watchdog_clear(void)
375 0x177  DECR   DEX   CEX   root  sys_game_set_system_sw_version int sys_game_set_system_sw_version(uint64_t version)
376 0x178  DECR   DEX   CEX   root  sys_game_get_system_sw_version int sys_game_get_system_sw_version(void)
#sys_sm/sys_ctrl Syscalls (378-396)
377 0x179  DECR   DEX   CEX   root  sys_sm_set_shop_mode int sys_sm_set_shop_mode(int mode (0/1)) ( HV System Manager access - ServiceID 39 (SET_SHOP_DEMO_MODE))
378 0x17A  DECR   DEX   CEX   root  sys_sm_get_ext_event2 4 Param, sc378(uint64_t * v1,uint64_t * v2, uint64_t * v3, 0=receive buffer/1=get queuing events), v1==7 -> yesHOT
379 0x17B  DECR   DEX   CEX   root  sys_sm_shutdown int sys_sm_shutdown(uint16_t op, const void * lpar_parameter, uint64_t parameter_size )
0x1100/0x100 = turn off,
0x1200 = Lv2 Hard Reboot, 
0x200 = Lv2 Soft Reboot,
0x8201 = load lpar id 1
0x8202 = load lpar id 2
0x8204 = load lpar id 3 (PS2_NETEMU)

HV System Manager access - ServiceID 1 (REQUEST)+ 10 (DELIVER INTER LPAR PARAMETER)

380 0x17C  DECR   DEX   CEX   dbg  sys_sm_get_params alias sys_get_system_parameter, 4 Params: uint64_t * unknown1, uint64_t * unknown2, uint64_t * unknown3, uint64_t * bootparam? (more info: #Boot_Parameter)
381 0x17D  DECR   DEX   CEX   root  sys_sm_get_inter_lpar_parameter 2Params: syscall(381,uint8_t lpar_parameter[param_size], int param_size (0x600));
382 0x17E  DECR   DEX   CEX   root  sys_sm_initialize int syscall(382, void); - prevents ps3 lpar shutdown ?
383 0x17F  DECR   DEX   CEX   root  sys_game_get_temperature int sys_game_get_temperature(uint8_t tzone, uint32_t *temperature) ( HV System Manager access - ServiceID 13 (TEMPERATURE))

2nd Byte conversion: r.shift (second_byte * 0x64 ) by 8
Example: 195 = 0xC3 -> 0xC3 * 0x64 -> 0x4C2C ->> shift -> 0x4C -> XX.76°C

tzone = 
0x00 = CELL
0x01 = RSX
0x14 = SB  (tested only on COK-00x, but according to
       https://www.psdevwiki.com/ps3/Thermal#Temperature_Monitors sensor is available and connected up to DIA-001)
other = Untested, but likely unavailable on retail models.
384 0x180  DECR   DEX   CEX   root  sys_sm_get_tzpb 1 Param: syscall(384,uint64_t *tzpb); (uint8_t [0x20]) Get Thermal Zone (Presence/Broadcast?)
HV System Manager access - ServiceID 15
385 0x181  DECR   DEX   CEX   root  sys_sm_request_led int sys_sm_request_led( int led_id(1=power,2=status or 3=disk), out:uint8_t led_action[1] ) HV System Manager access - ServiceID 17
386 0x182  DECR   DEX   CEX   root  sys_sm_control_led int sys_sm_control_led(uint8_t led_id, uint8_t led_action)
led_id = 0,1 (STATUS),2 (POWER)(red, green, red+green combined: looks like yellow);
led_action = 0,1,2,3 (off,on,blink fast, blink slow)
387 0x183  DECR   DEX   CEX   dbg  sys_sm_get_system_info syscall(387, uint8_t platform_info[0x18]) / OS Version, Revision, System Software Version?
388 0x184  DECR   DEX   CEX   root  sys_sm_ring_buzzer_too 2 Params,HV System Manager access - ServiceID 21 (RING_BUZZER)
389 0x185  DECR   DEX   CEX   pm  sys_sm_set_fan_policy int sys_sm_set_fan_policy (in:uint8, in:uint8, in:uint8)
Similar than the syscon UART external command "FAN SETPOLICY" or the internal command "fanconpolicy set"
390 0x186  DECR   DEX   CEX   root  sys_sm_request_error_log 4 Params, uint8_t offset (0-0x20), uint8_t *, uint32_t *, uint32_t *
HV System Manager access - ServiceID 26 (REQUEST_ERROR_LOG)
391 0x187  DECR   DEX   CEX   root  sys_sm_request_be_count 4 Params
uint8_t * status,
uint32_t* total_time_in_seconds,
uint32_t* power_on_counter,
uint32_t* power_off_counter 
HV System Manager access - ServiceID 28 (REQUEST_BE_COUNT): 
392 0x188  DECR   DEX   CEX   root  sys_sm_ring_buzzer 3 Params: PacketID=0x1004, field2, field4 Hypervisor_Reverse_Engineering#Parameters_6 Parameters
393 0x189  DECR   DEX   CEX   root  sys_sm_get_hw_config gets hardware configuration: syscall(393,uint8_t * res, uint64_t * hw_config)
394 0x18A  DECR   DEX   CEX   root  sys_sm_request_scversion uint8_t SoftID[8],old_PatchID[8],new_PatchID[8]; lv2syscall3(394, (uint64_t)SoftID, (uint64_t)old_PatchID, (uint64_t)new_PatchID);
HV System Manager access - ServiceID 30 (REQUEST_SC_VERSION) Syscon_Firmware#.27info0.27 SC Firmware
395 0x18B  DECR   DEX   CEX   pm  sys_sm_request_system_event_log int sys_sm_request_system_event_log(int offset(0 - 5),uint64_t *out,uint64_t *out,uint64_t *out,uint8_t buf[0x20], int flag ), 6 Params, HV System Manager access - ServiceID 32 (REQUEST_SYSTEM_EVENT_LOG). See also syscall 400 and this
396 0x18C  DECR   DEX   CEX   root  sys_sm_set_rtc_alarm int sys_sm_set_rtc_alarm(CellRtcTick *pTick), HV System Manager access - ServiceID 34+38 (RTC_ALARM)
397 0x18D  DECR   DEX   CEX   root  sys_sm_get_rtc_alarm 1 Param, HV System Manager access - ServiceID 36
398 0x18E  DECR   DEX   CEX   root  sys_console_write int sys_console_write(const char *s, uint32_t len)(lv2,lv1::console::write_async
399 0x18F (sys_kernel_test)
400 0x190  DECR   DEX   CEX   pm  int sys_request_system_event_log(int offset(0 - 5),uint64_t *out, int flag ) , HV System Manager access - ServiceID 32 (REQUEST_SYSTEM_EVENT_LOG)
sys_sm_request_system_event_log too. See also syscall 395 and this
401 0x191  DECR   DEX   CEX   root  2 Params: uint64_t param,uint8_t * st (status?/state?)
HV System Manager access - ServiceID 40 (BOOT_PARAMETER)

See also syscall 404, syscon EEPROM "boot param" and this, also sends the param to syscon

#sys_tty Syscalls (402-403)
402 0x192  DECR   DEX   CEX  sys_tty_read int sys_tty_read(uint32_t ch, void *buf, uint32_t len, uint32_t *preadlen);
403 0x193  DECR   DEX   CEX  sys_tty_write int sys_tty_write(uint32_t ch, const void *buf, uint32_t len, uint32_t *pwritelen);
404 0x194  DECR   DEX   CEX   root  2 Params: uint64_t * param, uint8_t * st
HV System Manager access - ServiceID 42 (BOOT_PARAMETER)
[Network Settings for Debug] related, returns single/dual setting flag?

See also syscall 401, syscon EEPROM "boot param" and this

405 0x195  DECR   DEX   CEX   pm  2 Params: uint16_t * comp?, uint8_t * st (status?/state?)
HV System Manager access - ServiceID 44 
factory_process_comp (0,0),  dbg_printf comp value

See syscon EEPROM "factory process completion" and this

406 0x196  DECR   DEX   CEX   pm  2 Params: uint32_t comp? ,uint8_t * st
comp? = 0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x100
HV System Manager access - ServiceID 46 
factory_process_comp (1,x) -> OR-Operation with comp

See syscon EEPROM "factory process completion" and this

407 0x197  DECR   DEX   CEX   pm  1 Param: uint8_t * st
HV System Manager access - ServiceID 48
factory_process_comp (2,0) -> ANDC-Operation with comp=0

See syscon EEPROM "factory process completion" and this

408 0x198  DECR   DEX   CEX   pm  sys_sm_get_tzpb too 1 Param: out:uint8_t [0x20]
same as 384 just requires PM
409 0x199  DECR   DEX   CEX   pm  sys_sm_get_fan_policy int sys_sm_get_fan_policy(uint8_t id, uint8_t *st (status? state?), uint8_t *policy (mode), uint8_t * mode (speed), uint8_t *duty)
Similar than the syscon UART external command "FAN GETPOLICY" or the internal command "fanconpolicy get"
#sys_game Syscalls (372-376+410-412)
410 0x19A  DECR   DEX   CEX  sys_game_board_storage_read 2 Params,out:uint8_t[0x10], uint8_t[1], HV System Manager access - ServiceID 54
411 0x19B  DECR   DEX   CEX  sys_game_board_storage_write 2 Params,in:uint8_t[0x10],uint8_t[1], HV System Manager access - ServiceID 52
412 0x19C  DECR   DEX  sys_game_get_rtc_status
413 0x19D  DECR   DEX   CEX   root  3 Params, HV System Manager access - ServiceID 56: out:uint8_t[1],out:uint8_t[1],out:uint8_t[1]
414 0x19E  DECR   DEX   CEX   root  3 Params,in:packetid ,in:uint8_t[0x20],out:uint8_t[1], HV System Manager access - ServiceID 58
415 0x19F  DECR   DEX   CEX   root  3 Params,in:packetid,out:uint8_t[0x20],out:uint8_t[1], HV System Manager access - ServiceID 60
#sys_overlay Syscalls (450-457)
450 0x1C2  DECR   DEX   CEX  sys_overlay_load_module int sys_overlay_load_module(sys_overlay_t * ovlmid, const char *path, uint64_t flags, sys_addr_t * entry)
451 0x1C3  DECR   DEX   CEX  sys_overlay_unload_module int sys_overlay_unload_module(sys_overlay_t ovlmid)
452 0x1C4  DECR   DEX   CEX  sys_overlay_get_module_list int sys_overlay_get_module_list(sys_pid_t pid, size_t ovlmids_num, sys_overlay_t * ovlmids, size_t * num_of_modules)
453 0x1C5  DECR   DEX   CEX  sys_overlay_get_module_info int sys_overlay_get_module_info(sys_pid_t pid,sys_overlay_t ovlmid, sys_overlay_module_info_t * info)
454 0x1C6  DECR   DEX   CEX  sys_overlay_load_module_by_fd int sys_overlay_load_module_by_fd(sys_overlay_t * ovlmid, int fd, off64_t offset, uint64_t flags, sys_addr_t * entry)
455 0x1C7  DECR   DEX   CEX  sys_overlay_get_module_info2 int sys_overlay_get_module_info2(sys_pid_t pid, sys_overlay_t ovlmid, sys_overlay_module_info2_t * info)
456 0x1C8  DECR   DEX   CEX  sys_overlay_get_sdk_version int sys_overlay_get_sdk_version(sys_overlay_t ovlmid, uint32_t* sdk_ver)
457 0x1C9  DECR   DEX   CEX  sys_overlay_get_module_dbg_info 3 Params: (sys_pid_t pid, sys_overlay_t ovlmid, sys_overlay_module_dbg_t * info) ?
458 0x1CA  DECR   DEX   CEX  sys_overlay_get_module_dbg_info too 3 Params:
#sys_prx Syscalls (460-499)
460 0x1CC  DECR   DEX   root  sys_prx_dbg_get_module_id_list sys_prx_dbg_get_module_id_list(sys_pid_t pid, sys_prx_dbg_get_module_list_t *pInfo)
461 0x1CD  DECR   DEX   CEX  sys_prx_get_module_id_by_address sys_prx_id_t sys_prx_get_module_id_by_address(void* addr)
462 0x1CE  DECR   DEX  1 Param: uint8_t [0x50]
463 0x1CF  DECR   DEX   CEX  sys_prx_load_module_by_fd sys_prx_id_t sys_prx_load_module_by_fd(int fd, off64_t offset, sys_prx_flags_t flags, sys_prx_load_module_option_t pOpt)
464 0x1D0  DECR   DEX   CEX  sys_prx_load_module_on_memcontainer_by_fd sys_prx_id_t sys_prx_load_module_on_memcontainer_by_fd(int fd,off64_t offset,sys_memory_container_t mem_container,sys_prx_flags_t flags,sys_prx_load_module_option_t pOpt)
465 0x1D1  DECR   DEX   CEX  sys_prx_load_module_list int sys_prx_load_module_list(int n, const char **path_list, uint64_t flags, sys_prx_load_module_list_option_t * pOpt, sys_prx_id_t * idlist)
466 0x1D2  DECR   DEX   CEX  sys_prx_load_module_list_on_memcontainer sys_prx_id_t sys_prx_load_module_by_fd(int fd, off64_t offset, uint64_t flags, sys_prx_load_module_option_t * pOpt)
467 0x1D3  DECR   DEX   CEX  sys_prx_get_ppu_guid sys_addr_t sys_prx_get_ppu_guid(sys_prx_id_t id)
468 0x1D4  DECR   DEX   root 
470 0x1D6  DECR   DEX   CEX   root  sys_npdrm_check_ekc int syscall 470 (sys_pid_t pid, np_drm_info_t* np_drm_info)
471 0x1D7  DECR   DEX   CEX   root  sys_npdrm_regist_ekc int syscall_471(uint32_t type, char* titleID, void* klicensee, uint8_t* actdat, uint8_t* rif, int32_t licenseType, uint8_t* magicVersion);
472 0x1D8  DECR   DEX   CEX   root  2 Params:
473 0x1D9  DECR   DEX   CEX 
474 0x1DA  DECR   DEX   CEX 
475 0x1DB  DECR   DEX   CEX   root  sys_npdrm_regist_ekc2 ? int syscall_475(sys_pid_t pid, np_drm_info_t* np_drm_info, void* klicensee, uint8_t* actdat, uint8_t* rif, uint8_t magicVersion)
476 0x1DC  DECR   DEX   CEX   root  can only be either syscall476 (1,0) or syscall476 (0,1)
480 0x1E0  DECR   DEX   CEX  sys_prx_load_module sys_prx_id_t sys_prx_load_module(const char* path, sys_prx_flags_t flags, sys_prx_load_module_option_t* pOpt)
481 0x1E1  DECR   DEX   CEX  sys_prx_start_module int sys_prx_start_module(sys_prx_id_t id, sys_prx_flags_t flags, sys_prx_start_t* pOpt)
482 0x1E2  DECR   DEX   CEX  sys_prx_stop_module int sys_prx_stop_module(sys_prx_id_t id, size_t args, void *argp, int *modres, sys_prx_flags_t flags, sys_prx_stop_module_option_t pOpt)
483 0x1E3  DECR   DEX   CEX  sys_prx_unload_module int sys_prx_unload_module(sys_prx_id_t id, sys_prx_flags_t flags, sys_prx_unload_module_option_t pOpt);
484 0x1E4  DECR   DEX   CEX  sys_prx_register_module int sys_prx_register_module(char * name, const sys_prx_register_module_option_t * pOpt)
485 0x1E5  DECR   DEX   CEX  sys_prx_query_module int sys_prx_query_module(void) // only returns 0
486 0x1E6  DECR   DEX   CEX  sys_prx_register_library int sys_prx_register_library(void* library)
487 0x1E7  DECR   DEX   CEX  sys_prx_unregister_library int sys_prx_unregister_library(void* library) // only returns 0
488 0x1E8  DECR   DEX   CEX  sys_prx_link_library int sys_prx_link_library(void) // only returns 0
489 0x1E9  DECR   DEX   CEX  sys_prx_unlink_library int sys_prx_unlink_library(void) // only returns 0
490 0x1EA  DECR   DEX   CEX  sys_prx_query_library int sys_prx_query_library(void) // only returns 0
492 0x1EC  DECR   DEX   CEX   dbg  sys_prx_dbg_get_module_list 4 Params:
493 0x1ED  DECR   DEX   CEX   dbg  sys_prx_dbg_get_module_info int sys_prx_dbg_get_module_info(sys_pid_t pid, sys_prx_id_t id, sys_prx_dbg_module_info* info)
494 0x1EE  DECR   DEX   CEX  sys_prx_get_module_list int sys_prx_get_module_list(sys_prx_flags_t flags, sys_prx_get_module_list_t *pInfo);
495 0x1EF  DECR   DEX   CEX  sys_prx_get_module_info int sys_prx_get_module_info(sys_prx_id_t id, sys_prx_flags_t flags, sys_prx_module_info_t *pInfo)
496 0x1F0  DECR   DEX   CEX  sys_prx_get_module_id_by_name sys_prx_id_t sys_prx_get_module_id_by_name(const char* name, sys_prx_flags_t flags, sys_prx_get_module_id_by_name_option_t *pOpt)
497 0x1F1  DECR   DEX   CEX  sys_prx_load_module_on_memcontainer sys_prx_id_t sys_prx_load_module_on_memcontainer(const char* path, sys_memory_container_t mem_container, sys_prx_flags_t flags, sys_prx_load_module_option_t pOpt)
498 0x1F2  DECR   DEX   CEX  sys_prx_start int sys_prx_start (void) // only returns 0
499 0x1F3  DECR   DEX   CEX  sys_prx_stop int sys_prx_stop(void)
#sys_hid_manager Syscalls
500 0x1F4  DECR   DEX   CEX  sys_hid_manager_open 2 Params
501 0x1F5  DECR   DEX   CEX  sys_hid_manager_close 1 Param: uint32_t port_no
502 0x1F6  DECR   DEX   CEX   root  sys_hid_manager_read 4 Params: uint32_t port_no,uint32_t packet_id, uint8_t[size], uint32_t size
503 0x1F7  DECR   DEX   CEX  sys_hid_manager_ioctl 4 Params: uint32_t port_no,uint32_t packet_id, uint8_t[size], uint32_t size
504 0x1F8  DECR   DEX   CEX   root  sys_hid_manager_map_logical_id_to_port_id param 1: device_type, 1 = pad, 2 = kb, 3 = mouse

int sc(int device_type, int device_no, int port_no)

505 0x1F9  DECR   DEX   CEX   root  sys_hid_manager_unmap_logical_id_to_port_id int sc(int device_type, int device_no, int port_no)
506 0x1FA  DECR   DEX   CEX   root  sys_hid_manager_add_hot_key_observer 2 Params
507 0x1FB  DECR   DEX   CEX   root  sys_hid_manager_remove_hot_key_observer 2 Params
508 0x1FC  DECR   DEX   CEX   root  sys_hid_manager_grab_focus 1 Param: sys_pid_t pid (for example current pid)
509 0x1FD  DECR   DEX   CEX   root  sys_hid_manager_release_focus 1 Param
510 0x1FE  DECR   DEX   CEX  sys_hid_manager_check_focus int syscall(510, void);
511 0x1FF  DECR   DEX   CEX   root  sys_hid_manager_set_master_process 1 Param
512 0x200  DECR   DEX   CEX   root  1 Param : int syscall(512,sys_pid_t pid), simple root-flag check?;
513 0x201  DECR   DEX   CEX  sys_hid_manager_... 4 Params
514 0x202  DECR   DEX   CEX  sys_hid_manager_... 3 Params
#sys_config Syscalls
516 0x204  DECR   DEX   CEX  sys_config_open 2 Params : (sys_event_queue_t * equeue_id, uint64_t *conf_id (out))
517 0x205  DECR   DEX   CEX  sys_config_close sys_config_close(sys_event_queue_t * equeue_id);
518 0x206  DECR   DEX   CEX  sys_config_get_service_event 4 Params:
519 0x207  DECR   DEX   CEX  sys_config_add_service_listener 6 Params (u32 conf_id, ?, ?, ?, ?, ?)
520 0x208  DECR   DEX   CEX  sys_config_remove_service_listener 2 Params
521 0x209  DECR   DEX   CEX  sys_config_register_service 7 Params
522 0x20A  DECR   DEX   CEX  sys_config_unregister_service 2 Params
523 0x20B  DECR   DEX   CEX  sys_config_io_event
524 0x20C  DECR   DEX   CEX  sys_config_register_io_error_listener
525 0x20D  DECR   DEX   CEX  sys_config_unregister_io_error_listener
#sys_usbd Syscalls
530 0x212  DECR   DEX   CEX  sys_usbd_initialize 1 Param, out: *uint32_t
531 0x213  DECR   DEX   CEX  sys_usbd_finalize 1 Param, in: handle/id
532 0x214  DECR   DEX   CEX  sys_usbd_get_device_list 3 Params
533 0x215  DECR   DEX   CEX  sys_usbd_get_descriptor_size 2 Params
534 0x216  DECR   DEX   CEX  sys_usbd_get_descriptor 4 Params
535 0x217  DECR   DEX   CEX  sys_usbd_register_ldd 3 Params
536 0x218  DECR   DEX   CEX  sys_usbd_unregister_ldd 3 Params
537 0x219  DECR   DEX   CEX  sys_usbd_open_pipe 7 Params
538 0x21A  DECR   DEX   CEX  sys_usbd_open_default_pipe 2 Params
539 0x21B  DECR   DEX   CEX  sys_usbd_close_pipe 2 Params
540 0x21C  DECR   DEX   CEX  sys_usbd_receive_event 4 Params
541 0x21D  DECR   DEX   CEX  sys_usbd_detect_event void
542 0x21E  DECR   DEX   CEX  sys_usbd_attach 4 Params
543 0x21F  DECR   DEX   CEX  sys_usbd_transfer_data 6 Params
544 0x220  DECR   DEX   CEX  sys_usbd_isochronous_transfer_data 3 Params
545 0x221  DECR   DEX   CEX  sys_usbd_get_transfer_status 5 Params
546 0x222  DECR   DEX   CEX  sys_usbd_get_isochronous_transfer_status 5 Params
547 0x223  DECR   DEX   CEX  sys_usbd_get_device_location 3 Params
548 0x224  DECR   DEX   CEX  sys_usbd_send_event 2 Params
549 0x225  DECR   DEX   CEX  sys_usbd_event_port_send int sys_usbd_event_port_send(uint64_t usb_id?, uint64_t data1, uint64_t data2, uint64_t data3);
550 0x226  DECR   DEX   CEX  sys_usbd_allocate_memory 3 Params
551 0x227  DECR   DEX   CEX  sys_usbd_free_memory 2 Params
552 0x228  DECR   DEX   CEX  sys_usbd_enable_wake_on? 1 Param
553 0x229  DECR   DEX   CEX  void
554 0x22A  DECR   DEX   CEX  void
555 0x22B  DECR   DEX   CEX  void
556 0x22C  DECR   DEX   CEX  sys_usbd_get_device_speed 3 Params, , , out:uint8_t[1]
557 0x22D  DECR   DEX   CEX  5 Params
558 0x22E  DECR   DEX   CEX  sys_usbd_unregister_extra_ldd 3 Params, , name, name_len
559 0x22F  DECR   DEX   CEX  sys_usbd_register_extra_ldd 6 Params
#sys_gl819 Syscalls Cardcontroller cf/sd/mmc/sm/ms
560 0x230  DECR   DEX   CEX   root  (sys_usbmass_ioctl)
561 0x231  DECR   DEX   CEX   root  1 Param: out:uint8_t [4] (cf/sd/mmc/sm/ms flag availability from hw config)
562 0x232  DECR   DEX   CEX   root  gets MultiCardReader Firmware Version: syscall(0x232, out:uint8_t [2])
563 0x233  DECR   DEX   CEX 
564 0x234  DECR   DEX   CEX 
565 0x235  DECR   DEX   CEX 
566 0x236  DECR   DEX   CEX 
567 0x237  DECR   DEX   CEX 
568 0x238  DECR   DEX   CEX 
569 0x239  DECR   DEX   CEX 
#PAD Manager Syscalls PAD related
570 0x23A  DECR   DEX   CEX  sys_pad_ldd_register_controller
571 0x23B  DECR   DEX   CEX  sys_pad_ldd_unregister_controller int sys_pad_ldd_unregister_controller ( int32_t handle)
572 0x23C  DECR   DEX   CEX  sys_pad_ldd_data_insert int sys_pad_ldd_data_insert (int32_t handle, cellpaddata* data /* uint8_t[0x84] */)
573 0x23D  DECR   DEX   CEX  sys_pad_dbg_ldd_set_data_insert_mode int sys_pad_dbg_ldd_set_data_insert_mode ( int32_t handle, 0x100, uint32_t* mode , 4)
574 0x23E  DECR   DEX   CEX  sys_pad_ldd_register_controller int sys_pad_ldd_register_controller/sys_pad_dbg_ldd_register_controller ( uint8_t[0x114] /* struct */, int32_t* out, 5, uint32_t device_capability<<1)
575 0x23F  DECR   DEX   CEX  sys_pad_ldd_get_port_no int sys_pad_ldd_get_port_no (int32_t handle)
577 0x241  DECR   DEX   CEX   root   pm  sys_pad_manager_.... int sys_pad_manager_.... (int8_t device_number?)

Intended to be used under Factory Service Mode

#sys_bluetooth Syscalls
578 0x242  DECR   DEX   CEX 
579 0x243  DECR   DEX   CEX  sys_bluetooth_aud_serial_unk1... sys_bluetooth_aud_serial_unk1(0x243,0,unk1*,aud_serial*,unk2*,unk3*,unk4*)
0xD0044D40 00 00 00 00 / 0xD0044D44 00 82 8E 18 --> 00 7D 39 A0 --> 0x007D39A0 5F 61 75 64 5F 53 45 52 49 41 4C 00 00 00 00 00 _aud_SERIAL..... / 0xD0044D48 00 00 00 00 / 0xD0044D4C 00 00 00 00
580 0x244  DECR   DEX   CEX   root 
581 0x245  DECR   DEX   CEX   root 
582 0x246  DECR   DEX   CEX   root 
583 0x247  DECR   DEX   CEX   root  sys_bt_read_firmware_version gets Bluetooth Firmware Version: syscall(0x247, out:uint8_t [2])
584 0x248  DECR   DEX   CEX   root  sys_bt_complete_wake_on_host
585 0x249  DECR   DEX   CEX  sys_bt_disable_bluetooth
586 0x24A  DECR   DEX   CEX  sys_bt_enable_bluetooth return 0x80010003
587 0x24B  DECR   DEX   CEX   root  sys_bt_bccmd
588 0x24C  DECR   DEX   CEX  sys_bt_read_hq return 0x80010003
589 0x24D  DECR   DEX   CEX  sys_bt_hid_get_remote_status return 0x80010003
590 0x24E  DECR   DEX   CEX   root  sys_bt_register_controller bt_set_device_info()
591 0x24F  DECR   DEX   CEX  sys_bt_clear_registered_contoller return 0
592 0x250  DECR   DEX   CEX  sys_bt_connect_accept_controller return 0
593 0x251  DECR   DEX   CEX   root  sys_bt_get_local_bdaddress getting bluetooth address
594 0x252  DECR   DEX   CEX  sys_bt_hid_get_data return 0x80010003
595 0x253  DECR   DEX   CEX  sys_bt_hid_set_report return 0x80010003
596 0x254  DECR   DEX   CEX  sys_bt_sched_log return 0x80010003
597 0x255  DECR   DEX   CEX  sys_bt_cancel_connect_accept_controller bt_cancel_connect_accept_controller(),deprecated
598 0x256  DECR   DEX   CEX   root  0 Param
599 0x257  DECR   DEX   CEX   root  2 Params: out:uint8_t[2], out:uint8_t[2]
#sys_storage Syscalls (600-623+837+838)
600 0x258  DECR   DEX   CEX   root  sys_storage_open int sys_storage_open(uint64_t id, int mode, int *fd, int flags) mode=0,flags=0 DeviceIDs
601 0x259  DECR   DEX   CEX  sys_storage_close int sys_storage_close(int fd)
602 0x25A  DECR   DEX   CEX  sys_storage_read int sys_storage_read(int fd, int mode?, uint32_t start_sector, uint32_t sectors, uint8_t *bounce_buf, uint32_t *sectors_read, uint64_t flags) mode?=0
603 0x25B  DECR   DEX   CEX  sys_storage_write
604 0x25C  DECR   DEX   CEX  sys_storage_send_device_command int sys_storage_send_device_command(uint32_t device_handle, uint32_t command, void *indata, uint64_t inlen, void *outdata, uint64_t outlen)
605 0x25D  DECR   DEX   CEX  sys_storage_async_configure int sys_storage_async_configure(uint32_t fd, sys_io_buffer_t io_buffer, sys_event_queue_t equeue_id, int *unknown)
606 0x25E  DECR   DEX   CEX  sys_storage_async_read int sys_storage_async_read(int fd, int unknown_1, uint32_t start_sector, uint32_t sectors, sys_io_block_t bounce_buf, uint64_t user_data, int unknown_2) unknown_1=0, unknown_2=0
607 0x25F  DECR   DEX   CEX  sys_storage_async_write 7 Params:
608 0x260  DECR   DEX   CEX  sys_storage_async_cancel 2 Params
609 0x261  DECR   DEX   CEX   root  sys_storage_get_device_info int sys_storage_get_device_info(uint64_t device, uint8_t *buffer), buffer[40]=total sectors,buffer[48]=sector size,buffer[53]=writable
610 0x262  DECR   DEX   CEX   root  sys_storage_get_device_config 2 Params: int sys_storage_get_device_config(uint64_t device, uint8_t *config) ?
611 0x263  DECR   DEX   CEX   root  sys_storage_report_devices 4 Params:
612 0x264  DECR   DEX   CEX   root  sys_storage_configure_medium_event 3 Params
613 0x265  DECR   DEX   CEX  sys_storage_set_medium_polling_interval 2 Params
614 0x266  DECR   DEX   CEX  sys_storage_create_region
615 0x267  DECR   DEX   CEX  sys_storage_delete_region int sys_storage_delete_region(uint32_t dev_id,uint64_t index);
616 0x268  DECR   DEX   CEX  sys_storage_execute_device_command sys_storage_execute_device_command(uint32_t dev_handle, uint64_t cmd, const void *cmdbuf, uint64_t cmdbuf_size, void *databuf, uint64_t databuf_size, uint64_t *unknown)
617 0x269  DECR   DEX   CEX  sys_storage_check_region_acl alias int sys_storage_get_region_acl(device_id, region_id, index, authority, mask);
618 0x26A  DECR   DEX   CEX  sys_storage_set_region_acl int sys_storage_set_region_acl(device_id, region_id, authority, permission);
619 0x26B  DECR   DEX   CEX  sys_storage_async_send_device_command sys_storage_async_send_device_command(uint32_t dev_handle, uint64_t cmd, const void *cmdbuf, uint64_t cmdbuf_size, void *databuf, uint64_t databuf_size, uint64_t *unknown)
620 0x26C  DECR   DEX   CEX   root  hid ldd if, kb/mouse/pad.... (param1: ?,0,1,2 or 3;param2;param3;param4;param5)
621 0x26D  DECR   DEX   CEX  sys_gamepad_ycon_if syscall(621,packet_id,uint8_t *in,uint8_t *out) Talk:LV2_Functions_and_Syscalls#Syscall_621_.280x26D.29 gamepad_if usage
622 0x26E  DECR   DEX   CEX  sys_storage_get_region_offset
623 0x26F  DECR  sys_storage_set_emulated_speed
#sys_io Syscalls (624-627)
624 0x270  DECR   DEX   CEX  sys_io_buffer_create int sys_io_buffer_create(int io_block_count, int block_size, int blocks, int unknown_3, sys_io_buffer_t *io_buffer)
625 0x271  DECR   DEX   CEX  sys_io_buffer_destroy int sys_io_buffer_destroy(sys_io_buffer_t io_buffer)
626 0x272  DECR   DEX   CEX  sys_io_buffer_allocate int sys_io_buffer_allocate(sys_io_buffer_t io_buffer, sys_io_block_t *block)
627 0x273  DECR   DEX   CEX  sys_io_buffer_free int sys_io_buffer_free(sys_io_buffer_t io_buffer, sys_io_block_t block)
#sys_gpio Syscalls (630-631)
630 0x276  DECR   DEX   CEX  sys_gpio_set int sys_gpio_set (uint64_t device_id, uint64_t mask, uint64_t value)
631 0x277  DECR   DEX   CEX  sys_gpio_get int sys_gpio_get (uint64_t device_id, uint64_t *value)
#sys_fsw Syscalls (633-634)
633 0x279  DECR  sys_fsw_connect_event int sys_fsw_connect_event(sys_event_queue_t eq_id)
634 0x27A  DECR  sys_fsw_disconnect_event int sys_fsw_disconnect_event(void)
#Bluetooth Syscalls
635 0x27B  DECR   DEX   CEX   root  sys_btsetting_if? 2 Params: uint64_t packet_id (0=init,1=finalize,....27) , uint8_t buffer
636 0x27C  DECR   DEX   CEX   root  (BT Database Lookup)
637 0x27D  DECR   DEX   CEX   root  BT dev list related, syscall(0x27d, out:uint8_t[0x100])
638 0x27E  DECR   DEX   CEX   root  BT related, 3 Params: packet_id (<7), input, output?
#USB Bluetooth Audio Syscalls (639-649)
639 0x27F  DECR   DEX   CEX  "deprecated!" (seems Sony doesnt want/like USB Bluetooth Audio transmitter/receiver)
640 0x280  DECR   DEX   CEX  sys_usbbtaudio_initialize "deprecated!"
641 0x281  DECR   DEX   CEX  sys_usbbtaudio_finalize "deprecated!"
642 0x282  DECR   DEX   CEX  sys_usbbtaudio_discovery "deprecated!"
643 0x283  DECR   DEX   CEX  sys_usbbtaudio_cancel_discovery "deprecated!"
644 0x284  DECR   DEX   CEX  sys_usbbtaudio_pairing "deprecated!"
645 0x285  DECR   DEX   CEX  sys_usbbtaudio_set_passkey "deprecated!"
646 0x286  DECR   DEX   CEX  sys_usbbtaudio_connect "deprecated!"
647 0x287  DECR   DEX   CEX  sys_usbbtaudio_disconnect "deprecated!"
648 0x288  DECR   DEX   CEX  "deprecated!"
649 0x289  DECR   DEX   CEX  "deprecated!"
#RSX Audio Syscalls (650-x)
650 0x28A  DECR   DEX   CEX  sys_rsxaudio_initialize int sys_rsxaudio_initialize(uint32_t* out_handle)
651 0x28B  DECR   DEX   CEX  sys_rsxaudio_finalize int sys_rsxaudio_finalize(uint32_t handle)
652 0x28C  DECR   DEX   CEX  sys_rsxaudio_import_shared_memory int sys_rsxaudio_import_shared_memory(uint32_t handle, uint64_t* out_addr)
653 0x28D  DECR   DEX   CEX  sys_rsxaudio_unimport_shared_memory int sys_rsxaudio_unimport_shared_memory(uint32_t handle, uint64_t* addr)
654 0x28E  DECR   DEX   CEX  sys_rsxaudio_create_connection int sys_rsxaudio_create_connection(uint32_t handle)
655 0x28F  DECR   DEX   CEX  sys_rsxaudio_close_connection int sys_rsxaudio_close_connection(uint32_t handle)
656 0x290  DECR   DEX   CEX  sys_rsxaudio_prepare_process int sys_rsxaudio_prepare_process(uint32_t handle)
657 0x291  DECR   DEX   CEX  sys_rsxaudio_start_process int sys_rsxaudio_start_process(uint32_t handle)
658 0x292  DECR   DEX   CEX  sys_rsxaudio_stop_process int sys_rsxaudio_stop_process(uint32_t handle)
659 0x293  DECR   DEX   CEX  sys_rsxaudio_get_dma_param int sys_rsxaudio_get_dma_param(uint32_t handle, uint32_t flag, uint64_t* param_out)
Flag:
0 = dma io address
1 = dma io id
#sys_rsx Syscalls (666-677)
666 0x29A  DECR   DEX   CEX  sys_rsx_device_open 1 Param (uint64_t arg_1);
667 0x29B  DECR   DEX   CEX  sys_rsx_device_close (void);
668 0x29C  DECR   DEX   CEX  sys_rsx_memory_allocate (uint32_t *mem_ctx_id, uint32_t *local_addr, uint64_t tile_max_size, uint64_t zcull_max_size, uint64_t tile_max_areas, uint64_t zcull_max_areas);
669 0x29D  DECR   DEX   CEX  sys_rsx_memory_free (uint32_t mem_ctx_id);
670 0x29E  DECR   DEX   CEX  sys_rsx_context_allocate (uint32_t *rsx_ctx_id, uint64_t *dma_control_lpar, uint64_t *driver_info_lpar, uint64_t *reports_lpar, uint32_t mem_ctx_id, uint64_t system_mode);
671 0x29F  DECR   DEX   CEX  sys_rsx_context_free (uint32_t rsx_ctx_id);
672 0x2A0  DECR   DEX   CEX  sys_rsx_context_iomap (uint32_t rsx_ctx_id, uint32_t local_offset, uint32_t main_mem_ea, uint32_t size, uint64_t flags);
673 0x2A1  DECR   DEX   CEX  sys_rsx_context_iounmap (uint32_t rsx_ctx_id, uint64_t arg_2, uint64_t arg_3);
674 0x2A2  DECR   DEX   CEX  sys_rsx_context_attribute (uint32_t rsx_ctx_id, uint32_t pkg_id, uint64_t arg_1, uint64_t arg_2, uint64_t arg_3, uint64_t arg_4);
675 0x2A3  DECR   DEX   CEX  sys_rsx_device_map (uint64_t *semaphore, uint64_t arg_2, uint64_t device_id);
676 0x2A4  DECR   DEX   CEX  sys_rsx_device_unmap (uint64_t device_id);
677 0x2A5  DECR   DEX   CEX  sys_rsx_attribute
(sys_rsx_audio_setup)
(uint64_t pkg_id, uint64_t arg_1, uint64_t arg_2, uint64_t arg_3, uint64_t arg_4);
678 0x2A6  DECR   DEX 
(sys_rsx_audio_queue)
679 0x2A7  DECR   DEX   CEX   root 
(sys_rsx_audio_iomap)
(uint32_t arg_1, uint32_t arg_2, uint64_t *out_1, uint64_t *out_2, uint64_t *out_3, uint64_t *out_4);
#Bluetooth USB Audio Syscalls (680-696)
680 0x2A8  DECR   DEX   CEX   root 
(sys_rsx_audio_iounmap?)
681 0x2A9  DECR   DEX   CEX   root 
682 0x2AA  DECR   DEX   CEX   root 
683 0x2AB  DECR   DEX   CEX   root 
684 0x2AC  DECR   DEX   CEX   root 
685 0x2AD  DECR   DEX   CEX   root 
686 0x2AE  DECR   DEX   CEX   root 
687 0x2AF  DECR   DEX   CEX   root 
688 0x2B0  DECR   DEX   CEX   root 
689 0x2B1  DECR   DEX   CEX   root 
690 0x2B2  DECR   DEX   CEX   root 
691 0x2B3  DECR   DEX   CEX   root 
692 0x2B4  DECR   DEX   CEX   root 
693 0x2B5  DECR   DEX   CEX   root 
694 0x2B6  DECR   DEX   CEX  "deprecated!" (usbbtaudio)
695 0x2B7  DECR   DEX   CEX  "deprecated!" (usbbtaudio)
696 0x2B8  DECR   DEX   CEX   root  bt audio interface, packetid 0-4 (0= GetSinkConfig)
697 0x2B9
(sys_iosys_infra_test_open)
698 0x2BA
(sys_iosys_infra_test_execute)
#sys_bdemu Syscalls (699)
699 0x2BB  DECR   DEX  sys_bdemu_send_command sys_bdemu_send_command(cmd, unused, unk1, result_buffer, result_buffer_len)
cmd 0: returns BDemu usb DeviceID
cmd 1: eject image (unk1 and result_buffer must be 0)
cmd 2: format bdemu hdd?
#sys_net Syscalls (700-726)
700 0x2BC  DECR   DEX   CEX  sys_net_bnet_accept int sys_net_bnet_accept (int s, struct sockaddr *addr, socklen_t *paddrlen ) // s = socket descriptor
701 0x2BD  DECR   DEX   CEX  sys_net_bnet_bind int sys_net_bnet_bind ( int s, const struct sockaddr *addr, socklen_t addrlen )
702 0x2BE  DECR   DEX   CEX  sys_net_bnet_connect int sys_net_bnet_connect ( int s, const struct sockaddr *addr, socklen_t addrlen )
703 0x2BF  DECR   DEX   CEX  sys_net_bnet_getpeername int sys_net_bnet_getpeername ( int s, struct sockaddr *addr, socklen_t *paddrlen )
704 0x2C0  DECR   DEX   CEX  sys_net_bnet_getsockname int sys_net_bnet_getsockname ( int s, struct sockaddr *addr, socklen_t *paddrlen )
705 0x2C1  DECR   DEX   CEX  sys_net_bnet_getsockopt int sys_net_bnet_getsockopt ( int s, int level, int optname, void *optval, socklen_t *optlen )
706 0x2C2  DECR   DEX   CEX  sys_net_bnet_listen int sys_net_bnet_listen ( int s, int backlog )
707 0x2C3  DECR   DEX   CEX  sys_net_bnet_recvfrom int sys_net_bnet_recvfrom ( int s, void *buf, size_t len, int flags, struct sockaddr *addr, socklen_t *paddrlen )
708 0x2C4  DECR   DEX   CEX  sys_net_bnet_recvmsg int sys_net_bnet_recvmsg ( int s, struct msghdr *msg, int flags )
709 0x2C5  DECR   DEX   CEX  sys_net_bnet_sendmsg int sys_net_bnet_sendmsg ( int s, const struct msghdr *msg, int flags )
710 0x2C6  DECR   DEX   CEX  sys_net_bnet_sendto int sys_net_bnet_sendto ( int s, const void *buf, size_t len, int flags, const struct sockaddr *addr, socklen_t addrlen )
711 0x2C7  DECR   DEX   CEX  sys_net_bnet_setsockop int sys_net_bnet_setsockop ( int s, int level, int optname, const void *optval, socklen_t optlen )
712 0x2C8  DECR   DEX   CEX  sys_net_bnet_shutdown int sys_net_bnet_shutdown ( int s, int how )
713 0x2C9  DECR   DEX   CEX  sys_net_bnet_socket int sys_net_bnet_socket ( int family, int type, int protocol )
714 0x2CA  DECR   DEX   CEX  sys_net_bnet_close int sys_net_bnet_close ( int fd )
715 0x2CB  DECR   DEX   CEX  sys_net_bnet_poll
716 0x2CC  DECR   DEX   CEX  sys_net_bnet_select
717 0x2CD  DECR   DEX   CEX  sys_net_open_dump int sys_net_open_dump ( int len, int flags )
718 0x2CE  DECR   DEX   CEX  sys_net_read_dump int sys_net_read_dump ( int id, void *buf, int len, int *pflags )
719 0x2CF  DECR   DEX   CEX  sys_net_close_dump int sys_net_close_dump ( int id, int *pflags )
720 0x2D0  DECR   DEX   CEX  sys_net_write_dump int sys_net_write_dump ( char *buf )
721 0x2D1  DECR   DEX   CEX  sys_net_abort int sys_net_abort (packet id <5: 0=abort socket,1=abort resolver ), sys_net_thread_id_t tid/int socket_descriptor, int flags )
722 0x2D2  DECR   DEX   CEX  sys_net_infoctl
723 0x2D3  DECR   DEX   CEX  sys_net_control
724 0x2D4  DECR   DEX   CEX  sys_net_bnet_ioctl
725 0x2D5  DECR   DEX   CEX  sys_net_bnet_sysctl
726 0x2D6  DECR   DEX   CEX  sys_net_eurus_post_command int sys_net_eurus_post_command(uint16_t cmd, uint8_t *cmdbuf, uint64_t cmdbuf_size) Hypervisor_Reverse_Engineering#Commands_2 Commands
#lv2Fs Syscalls (801-834)
800 0x320  DECR   DEX   CEX  sys_fs_test int sys_fs_test(packetid < 7 (6 tests) ,0,*deviceid,4,uint8* out[0x420],0x420)
801 0x321  DECR   DEX   CEX  sys_fs_open CellFsErrno sys_fs_open(const char *path, int flags, int *fd, uint64_t mode, const void *arg, uint64_t size);
802 0x322  DECR   DEX   CEX  sys_fs_read CellFsErrno sys_fs_read(int fd, void *buf, uint64_t nbytes, uint64_t *nread);
803 0x323  DECR   DEX   CEX  sys_fs_write CellFsErrno sys_fs_write(int fd, const void *buf, uint64_t nbytes, uint64_t *nwrite);
804 0x324  DECR   DEX   CEX  sys_fs_close CellFsErrno sys_fs_close(int fd);
805 0x325  DECR   DEX   CEX  sys_fs_opendir CellFsErrno sys_fs_opendir(const char *path, int *fd);
806 0x326  DECR   DEX   CEX  sys_fs_readdir CellFsErrno sys_fs_readdir(int fd, CellFsDirent *dir, uint64_t *nread);
807 0x327  DECR   DEX   CEX  sys_fs_closedir CellFsErrno sys_fs_closedir(int fd);
808 0x328  DECR   DEX   CEX  sys_fs_stat CellFsErrno sys_fs_stat(const char *path, CellFsStat *sb);
809 0x329  DECR   DEX   CEX  sys_fs_fstat CellFsErrno sys_fs_fstat(int fd, CellFsStat *sb);
810 0x32A  DECR   DEX   CEX  sys_fs_link int sys_fs_link(const char* path_from, const char* path_to)
811 0x32B  DECR   DEX   CEX  sys_fs_mkdir CellFsErrno sys_fs_mkdir(const char *path, CellFsMode mode);
812 0x32C  DECR   DEX   CEX  sys_fs_rename CellFsErrno sys_fs_rename(const char *from, const char *to);
813 0x32D  DECR   DEX   CEX  sys_fs_rmdir CellFsErrno sys_fs_rmdir(const char *path);
814 0x32E  DECR   DEX   CEX  sys_fs_unlink CellFsErrno sys_fs_unlink(const char *path);
815 0x32F  DECR   DEX   CEX  sys_fs_utime CellFsErrno sys_fs_utime(const char *path, const CellFsUtimbuf *timep);
816 0x330  DECR   DEX   CEX  sys_fs_access int sys_fs_access(char cont*, int)
817 0x331  DECR   DEX   CEX  sys_fs_fcntl int sys_fs_fcntl(int fd, int operation, void* ptr, uint64_t)

'fd' may be set to -1 or other invalid values if the operation is not using it. 'ptr' may be casted to different types depends on the operation or not be used at all.

818 0x332  DECR   DEX   CEX  sys_fs_lseek CellFsErrno sys_fs_lseek(int fd, int64_t offset, int whence, uint64_t *pos);
819 0x333  DECR   DEX   CEX  sys_fs_fdatasync int sys_fs_datasync(int)
820 0x334  DECR   DEX   CEX  sys_fs_fsync CellFsErrno sys_fs_fsync(int fd);
821 0x335  DECR   DEX   CEX  sys_fs_fget_block_size int sys_fs_fget_block_size(int fd, uint64_t* sector_size, uint64_t* block_size, uint64_t* arg4, int* out_flags)
822 0x336  DECR   DEX   CEX  sys_fs_get_block_size int sys_fs_get_block_size(const char* path, uint64_t* block_size, uint64_t* arg4)
823 0x337  DECR   DEX   CEX  sys_fs_acl_read int sys_fs_acl_read(const char* path, CellFsAcl *)
824 0x338  DECR   DEX   CEX  sys_fs_acl_write int sys_fs_acl_read(const char* path, CellFsAcl *)
825 0x339  DECR   DEX   CEX  sys_fs_lsn_get_cda_size int sys_fs_lsn_get_cda_size(int fd, uint64_t*)
826 0x33A  DECR   DEX   CEX  sys_fs_lsn_get_cda int sys_fs_lsn_get_cda(int fd, CellFsCda*, uint64_t, uint64_t*)
827 0x33B  DECR   DEX   CEX  sys_fs_lsn_lock int sys_fs_lsn_lock(int fd)
828 0x33C  DECR   DEX   CEX  sys_fs_lsn_unlock int sys_fs_lsn_unlock(int fd)
829 0x33D  DECR   DEX   CEX  sys_fs_lsn_read int sys_fs_lsn_read(int fd, const CellFsCda*, uint64_t size)
830 0x33E  DECR   DEX   CEX  sys_fs_lsn_write int sys_fs_lsn_write(int fd, const CellFsCda*, uint64_t size)
831 0x33F  DECR   DEX   CEX  sys_fs_truncate CellFsErrno sys_fs_truncate(const char *path, uint64_t size);
832 0x340  DECR   DEX   CEX  sys_fs_ftruncate CellFsErrno sys_fs_ftruncate(int fd, uint64_t size);
833 0x341  DECR   DEX   CEX  sys_fs_symbolic_link int sys_fs_symbolic_link(const char* target_path, const char* link_path)
834 0x342  DECR   DEX   CEX  sys_fs_chmod CellFsErrno sys_fs_chmod(const char *path, CellFsMode mode);
835 0x343  DECR   DEX   CEX  sys_fs_chown int sys_fs_chown(const char* path, int uid, int gid)
836 0x344  DECR   DEX   CEX  sys_fs_newfs int sys_fs_newfs(const char* deviceName, const char*, int, const char**)
837 0x345  DECR   DEX   CEX  sys_fs_mount int sys_fs_mount(const char* deviceName, const char*, const char*, int, int, int, const char**)
Example: Device Name (e.g CELL_FS_IOS:BUILTIN_FLSH1), Device File System (e.g CELL_FS_FAT), Device Path (e.g. /dev_flash), 0, Write Protection (0 or 1), 0, 0, 0
838 0x346  DECR   DEX   CEX  sys_fs_unmount int sys_fs_unmount(const char* device_path, int, int)
Parameters: Device Path (e.g. /dev_flash)
839 0x347  DECR   DEX   CEX  sys_fs_sync int sys_fs_sync(const char *dir) Parameter: Device Path (e.g. /dev_hdd0)
840 0x348  DECR   DEX   CEX  sys_fs_disk_free int sys_fs_disk_free(const char* path, uint64_t* total_free, uint64_t* avail_free)
841 0x349  DECR   DEX   CEX  sys_fs_get_mount_info_size int sys_fs_get_mount_info_size(uint64_t* out_length)

'out_length' is set to the number of mounted devices sys_fs_get_mount_info may write at max.

842 0x34A  DECR   DEX   CEX  sys_fs_get_mount_info int sys_fs_get_mount_info(CellFsMountInformation* info, uint64_t buffer_length, uint64_t* written_length)

'buffer_length' is the number entries 'info' points. 'written_length' is the number of entries written to 'info', lower/equal to 'buffer_length'.

843 0x34B  DECR   DEX   CEX  sys_fs_get_fs_info_size int sys_fs_get_fs_info_size(uint64_t *)
844 0x34C  DECR   DEX   CEX  sys_fs_get_fs_info int sys_fs_get_fs_info(uint64_t, uint64_t *, CellFsInfo *)
845 0x34D  DECR   DEX   CEX  sys_fs_mapped_allocate int sys_fs_mapped_allocate(int, uint64_t, void **)
846 0x34E  DECR   DEX   CEX  sys_fs_mapped_free int sys_fs_mapped_free(int, void *)
847 0x34F  DECR   DEX   CEX  sys_fs_truncate2 int sys_fs_ftruncate2(int fd, uint64_t size);
#process socket service syscalls (861-864)
860 0x35C  DECR   DEX   CEX   AuthID  syscall_sys_ss_get_cache_of_analog_sunset_flag int syscall_sys_ss_get_cache_of_analog_sunset_flag(out:uint8_t[1])
861 0x35D  DECR   DEX   CEX   root  sys_ss_protected_file_db gamesave_storage_manager_if(uint32_t packetid (0-0x13), uint8_t buf[0xB8], const char* path, int32_t len, int32_t unk2, int32_t unk3, 0, 0);
862 0x35E  DECR   DEX   CEX   root  sys_ss_virtual_trm_manager vtrm_manager_if (Interface)
863 0x35F  DECR   DEX   CEX   root  sys_ss_update_manager update_manager_if (Interface)
864 0x360  DECR   DEX   CEX   dbg  sys_ss_sec_hw_framework storage_manager_if (Interface)
#sys_ss/sys_get Syscalls (865-879)
865 0x361  DECR   DEX   CEX   root   AuthID  sys_ss_random_number_generator int sys_ss_random_number_generator(id,buffer,size), alias sys_get_random_number
866 0x362  DECR   DEX   CEX   root  sys_ss_secure_rtc secure_rtc_manager_if (Interface)
867 0x363  DECR   DEX   CEX   root  sys_ss_appliance_info_manager aim_manager_if (Interface)
868 0x364  DECR   DEX   CEX   root   dbg   AuthID  sys_ss_individual_info_manager indi_info_manager_if (Interface)
869 0x365  DECR   DEX   CEX   root  sys_ss_factory_data_manager factory_data_manager_if (Interface)
870 0x366  DECR   DEX   CEX  sys_ss_get_console_id int sys_ss_get_console_id(uint8_t *buf) //returns IDPS in buf
later firmwares require root flags, QA flag, not allowed on DEX/TOOL
871 0x367  DECR   DEX   CEX   dbg  sys_ss_access_control_engine 3 params, their types and usage depends on 'pkg_id'.
(pkg_id=1,sys_pid_t,out:uint64_t) 
(pkd_id=2,out:uint64_t,0) // returns Program Authority ID
(pkg_id=3,out:uint64_t,0)
872 0x368  DECR   DEX   CEX  sys_ss_get_open_psid int sys_ss_get_open_psid(CellSsOpenPSID *ptr) ; typedef struct CellSsOpenPSID { uint64_t high; uint64_t low;}
873 0x369  DECR   DEX   CEX  sys_ss_get_cache_of_product_mode int sys_ss_get_cache_of_product_mode(uint8_t *ptr [1]);
874 0x36A  DECR   DEX   CEX  sys_ss_get_cache_of_flash_ext_flag int sys_ss_get_cache_of_flash_ext_flag(uint8_t *flag [1])
875 0x36B  DECR   DEX   CEX  sys_ss_get_boot_device int sys_ss_get_boot_device(uint8_t * buf [8]);
876 0x36C  DECR   DEX   CEX  sys_ss_disc_access_control 2Params: 0x20000(=get_disc_access_control),uint32_t * disc_access / 0x20001(=set_disc_access_control),1
877 0x36D  DECR   DEX   CEX   root  sys_ss_~utoken_if syscall(877,0x25003=Decrypt or 0x25004 or 0x25005=Encrypt or 0x25006=(copy syscall table to user), uint8_t *token, 0xC50 (size)), user_token_manager_if
878 0x36E  DECR   DEX   CEX  sys_ss_ad_sign syscall(878, 0x26001, in_buffer[0x14], out_buffer[0x80])
879 0x36F  DECR   DEX   CEX  sys_ss_media_id syscall(879, 0x10001, out_buffer[0x10])
#sys_deci3 Syscalls (880-884)
880 0x370  DECR   DEX  sys_deci3_open int sys_deci3_open(sys_deci3_protocol_t protocol, sys_deci3_port_t port, void *option, sys_deci3_session_t * session_id);
881 0x371  DECR   DEX  sys_deci3_create_event_path int sys_deci3_create_event_path(sys_deci3_session_t session_id, size_t bufsize, sys_event_queue_t event_queue_id);
882 0x372  DECR   DEX  sys_deci3_close int sys_deci3_close(sys_deci3_session_t session_id);
883 0x373  DECR   DEX  sys_deci3_send int sys_deci3_send(sys_deci3_session_t session_id, uint8_t * buf, __CSTD size_t size);
884 0x374  DECR   DEX  sys_deci3_receive int sys_deci3_receive(sys_deci3_session_t session_id, uint8_t * buf, __CSTD size_t size);
885 0x375  DECR  sys_deci3_open2
889 0x379  DECR   root  sys_
890 0x37A sys_deci3_initialize
891 0x37B sys_deci3_terminate
892 0x37C sys_deci3_debug_mode
893 0x37D sys_deci3_show_status
894 0x37E sys_deci3_echo_test
895 0x37F sys_deci3_send_dcmp_packet
896 0x380 sys_deci3_dump_cp_register
897 0x381 sys_deci3_dump_cp_buffer
899 0x383 sys_deci3_test
#sys_dbg Syscalls (900-970)
900 0x384  DECR   DEX   CEX  sys_dbg_stop_processes 2 params: sys_pid_t pid, 1
901 0x385  DECR   DEX  sys_dbg_continue_processes
902 0x386  DECR   DEX   CEX  sys_dbg_stop_threads 2 params: in/out, len
903 0x387  DECR   DEX   CEX  sys_dbg_continue_threads 2 params: uint64_t *inbuff, int length(0 or ... or 8)
904 0x388  DECR   DEX  sys_dbg_read_process_memory int sys_dbg_read_process_memory(sys_pid_t pid, uint64_t process_ea, uint32_t size, void* data)
905 0x389  DECR   DEX  sys_dbg_write_process_memory int sys_dbg_write_process_memory(sys_pid_t pid, uint64_t process_ea, uint32_t size, const void* data)
906 0x38A  DECR   DEX   CEX  sys_dbg_read_thread_register 3 Params: uint8_t [0x10], uint64_t *, uint8_t[0x10]
907 0x38B  DECR   DEX  sys_dbg_write_thread_register
908 0x38C  DECR   DEX  sys_dbg_get_process_list int sys_dbg_get_process_list(sys_pid_t* pids, uint64_t* max, uint64_t* count)
909 0x38D  DECR   DEX   CEX  sys_dbg_get_thread_list int sys_dbg_get_thread_list( sys_pid_t pid, sys_ppu_thread_t* ids, uint64_t* ids_num, uint64_t* all_ids_num)
910 0x38E  DECR   DEX   CEX  sys_dbg_get_thread_info 2 Params: uint8_t * [0x10] {type,thread id?}, uint8_t [0x80]
1 spu_thread
2 spu_thread_group
0 ppu_thread
911 0x38F  DECR   DEX   CEX  sys_dbg_spu_thread_read_from_ls 4 Params: spu thread id,, size, uint8_t[size]
912 0x390  DECR   DEX  sys_dbg_spu_thread_write_to_ls
913 0x391  DECR   DEX  sys_dbg_kill_process int sys_dbg_kill_process(sys_pid_t pid)
914 0x392  DECR   DEX   CEX  sys_dbg_get_process_info int sys_dbg_get_process_info(sys_pid_t pid, sys_process_info_t* info)
915 0x393  DECR   DEX  sys_dbg_set_run_control_bit_to_spu
916 0x394  DECR   DEX  sys_dbg_spu_thread_get_exception_cause
917 0x395  DECR   DEX  sys_dbg_create_kernel_event_queue
918 0x396  DECR   DEX  sys_dbg_read_kernel_event_queue
919 0x397  DECR   DEX  sys_dbg_destroy_kernel_event_queue
920 0x398  DECR   DEX  sys_dbg_get_process_event_ctrl_flag
921 0x399  DECR   DEX  sys_dbg_set_process_event_cntl_flag
922 0x39A  DECR   DEX  sys_dbg_get_spu_thread_group_event_cntl_flag
923 0x39B  DECR   DEX  sys_dbg_set_spu_thread_group_event_cntl_flag
924 0x39C  DECR   DEX  sys_dbg_get_module_list
925 0x39D  DECR   DEX  sys_dbg_get_raw_spu_list
926 0x39E  DECR   DEX  sys_dbg_initialize_scratch_executable_area
927 0x3A0  DECR   DEX  sys_dbg_terminate_scratch_executable_area
928 0x3A1  DECR   DEX  sys_dbg_initialize_scratch_data_area
929 0x3A2  DECR   DEX  sys_dbg_terminate_scratch_data_area
930 0x3A3  DECR   DEX  sys_dbg_get_user_memory_stat
931 0x3A4  DECR   DEX  sys_dbg_get_shared_memory_attribute_list
932 0x3A4  DECR   DEX  sys_dbg_get_mutex_list
933 0x3A5  DECR   DEX   CEX  sys_dbg_get_mutex_information int sys_dbg_get_mutex_information(sys_pid_t id, sys_mutex_t id, sys_dbg_mutex_information_t* info )
934 0x3A6  DECR   DEX  sys_dbg_get_cond_list
935 0x3A7  DECR   DEX   CEX  sys_dbg_get_cond_information int sys_dbg_get_cond_information ( sys_pid_t id, sys_cond_t id, sys_dbg_cond_information_t* info )
936 0x3A8  DECR   DEX  sys_dbg_get_rwlock_list
937 0x3A9  DECR   DEX   CEX  sys_dbg_get_rwlock_information int sys_dbg_get_rwlock_information ( sys_pid_t id, sys_rwlock_t id, sys_dbg_rwlock_information_t* info )
938 0x3AA  DECR   DEX  sys_dbg_get_lwmutex_list
939 0x3AB  DECR   DEX  sys_dbg_get_address_from_dabr int sys_dbg_get_address_from_dabr ( sys_pid_t id, uint64_t* addr, uint64_t* ctrl_flag )
940 0x3AC  DECR   DEX  sys_dbg_set_address_to_dabr int sys_dbg_set_address_to_dabr ( sys_pid_t id, uint64_t addr, uint64_t ctrl_flag )
941 0x3AD  DECR   DEX   CEX  sys_dbg_get_lwmutex_information int sys_dbg_get_lwmutex_information ( sys_pid_t id, sys_lwmutex_pseudo_id_t id, sys_dbg_lwmutex_information_t* info )
942 0x3AE  DECR   DEX  sys_dbg_get_event_queue_list
943 0x3AF  DECR   DEX   CEX  sys_dbg_get_event_queue_information int sys_dbg_get_event_queue_information ( sys_pid_t id, sys_event_queue_t id, sys_dbg_event_queue_information_t* info )
944 0x3B0  DECR   DEX   CEX  sys_dbg_initialize_ppu_exception_handler int sys_dbg_initialize_ppu_exception_handler( sys_event_queue_t * equeue_id)
945 0x3B1  DECR   DEX   CEX   dbg  sys_dbg_finalize_ppu_exception_handler int sys_dbg_finalize_ppu_exception_handler ( sys_event_queue_t equeue_id )
946 0x3B2  DECR   DEX  sys_dbg_get_semaphore_list
947 0x3B3  DECR   DEX   CEX  sys_dbg_get_semaphore_information int sys_dbg_get_semaphore_information (sys_pid_t id, sys_semaphore_t id, sys_dbg_semaphore_information_t* info )
948 0x3B4  DECR   DEX  sys_dbg_get_kernel_thread_list
949 0x3B5  DECR   DEX  sys_dbg_get_kernel_thread_info
950 0x3B6  DECR   DEX  sys_dbg_get_lwcond_list
951 0x3B7  DECR   DEX   CEX  sys_dbg_get_lwcond_information int sys_dbg_get_lwcond_information (sys_pid_t id, sys_lwcond_pseudo_id_t id, sys_dbg_lwcond_information_t* info )
952 0x3B8  DECR   DEX  sys_dbg_create_scratch_data_area_ext
953 0x3B9  DECR   DEX  sys_dbg_vm_get_page_information int sys_dbg_vm_get_page_information (sys_pid_t id, sys_addr_t addr, uint32_t num, sys_vm_page_information_t *pageinfo )
954 0x3BA  DECR   DEX  sys_dbg_vm_get_info
955 0x3BB  DECR   DEX  sys_dbg_enable_floating_point_enabled_exception int sys_dbg_enable_floating_point_enabled_exception ( sys_ppu_thread_t id )
956 0x3BC  DECR   DEX  sys_dbg_disable_floating_point_enabled_exception int sys_dbg_disable_floating_point_enabled_exception ( sys_ppu_thread_t id )
957 0x3BD  DECR   DEX   CEX  sys_dbg_get_process_memory_container_information (u32 proc_id, dbg_mc_info *mc_info[count], u32 *count)
959 0x3BF  DECR   DEX   CEX  sys_dbg_(send event flags?) 4 Params: id, uint64_t,uint64_t,uint64_t
960 0x3C0  DECR  sys_control_performance_monitor int sys_control_performance_monitor? (int id, 0 / *out ) - Controls Performance Monitor on the Cell Broadband Engine syscall
961 0x3C1  DECR  sys_performance_monitor_hidden
962 0x3C2  DECR  sys_performance_monitor_bookmark
963 0x3C3  DECR  sys_lv1_pc_trace_create
964 0x3C4  DECR  sys_lv1_pc_trace_start
965 0x3C5  DECR  sys_lv1_pc_trace_stop
966 0x3C6  DECR  sys_lv1_pc_trace_get_status
967 0x3C7  DECR  sys_lv1_pc_trace_destroy
968 0x3C8  DECR  sys_rsx_trace_ioctl
969 0x3C9  DECR 
970 0x3CA  DECR   DEX  sys_dbg_get_event_flag_list
971 0x3CB  DECR   DEX   CEX  sys_dbg_get_event_flag_information int sys_dbg_get_event_flag_information ( sys_pid_t id, sys_event_flag_t id, sys_dbg_event_flag_information_t* info )
972 0x3CC  DECR   DEX   CEX  sys_dbg_(send event flags?) 1 Param: uint8_t [0x48]
973 0x3CD  DECR   DEX 
974 0x3CE  DECR   DEX   CEX  sc(0x3CE, in:(ppu)thread_id, out:uint8_t[0x440])
975 0x3CF  DECR   DEX   CEX  sys_dbg_read_spu_thread_context2 int sys_dbg_read_spu_thread_context2( sys_spu_thread_t id, sys_dbg_spu_thread_context2_t* spu_context )
976 0x3D0  DECR   DEX   CEX  sys_crypto_engine_create int sys_crypto_engine_create(sys_pid_t* id);
977 0x3D1  DECR   DEX   CEX  sys_crypto_engine_destroy int sys_crypto_engine_destroy(sys_pid_t id);
978 0x3D2  DECR   DEX   CEX   root  sys_crypto_engine_hasher_prepare int sys_crypto_engine_hasher_prepare(sys_pid_t id, int32_t hash_key_index); /* uses HMAC-SHA1 with key size of 0x14 bytes, keys are generated by VTRM (master) */
979 0x3D3  DECR   DEX   CEX  sys_crypto_engine_hasher_run int sys_crypto_engine_hasher_run(sys_pid_t id, const void* data, uint32_t data size); /* splits data by chunks of 0x400 bytes max */
980 0x3D4  DECR   DEX   CEX  sys_crypto_engine_hasher_get_hash int sys_crypto_engine_hasher_get_hash(sys_pid_t id, void* buffer, uint32_t max_buffer_size /* >= 0x14 */);
981 0x3D5  DECR   DEX   CEX   root  sys_crypto_engine_cipher_prepare int sys_crypto_engine_cipher_prepare(sys_pid_t id, int32_t hash_key_index, int32_t mode /* 1:encrypt, 2:decrypt */, int32_t cipher_key_index, const void* iv, uint32_t iv_size); /* uses AES-CBC-128, keys are generated by VTRM (master) */
982 0x3D6  DECR   DEX   CEX  sys_crypto_engine_cipher_run int sys_crypto_engine_cipher_run(sys_pid_t id, const void* input, void* output, uint32_t data_size); /* splits data by chunks of 0x400 bytes max */
983 0x3D7  DECR   DEX   CEX  sys_crypto_engine_cipher_get_hash int sys_crypto_engine_cipher_get_hash(sys_pid_t id, void* buffer, uint32_t max_buffer_size /* >= 0x14 */);
984 0x3D8  DECR   DEX   CEX  sys_crypto_engine_random_generate int sys_crypto_engine_random_generate(void* buffer, uint32_t max_buffer_size /* >= 0x10 */);
985 0x3D9  DECR   DEX   CEX   root  sys_dbg_get_console_type? returns Console Type, syscall(985,uint64_t * type)
1=CEX
2=DEX
3=TOOL
986 0x3DA  DECR   DEX   CEX   root   dbg  seems to return Game Application Title ID , syscall(986,out:uint8[0x40])
987 0x3DB  DECR   DEX   CEX   root  syscall(987,0 or 1, uint64_t data), example: 0, 0x8000100000020000 (no root flags required)
example: 1, uint64_t data (requires root flags AND QA-Enabled, sends data to vsh process)
988 0x3DC  CEX  sys_dbg_(something)_ppu_exception_handler 2 Params: syscall(988,int i,0) , i <0x10 (1 or 2 or 4 or 8 or 0x10)
989 0x3DD  DECR   DEX   CEX  2 Params: syscall(989, (spu) thread_id ,out:uint8[0x20])

_sys_process_get_paramsfo[edit | edit source]

         00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000 01 < -------Title ID------- > 00 00 00 00 00 00  �BLES80608......
00000010 < ---ExtraLoadFlag--- > < load HUDRSX libProf >  ................
00000020 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..  ................
00000030 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..  ................
@0x18 can load libgpad.sprx from app_home
ExtraLoadFlag[edit | edit source]
Name Value
EnableAccForRemotePlay 0x20L
EnableCoreDump 0x10L
EnableGCMDebug 0x04L
EnableHUDRSXTools 0x40L
EnableLv2ExceptionHandler 0x01L
EnableMAT 0x80L
EnableMiscSettings 0x8000000000000000L
EnableRemotePlay 0x02L
GameAttributeCustomMessage 0x200L
GameAttributeInviteMessage 0x100L
LoadingPatch 0x1000L
LoadLibprofSPRXAutomatically 0x08L

Boot Parameter[edit | edit source]

Name Value
Default 0x00L
ReleaseMode 0x01L
MemSizeConsole 0x02L
BluRayEmuOff 0x04L
HDDSpeedBluRayEmu 0x08L
DebugMode 0x10L
SystemMode 0x11L
BluRayEmuUSB 0x20L
HostFSTarget 0x40L
DualNIC 0x80L

Network Syscalls[edit | edit source]

Networking uses syscalls 700-726

File Syscalls[edit | edit source]

OFLAGS[edit | edit source]

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

Classes[edit | edit source]

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

FNCTL[edit | edit source]

IOCTL ID Notes
0x80000000
0x80000004 (SetCharacterSet?)
0x80000005 (FsAllocateFileAreaByFd)
0x80000006 (FsAllocateFileAreaByFd)
0x80000007 (FsAllocateFileAreaByFd)
0x80000008 (FsAllocateFileAreaByFd)
0x80000009 (SdataOpenByFd)
0x8000000A (ReadWithOffset)
0x8000000B (WriteWithOffset)
0xC0000001 ()
0xC0000002 (GetFreeSize)
0xC0000003 (SetFakeSize)
0xC0000004 (GetFakeSize)
0xC0000005 (GetSystemMergin)
0xC0000006 ()
0xC0000007 (get hdd serial)
0xC0000008 (FsSetIoBuffer)
0xC0000009 ()
0xC000000A ()
0xC000000B ()
0xC000000C ()
0xC000000D ()
0xC000000E ()
0xC000000F ()
0xC0000010 ()
0xC0000011 ()
0xC0000012 ()
0xC0000013 ()
0xC0000014 ()
0xC0000015 (get_usb_mass_serial_number?)
0xC0000016 (ChangePs2discLayer)
0xC0000017 (open_dummy_files)
0xC0000018 (close_dummy_cfs_files)
0xC0000019 ()
0xC000001A (SetDiscReadRetrySetting)
0xC000001B ()
0xC000001C (get_usb_mass_serial_number?)
0xC000001D (set_psp_emu_title_id_path)
0xC000001E (memset title id path)
0xC000001F (process_request_set_redirected_full_path)
0xC0000020 ()
0xE0000000 ()
0xE0000001 ()
0xE0000003 ()
0xE0000004 ()
0xE0000005 (FsMkdir)
0xE0000006 ()
0xE0000007 (FsRmDir)
0xE0000008 (FsAclRead)
0xE0000009 (FsAccess)
0xE000000A ()
0xE000000B ()
0xE000000C (FsTruncate)
0xE000000D (FsUtime?)
0xE000000E (FsAclWrite)
0xE000000F (Chmod?)
0xE0000010 (FsChown)
0xE0000011 (error 0x80010037)
0xE0000012 (FsGetDirectoryEntries)
0xE0000013 ()
0xE0000014 (FsSymbolicLink)
0xE0000015 (abort?)
0xE0000016 (FsAllocateFileAreaWithInitialData)
0xE0000017 (FsAllocateFileAreaWithoutZeroFill)
0xE0000018 (FsChangeFileSizeWithoutAllocation)
0xE000001A ()
0xE000001D ()
0xE000001E ()
0xE000001F ()
0xE0000020 ()
0xE0000024 ()
0xE0000025 (FsSdataOpenWithVersion)

Filesystem Syscalls[edit | edit source]

Filesystem uses LV2_Functions_and_Syscalls#lv2Fs_Syscalls syscalls 700-726

Unofficial Syscalls added[edit | edit source]

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

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

Number Function - Added by Notes
6 lv2_peek - PL3-DEV, PSGroove v1.1, Payloader3 / (4.2x peek) r3 is a 64 bit address to read. A 64 bit value will be returned in r3
7 lv2_poke - PL3-DEV, PSGroove v1.1, Payloader3 / (4.2x poke) r4 is a 64 bit value. r3 is the address to write that value to.
8 lv2_lv1_peek - graf_chokolo / (4.3x peek) / r3 is a 64 bit address to read. A 64 bit value will be returned in r3
8 Peek - ps3cobra r3 is a 64 bit address to read. A 64 bit value will be returned in r3 write - system_call_6(8, 0x7777, 0x32, (uint64_t)sys_process_getpid(), (uint64_t)ea, (uint64_t)data, (uint64_t)size); Read - system_call_6(8, 0x7777, 0x31, (uint64_t)sys_process_getpid(), (uint64_t)ea, (uint64_t)data, (uint64_t)size);
8 Remapper - Hermes4 redirections of any paths, including /dev_usb for AVCHD HDD
9 lv2_lv1_poke - graf_chokolo / (4.3x poke) r4 is a 64 bit value. r3 is the address to write that value to.
10 lv2_lv1_peek - jfw 'bad idea' r3 is a 64 bit address to read. A 64 bit value will be returned in r3
10 lv2_lv1_call - rebug r10 is the lv1 syscall number. The registers r3 - r9 are arguments.
11 lv2_lv1_poke - jfw 'bad idea' r4 is a 64 bit value. r3 is the address to write that value to.
11 for sc_ctrl - 'Starsucks MFW 4.75 V1.00' int sc_ctrl(int sc_num, int mode, uint64_t addr)
15 lv2_func_call - habib r10 is the address to the lv2 function. The registers r3 - r9 are arguments.
35 Remapper - PL3, PSGroove, PSFreedom syscall_35 (char *old_path, char *new_path);
36 Remapper - Hermes, PSJailbreak / (4.2x BD-Emulator) hardcoded /dev_bdvd & /app_home remapping
38 New sk1e / Hermes payload Syscall 8 in Iris Manager, changed to syscall 38 in IRISMAN
200 Run_Payload - Payloader3
201 Alloc - Payloader3
200 sys_dbg_read_process_memory - CCAPI
201 sys_dbg_write_process_memory - CCAPI
202 Free - Payloader3
203 lv2_peek - CCAPI false info look ccapi section
204 lv2_poke - CCAPI false info look ccapi section
1022 load_prx_module - PRXLoader system_call_6(PRX_SYSCALL, PRX_SYSCALL_LOAD, process_obj, slot, path, arg, arg_size);

Note: LV1: Peek and Poke support uses unused LV1 call 182 and 183


See also: