Allocate an io segment.
result = lv1_allocate_io_segment( /*IN*/ ioas_id, segment_size, io_page_size, /*OUT*/ &ioif_addr );
| Inputs | |
|---|---|
| Register | Description |
| R3 | ioas_id - io address space id |
| R4 | segment_size - io segment size |
| R5 | io_page_size - io page size, 0xC, 0×10, 0×14 |
| Outputs | |
| Register | Description |
| R3 | Status - 0 = OK, Other values are unknown, but indicate failure. |
| R4 | ioif_addr - io interface address |
Notes:
Code taken from kboot-10\dl\linux-2.6.16\sound\powerpc\snd_ps3pf.c (kboot-20061208)
ret64 = lv1_allocate_io_segment(0, /* io space */
IO_SEGMENTSIZE, /* segment size */
IO_PAGESIZE_SHIFT, /* io page size */
&(ioif_map_info_array[current_segment].ioif_addr));