Difference between revisions of "Hardware/IPC"

From WiiBrew
Jump to navigation Jump to search
(New page: {{Infobox MMIO | partof = Hollywood Registers | arm = Full | ppc = Partial | base = 0x0d800000 | len = 0x10 | bits = 32 | ppcirq = 14 | armirq = 31 }} {{hw...)
 
(move nfoz)
Line 10: Line 10:
 
}}
 
}}
 
{{hwstub}}
 
{{hwstub}}
 +
{| border="1"
 +
! base      !! function !! offset !! description !! contents/example
 +
|-
 +
||0x0D800000||IPC|||| reg 0: request pointer || To make an IOS request, the physical address of an IOS command struct is written here by the Broadway.  Then, Broadway sets bit 0 of IPC reg 1 to indicate a request is ready.
 +
|-
 +
||0x0D800004||IPC|||| reg 1: semaphore flags || Broadway sets bits here as "doorbells" to indicate status; Starlet responds by setting flags here.
 +
|-
 +
||0x0D800008||IPC|||| reg 2: Reply pointer ||  When an IOS request has completed, IOS will modify the original command struct passed in IPC reg 0, copy that pointer to reg 2, then set reg 1 to 0x14 to indicate a reply is ready.
 +
|-
 +
|}

Revision as of 02:56, 26 February 2009

IPC
Hollywood Registers
Access
BroadwayPartial
StarletFull
Registers
Base0x0d800000
Length0x10
Access size32 bits
Byte orderBig Endian
IRQs
Broadway14
This box: view  talk  edit
base function offset description contents/example
0x0D800000 IPC reg 0: request pointer To make an IOS request, the physical address of an IOS command struct is written here by the Broadway. Then, Broadway sets bit 0 of IPC reg 1 to indicate a request is ready.
0x0D800004 IPC reg 1: semaphore flags Broadway sets bits here as "doorbells" to indicate status; Starlet responds by setting flags here.
0x0D800008 IPC reg 2: Reply pointer When an IOS request has completed, IOS will modify the original command struct passed in IPC reg 0, copy that pointer to reg 2, then set reg 1 to 0x14 to indicate a reply is ready.