RDRAM Interface: Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
(Fill in RI_ERROR and RI_BANK_STATUS) |
(More RI_ERROR research. Fix formatting errors.) |
||
Line 200: | Line 200: | ||
| U-? || U-? || U-? || U-? || U-? || R-? || R-? || R-? |
| U-? || U-? || U-? || U-? || U-? || R-? || R-? || R-? |
||
|- |
|- |
||
| — || — || — || — || — || |
| — || — || — || — || — || Over || Nack || Ack |
||
{{#invoke:Register table|foot}} |
{{#invoke:Register table|foot}} |
||
{{#invoke:Register table|definitions |
{{#invoke:Register table|definitions |
||
| 31-3 | Undefined | Undefined |
| 31-3 | Undefined | Undefined |
||
| 2 | |
| 2 | Over | OverRangeError. Set when reading any addresses in the range <code>0x0080 0000</code> to <code>0x03EF FFFF</code>, even when an RDRAM bank has been mapped there. |
||
| 1 | NAck | UnexpectedNAck. Set when RI sees an unexpected NAak (probably because bank status bits were wrong). |
|||
| 1 | Ack Error? | ? |
|||
| 0 | |
| 0 | Ack | MissingAck. Set when RI doesn't see an Ack (like when no RDRAM device was mapped to that address). <br> |
||
This bit is set sometime during IPL3 init, presumably due to probing memory size. |
|||
}} |
}} |
||
Line 232: | Line 233: | ||
{{#invoke:Register table|foot}} |
{{#invoke:Register table|foot}} |
||
{{#invoke:Register table|definitions |
{{#invoke:Register table|definitions |
||
| 31-16 | |
| 31-16 | Undefined | Undefined |
||
| 15-8 | BankDirtyBits | One per bank. Set when |
| 15-8 | BankDirtyBits[7:0] | One per bank. Set when the currently open row has been written. |
||
| 7-0 | BankValidBits | One per bank. Set when a |
| 7-0 | BankValidBits[7:0] | One per bank. Set when a row is opened. Presumably only cleared by a refresh cycle. |
||
}} |
}} |
||
Writing any value this register will clear any tracking bits. |
Writing any value this register will clear any tracking bits. This causes RI to become out-of-sync with RDRAM and will result in errors. |
||
= Memory addressing = |
= Memory addressing = |