Difference between revisions of "IPC Marshalling"
From Nintendo Switch Brew
(Created page with "== Marshall Portion == This is an array of u32's. {| class="wikitable" border="1" |- ! Word || Description |- | 0 || Cmd header part 1 |- | 1 || Cmd header part 2 |- | ... ||...") |
|||
| Line 11: | Line 11: | ||
|- | |- | ||
| ... || Marshall descriptors | | ... || Marshall descriptors | ||
| + | |} | ||
| + | |||
| + | === Marshall type A === | ||
| + | {| class="wikitable" border="1" | ||
| + | |- | ||
| + | ! Word || Description | ||
| + | |- | ||
| + | | 0 || Word1 is written here. | ||
| + | |- | ||
| + | | 1 || Word0 is written here. | ||
| + | |- | ||
| + | | 2 || Weird mix.|} | ||
| + | |||
| + | === Marshall type B === | ||
| + | {| class="wikitable" border="1" | ||
| + | |- | ||
| + | ! Word || Description | ||
| + | |- | ||
| + | | 0 || Lower 32-bits of addr? | ||
| + | |- | ||
| + | | 1 || Upper 16bits: Size, Lower 16bits: Rest of addr? | ||
| + | |} | ||
| + | |||
| + | === Marshall type C === | ||
| + | {| class="wikitable" border="1" | ||
| + | |- | ||
| + | ! Word || Description | ||
| + | |- | ||
| + | | 0 || Upper 16bits: Size, Lower 16: ? | ||
| + | |- | ||
| + | | 1 || ? | ||
|} | |} | ||
Revision as of 08:31, 13 April 2017
Contents
Marshall Portion
This is an array of u32's.
| Word | Description |
|---|---|
| 0 | Cmd header part 1 |
| 1 | Cmd header part 2 |
| ... | Marshall descriptors |
Marshall type A
| Word | Description | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | Word1 is written here. | ||||||||||||||||||||
| 1 | Word0 is written here. | ||||||||||||||||||||
| 2 | }
Marshall type B
Marshall type C
Data PortionThis is an array of u64's placed after the marshall header. But it's always aligned to 8 so sometimes there is a padding word inserted inbetween.
|