IOS

IOS is the operating system that runs on the Starlet coprocessor inside the Hollywood package. It provides the services that are used by Wii code to access most of the system devices.

IPC

Communication with IOS from PPC code is done using an IPC mechanism. There are 7 calls that can be made using this system:

  1. open
  2. close
  3. read
  4. write
  5. seek
  6. ioctl
  7. ioctlv

Most non-trivial operations are performed by opening one of the below resources, then calling ioctl or ioctlv on it.

/dev tree

Known resources in the /dev tree:

  • /dev/aes
  • /dev/boot2
  • /dev/di
  • /dev/es
  • /dev/flash
  • /dev/fs
  • /dev/listen
  • /dev/net/ip/bottom
  • /dev/net/ip/top
  • /dev/net/kd/request
  • /dev/net/kd/time
  • /dev/net/ncd/manage
  • /dev/net/ssl
  • /dev/net/usbeth/top
  • /dev/net/wd/command
  • /dev/net/wd/top
  • /dev/printserver
  • /dev/sdio
  • /dev/sdio/slot0
  • /dev/sdio/slot1
  • /dev/sha
  • /dev/stm/eventhook
  • /dev/stm/immediate
  • /dev/usb
  • /dev/usb/ehc
  • /dev/usb/kbd
  • /dev/usb/oh0
  • /dev/usb/oh1
  • /dev/wl0