Line 282:
Line 282:
| 0x64 || int IOS_DestroySemaphore(???) || ||
| 0x64 || int IOS_DestroySemaphore(???) || ||
|-
|-
−
| 0x65 || int flush_ipc_server() || Resets the HW_IPC_ARMCTRL register's flags || 0 on success
+
| 0x65 || int flush_ipc_server() || Resets the ARM IPC control register's flags || 0 on success
|-
|-
| 0x66 || int set_bsp_ready() || Tells the IOSU that BSP is ready || 0 on success
| 0x66 || int set_bsp_ready() || Tells the IOSU that BSP is ready || 0 on success
Line 290:
Line 290:
| 0x68 || int get_ppc_log_region(int unk1, int unk2) || Gets the PPC log region, which can be either MEM2 or the IOSU global heap || 0 on success
| 0x68 || int get_ppc_log_region(int unk1, int unk2) || Gets the PPC log region, which can be either MEM2 or the IOSU global heap || 0 on success
|-
|-
−
| 0x69 || || ||
+
| 0x69 || int init_mem1_ppc() || Fills range 0x00000000 to 0x00002000 in MEM1 with empty PPC branches || Always 0
|-
|-
| 0x6A || int get_iop_cpu_utilization(???) || || 0 on success
| 0x6A || int get_iop_cpu_utilization(???) || || 0 on success
|-
|-
−
| 0x6B || int get_thread_stack_info(int tid, u32 *out_buf) || Gets information on the specified thread's stack (0x00(out_buf) == sys stack base; 0x04(out_buf) == sys stack size (0x400); 0x08(out_buf) == sys stack used space; 0x0C(out_buf) == user stack base; 0x10(out_buf) == user stack size; 0x14(out_buf) == user stack used space) || 0 on success
+
| 0x6B || int get_thread_stack_info(int tid, u32 *out_buf) || Gets information on the specified thread's stack:<br>0x00(out_buf) == sys stack base<br> 0x04(out_buf) == sys stack size (0x400)<br>0x08(out_buf) == sys stack used space<br>0x0C(out_buf) == user stack base<br>0x10(out_buf) == user stack size<br>0x14(out_buf) == user stack used space || 0 on success
|-
|-
| 0x6C || int IOS_ThreadProfileCommand(???) || || 0 on success
| 0x6C || int IOS_ThreadProfileCommand(???) || || 0 on success
Line 300:
Line 300:
| 0x6D || int get_thread_utilization(???) || || 0 on success
| 0x6D || int get_thread_utilization(???) || || 0 on success
|-
|-
−
| 0x6E || || ||
+
| 0x6E || int dump_thread_context(int tid, u32 *out_buf) || Dumps the specified thread's context structure || 0 on success
|-
|-
−
| 0x6F || || ||
+
| 0x6F || int dump_thread_profile(int tid_count, u32 *out_buf) || Dumps profiling information for each thread up to a specified count || Number of dumped threads
|-
|-
−
| 0x70 || || ||
+
| 0x70 || int dump_iobuf_context(int iobuf_id, u32 *out_buf) || Dumps the specified iobuf's context structure || 0 on success
|-
|-
−
| 0x71 || int get_iobuf_utilization(???) || || 0 on success
+
| 0x71 || int dump_iobuf_profile(int iobuf_count, u32 *out_buf) || Dumps profiling information for each iobuf up to a specified count || Number of dumped iobufs
|-
|-
| 0x72 || int get_message_utilization(???) || || 0 on success
| 0x72 || int get_message_utilization(???) || || 0 on success
Line 338:
Line 338:
| 0x80 || || ||
| 0x80 || || ||
|-
|-
−
| 0x81 || void set_panic_behavior(int flag) || Changes the system behavior on panic (if flag is 0 -> crash on panic; if flag is 1 -> reset on panic; if flag is 2 -> reset EXI as well) || Nothing
+
| 0x81 || void set_panic_behavior(int flag) || Changes the system behavior on panic:<br>flag is 0 -> crash on panic<br>flag is 1 -> reset on panic<br>flag is 2 -> reset EXI as well || Nothing
|-
|-
| 0x82 || int set_syslog_buffer(void *log_buf) || Sets up the system log buffer in the IOSU heap || 0 on success
| 0x82 || int set_syslog_buffer(void *log_buf) || Sets up the system log buffer in the IOSU heap || 0 on success
|-
|-
−
| 0x83 || int load_ppc_kernel(u32 address, u32 size) || Maps the PPC kernel image memory (address == 0x08000000; size == 0x00120000) || 0 on success
+
| 0x83 || int load_ppc_kernel(u32 address, u32 size) || Maps the PPC kernel image memory:<br>address == 0x08000000<br>size == 0x00120000 || 0 on success
|-
|-
−
| 0x84 || int load_ppc_user_space(int mem_id, int unk1, int unk2, u32 size, u32 address) || Maps the PPC user space memory (mem_id == 0x02; unk1 == 0x00; unk2 == 0x00; size == 0xA8000000; address == 0x28000000) || 0 on success
+
| 0x84 || int load_ppc_user_space(int mem_id, int unk1, int unk2, u32 size, u32 address) || Maps the PPC user space memory:<br>mem_id == 0x02<br>unk1 == 0x00<br>unk2 == 0x00<br>size == 0xA8000000<br>address == 0x28000000 || 0 on success
|-
|-
−
| 0x85 || int set_security_level(int level) || Sets the master title security level (0x1E is normal; 0x0A is TEST; 0x14 is unknown) || 0 on success
+
| 0x85 || int set_security_level(int level) || Sets the master title security level:<br>0x1E is normal<br>0x0A is TEST<br>0x14 is unknown || 0 on success
|-
|-
| 0x86 || int get_security_level() || Gets the master title security level || The security level
| 0x86 || int get_security_level() || Gets the master title security level || The security level