Difference between revisions of "Hardware/IPC"
< Hardware
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 03:56, 26 February 2009
IPC | |
Hollywood Registers | |
Access | |
---|---|
Broadway | Partial |
Starlet | Full |
Registers | |
Base | 0x0d800000 |
Length | 0x10 |
Access size | 32 bits |
Byte order | Big Endian |
IRQs | |
Broadway | 14 |
This Hardware-related article is a stub. You can help WiiBrew by expanding it. |
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. |