HIPC: Difference between revisions
No edit summary |
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 || | | 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. | ||
|- | |- | ||
| ... || || 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 | 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 | ||
|- | |- | ||
| ... || | | ... || Padding to align to 16 | ||
|- | |||
| ... || Domain header padded to 16 if required | |||
|- | |||
| +0 || Magic ("SFCI" for requests, "SFCO" for responses) as u64 | |||
|- | |- | ||
| + | | +2 || Cmd id as u64 | ||
|- | |- | ||
| | | ... || Input parameters | ||
|- | |- | ||
| ... || | | ... || Any u16 buffer sizes packed and aligned to 2 bytes | ||
|} | |} | ||
Line 186: | Line 190: | ||
== Control == | == Control == | ||
When type == 5 you are talking to | When type == 5 you are talking to the IPC manager. | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" |