Changes

147 bytes added ,  10:31, 6 July 2017
Fix a few things
Line 15: Line 15:  
| 0 || 31-28 || Number of buf W desciptors (each: 3 words), never observed.
 
| 0 || 31-28 || Number of buf W desciptors (each: 3 words), never observed.
 
|-
 
|-
| 1 || 9-0 || Total word count (in u32's).
+
| 1 || 9-0 || Raw data size (in u32's).
 
|-
 
|-
 
| 1 || 13-10 || Flags for buf C descriptor.
 
| 1 || 13-10 || Flags for buf C descriptor.
Line 31: Line 31:  
| ... || || Type W descriptors, each one 3 words.
 
| ... || || Type W descriptors, each one 3 words.
 
|-
 
|-
| ... || || Padding
+
| ... || || Raw data (including any padding).
|-
  −
| ... || || Raw data
   
|-
 
|-
 
| ... || || Buf C descriptors, each one 2 words.
 
| ... || || Buf C descriptors, each one 2 words.
Line 49: Line 47:  
|-
 
|-
 
| 0 || 8-5 || Number of handles to move
 
| 0 || 8-5 || Number of handles to move
 +
|-
 +
| ... || || 8-byte PID if enabled
 
|-
 
|-
 
| ... || || Handles to copy
 
| ... || || Handles to copy
Line 113: Line 113:     
== Raw data portion ==
 
== Raw data portion ==
This is an array of u64's. It's always aligned to 16 so sometimes there is padding words before it.
+
This is an array of u32's, but individual parameters are generally stored as u64's.
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
! Word || Description
 
! Word || Description
 
|-
 
|-
| ... || Pid is written here if enabled.
+
| ... || Padding to align to 16
 +
|-
 +
| ... || Domain header padded to 16 if required
 +
|-
 +
| +0 || Magic ("SFCI" for requests, "SFCO" for responses) as u64
 
|-
 
|-
| +0 || Magic ("SFCI" for requests, "SFCO" for responses)
+
| +2 || Cmd id as u64
 
|-
 
|-
| +1 || Cmd id
+
| ... || Input parameters
 
|-
 
|-
| ... || Rest of raw data.
+
| ... || Any u16 buffer sizes packed and aligned to 2 bytes
 
|}
 
|}
   Line 186: Line 190:     
== Control ==
 
== Control ==
When type == 5 you are talking to kernel.
+
When type == 5 you are talking to the IPC manager.
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
44

edits