In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Changes

Jump to navigation Jump to search
17 bytes added ,  04:25, 6 August 2015
m
→‎IPC: Just like on the Wii, the IPC buf must be cache-aligned
Line 7: Line 7:  
PowerPC code is able to call IOSU drivers through an IPC interface. It uses the same call interface as IOSU does internally. Userspace code submits IOSU requests with the IPCKDriver_SubmitRequest() syscall in the Cafe OS kernel. The kernel includes information to identify which Cafe OS process sent the request, allowing IOSU to check permissions on a per-app basis. Requests are contained in a struct, sent to a memory area, and marshalled by a special IOSU process that makes syscalls on behalf of the PowerPC.
 
PowerPC code is able to call IOSU drivers through an IPC interface. It uses the same call interface as IOSU does internally. Userspace code submits IOSU requests with the IPCKDriver_SubmitRequest() syscall in the Cafe OS kernel. The kernel includes information to identify which Cafe OS process sent the request, allowing IOSU to check permissions on a per-app basis. Requests are contained in a struct, sent to a memory area, and marshalled by a special IOSU process that makes syscalls on behalf of the PowerPC.
   −
  ipc struct size = 0x48
+
  ipc struct size = 0x48, aligned to 0x20
 
   
 
   
 
  0x00: cmd    // 1=open, 2=close, 3=read, 4=write, 5=seek, 6=ioctl, 7=ioctlv
 
  0x00: cmd    // 1=open, 2=close, 3=read, 4=write, 5=seek, 6=ioctl, 7=ioctlv
203

edits

Navigation menu