IOSU Syscalls

From WiiUBrew
Revision as of 01:48, 27 November 2012 by Crediar (talk | contribs) (Created page with "{{stub}} There are 2 types of syscalls: 1. Syscalls using undefined ARM instruction. 2. Syscalls using ARM syscall instruction. == Syscalls (via undefined instructions) == ...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

There are 2 types of syscalls:

1. Syscalls using undefined ARM instruction.

2. Syscalls using ARM syscall instruction.

Syscalls (via undefined instructions)

Syscalls are invoked by way of the invalid instruction handler; syscalls take the form 0xE7F000F0 | (syscall_num << 8). (E.g. E7F000F0 is syscall 0, E7F036F0 is syscall 0x36, etc.). IOS has 0x82 available syscalls.

(please feel free to contribute your own findings!)

ID # Internal name Description Return value
2D int device_open(const char* device, int mode) Similar to IOS_Open on PPC, except now internal to the IOS system Returns an fd or error (negative)