Line 266:
Line 266:
| 0x5C || void IOS_FlushDCache(void *ptr, unsigned int len) || Flush data cache || Nothing
| 0x5C || void IOS_FlushDCache(void *ptr, unsigned int len) || Flush data cache || Nothing
|-
|-
−
| 0x5D || int disable_memory_protection(void *address) || Disables memory protection for the specified address || 0 on success
+
| 0x5D || int execute_privileged(void *address) || Disables memory protection, cleans up executable memory areas and branches to the specified address || 0 on success
|-
|-
| 0x5E || int get_unk_flags1(u32 *out_buf1, u16 *out_buf2) || Gets (u32*)out_buf1 = 0x03; (u16*)out_buf2 = 0x00 || 0 on success
| 0x5E || int get_unk_flags1(u32 *out_buf1, u16 *out_buf2) || Gets (u32*)out_buf1 = 0x03; (u16*)out_buf2 = 0x00 || 0 on success
Line 286:
Line 286:
| 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
|-
|-
−
| 0x67 || int check_addr_range(void *address, u32 size, u32 rw_flags) || Checks an address range for read/write permissions || 0 on success
+
| 0x67 || int check_ios_addr_range(void *address, u32 size, u32 rw_flags) || Checks an IOSU address range for read/write permissions || 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
+
| 0x68 || int check_ppc_addr_range(void *address, u32 size) || Checks if a PPC address range is registered in the IOSU's address table || 0 on success
|-
|-
| 0x69 || int init_mem1_ppc() || Fills range 0x00000000 to 0x00002000 in MEM1 with empty PPC branches || Always 0
| 0x69 || int init_mem1_ppc() || Fills range 0x00000000 to 0x00002000 in MEM1 with empty PPC branches || Always 0
Line 322:
Line 322:
| 0x78 || || ||
| 0x78 || || ||
|-
|-
−
| 0x79 || || ||
+
| 0x79 || int set_ppc_boot_params(void *params) || Registers the supplied address as a pointer for setting up the PPC boot parameters || 0 on success
|-
|-
−
| 0x7A || || ||
+
| 0x7A || void get_debug_register_value() || Stores the value from LT_DEBUG register in the IOSU heap || Nothing
|-
|-
−
| 0x7B || || ||
+
| 0x7B || void clear_debug_register_value() || Clears the LT_DEBUG register || Nothing
|-
|-
−
| 0x7C || || ||
+
| 0x7C || void set_debug_register_value(u32 value) || Sets the value of the LT_DEBUG register || Nothing
|-
|-
−
| 0x7D || || ||
+
| 0x7D || int check_debug_flag(u32 flag) || Checks if the supplied flag is enabled in the LT_DEBUG register copy on the IOSU heap || The flag value if enabled or 0 if disabled
|-
|-
| 0x7E || void ios_reset(int unk) || Resets the IOSU || Nothing
| 0x7E || void ios_reset(int unk) || Resets the IOSU || Nothing
Line 336:
Line 336:
| 0x7F || void ios_panic(char *panic_desc, u32 panic_desc_size) || Issues a system panic (with optional description string) || Nothing
| 0x7F || void ios_panic(char *panic_desc, u32 panic_desc_size) || Issues a system panic (with optional description string) || Nothing
|-
|-
−
| 0x80 || || ||
+
| 0x80 || void ios_shutdown() || Issues a shutdown request || 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
| 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
Line 344:
Line 344:
| 0x83 || int load_ppc_kernel(u32 address, u32 size) || Maps the PPC kernel image memory:<br>address == 0x08000000<br>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:<br>mem_id == 0x02<br>unk1 == 0x00<br>unk2 == 0x00<br>size == 0xA8000000<br>address == 0x28000000 || 0 on success
+
| 0x84 || int load_ppc_app(int mem_id, u32 addr1, u32 size1, u32 addr2, u32 size2) || Maps the PPC user application memory:<br>mem_id == 0x02<br>addr1 == 0x00<br>size1 == 0x00<br>addr2 == 0xA8000000<br>size2 == 0x28000000 || 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
| 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
Line 372:
Line 372:
| 0x91 || int get_pending_resource_requests(???) || || 0 on success
| 0x91 || int get_pending_resource_requests(???) || || 0 on success
|-
|-
−
| 0x92 || || ||
+
| 0x92 || int load_cafe2wii() || Maps the cafe2wii image memory || 0 on success
|-
|-
| 0x93 || void exi_reset() || Resets the EXI for the PPC side || Nothing
| 0x93 || void exi_reset() || Resets the EXI for the PPC side || Nothing