I’ve been busy digging into the PS3 lately, I decided it’s finally time to see what secrets can be extracted from it. During my investigations I found that level-1 syscalls, a.k.a. hypercalls, are not handled by IDA so I decided to add support for it to the existing PPC Altivec plugin. Get the updated plugins here and copy them to your “IDA\plugins” directory to install them.
For those who don’t know, level-1 syscalls are used to call hypervisor functions. On a PS3 the hypervisor is known as as “lv1” (level1) since it is the lowest level that runs directly on top of the hardware. The operating system is executed on top of this and is known as “lv2” (level2). The two common operating systems are GameOS which PS3 games run on, and OtherOS which is usually used to run linux. Since both OSes run on top of the same lv1 hypervisor, they use the same set of hypercalls which has been partially documented here.