Changes

Jump to navigation Jump to search
204 bytes added ,  22:01, 13 April 2016
no edit summary
== Register List ==
The Latte IPC engine has two different register blocks: a global ARM block mapped at the same address as on compatible with the old Wiihardware (Wood), and a new SMP block for each split across the three Wii U's (Latte) PPC core to usecores. Each core's region of the SMP block has registers equivalent to the old global ARM block.
===Global ARM Compat block==={{reglist|Global ARM compat block}}{{rla|0x0d800000|32|LT_IPC_PPCMSGLT_IPC_PPCMSG_COMPAT|Espresso data registerfor vWii}}{{rla|0x0d800004|32|LT_IPC_PPCCTRLLT_IPC_PPCCTRL_COMPAT|Espresso flags and controlfor vWii}}{{rla|0x0d800008|32|LT_IPC_ARMMSGLT_IPC_ARMMSG_COMPAT|Starbuck data registerfor vWii}}{{rla|0x0d80000c|32|LT_IPC_ARMCTRLLT_IPC_ARMCTRL_COMPAT|Starbuck flags and controlfor vWii}}
|}
== Register Details ==
{{regsimple | LT_IPC_PPCMSG LT_IPC_PPCx_PPCMSG | addr = 0x0d800000 0x0d800400/0x0d800410/0x0d800420 | bits = 32 | access = R/W }}
This is a general purpose 32-bit register that can be freely read/written by both CPUs. It is usually set by the Espresso and read by the Starbuck, though this is not a requirement. In IOSU, this register contains a pointer to a [[IOSU#IPC|0x48-byte structure in memory]].
----
{{reg32 | LT_IPC_PPCCTRL LT_IPC_PPCx_PPCCTRL | addr = 0x0d800004 0x0d800404/0x0d800414/0x0d800424 | hifields = 1 | lofields = 7 |
|16|
|U|
===IOS usage===
{{regdesc
|X1|Execute command: a new pointer is available ''in LT_IPC_PPCCTRLLT_IPC_PPCx_PPCCTRL''
|Y2|Command acknowledge
|Y1|Command executed and reply available in ''LT_IPC_ARMMSGLT_IPC_PPCx_ARMMSG''
|X2|Relaunch
}}
----
{{regsimple | LT_IPC_ARMMSG LT_IPC_PPCx_ARMMSG | addr = 0x0d800008 0x0d800408/0x0d800418/0x0d800428 | bits = 32 | access = R/W }}
This is a general purpose 32-bit register that can be freely read/written by both CPUs. It is usually set by the Starbuck and read by the Espresso, though this is not a requirement.
----
{{reg32 | LT_IPC_ARMCTRL LT_IPC_PPCx_ARMCTRL | addr = 0x0d80000c 0x0d80040c/0x0d80041c/0x0d80042c | hifields = 1 | lofields = 7 |
|16|
|U|
28

edits

Navigation menu