SceSonyRegbus: Difference between revisions

From Vita Development Wiki
Jump to navigation Jump to search
(→‎Registers: add more regs)
m (Update page headers to use the proper level)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:


MMIO interface @ 0xE800'0000 (size 0x2000?)
== Registers ==


= Registers =
=== Location ===


All undocumented offsets are RAZ/WI. Default is to be understood as ''the value seen during observation''.
The <code>SceSonyRegbus</code> MMIO interface is located at physical address <code>0xE800'0000</code> (size <code>0x0100'0000</code>).


* 0x0000: Bits 0xF R/W
=== Description ===
* 0x0004: Bits 0xF R/W
 
* 0x0008: Bits 0xF R/W
Default is to be understood as ''the value seen during observation''.
* 0x000C: Bits 0xF R/W
 
* 0x0010: Bits 0xF R/W | Default: 0xA | Writing 0xF can cause crash in GPUES4 driver
Undocumented offsets are RAZ/WI but may still hold registers. Names in ''italic'' are guessed.
* 0x0014: Bit 0 R/W | Default: 0 | Writing 1 causes DABT in ARM
 
* 0x0100: Bit 0 R/W
{| class="wikitable"
* 0x0110: RO | Seen values: 0x26
|-
* 0x0114: RO? | Seen values: 0xE8001000, 0xE8002000
! Offset
* 0x0118: RO? | Seen values: 0x1, 0x2
! Name
* 0x011C: RO? | Seen values: 0x205
! Type
* 0x0134: RO? | Seen values: 0xDC04, 0xB781, 0xEEDA (usually same as +0x148 and +0x14C)
! Description
* 0x0140: RO? | Maybe error log (seen values => same as in 0x134)
|-
* 0x0150: Bits 0xFF R/W | Default: 0
| 0x0000
* 0x1100: Bit 0 R/W | Default: 0
| ?
* 0x1120: RO | Seen values: 0x2
| RW
* 0x1124: Bits 0x3 R/W | Default: 0
| Bits 0xF: Some kind of ACL (default value: 0x4)
* 0x1128: R/W
|-
| 0x0004
| ?
| RW
| Bits 0xF: Some kind of ACL (default value: 0x4)
|-
| 0x0008
| ?
| RW
| Bits 0xF: Some kind of ACL (default value: 0x4)
|-
| 0x000C
| ?
| RW
| Bits 0xF: Some kind of ACL (default value: 0x4)
|-
| 0x0010
| ?
| RW
| Bits 0xF: Some kind of ACL (default value: 0xA)<br />Writing 0xF can trigger DABT in <code>gpu_es4.skprx</code>
|-
| 0x0014
| ?
| RW
| Bit 0: ? (writing 1 hangs ARM)
|-
| 0x0100
| ?
| RW
| Bit 0: ? (maybe related to secure bus error?)
|-
| 0x0108
| style="font-style:italic;" | REGBUS_SECERRSTAT
| RO/WC?
| Bit 0: secure bus error occurred on Regbus
|-
| 0x0110
| REGBUS_SECERRID
| RO
| Secure bus error identifier
|-
| 0x0114
| REGBUS_SECERRADDR
| RO
| Secure bus error address
|-
| 0x0118
| REGBUS_SECERRATTR
| RO
| Secure bus error attributes
|-
| 0x011C
| REGBUS_SECERRINFO
| RO
| Secure bus error info
|-
| 0x0134
| ?
| RO
| ? (seen values: 0xDC04, 0xB781, 0xEEDA)
|-
| 0x0140
| ?
| RO
| 4 words. Values similar to +0x134.<br />Maybe some kind of error log.
|-
| 0x0150
| ?
| RW
| Bits 0xFF: ? (default value: 0)
|-
| 0x1100
| ?
| RO
| Bit 0: ? (maybe related to non-secure bus error?)
|-
| 0x1108
| style="font-style:italic;" | REGBUS_ERRSTAT
| RO/WC?
| Bit 0: non-secure bus error occurred on Regbus
|-
| 0x1110
| REGBUS_ERRID
| RO
| Non-secure bus error identifier
|-
| 0x1114
| REGBUS_ERRADDR
| RO
| Non-secure bus error address
|-
| 0x1118
| REGBUS_ERRATTR
| RO
| Non-secure bus error attributes
|-
| 0x111C
| REGBUS_ERRINFO
| RO
| Non-secure bus error info
|-
| 0x1120
| ?
| RO
| Polled by SMC 0x11F. Seen values: 0x2
|-
| 0x1124
| ?
| RW
| Bits 0x3: ? (default value: 0)
|-
| 0x1128
| ?
| RW
| ?
|-
| ''0x2000''
| colspan="3" style="text-align: center" | ''Accesses at offset 0x2000 or higher trigger an Address Space Hole bus error''
|}

Latest revision as of 18:45, 8 October 2024

Registers

Location

The SceSonyRegbus MMIO interface is located at physical address 0xE800'0000 (size 0x0100'0000).

Description

Default is to be understood as the value seen during observation.

Undocumented offsets are RAZ/WI but may still hold registers. Names in italic are guessed.

Offset Name Type Description
0x0000 ? RW Bits 0xF: Some kind of ACL (default value: 0x4)
0x0004 ? RW Bits 0xF: Some kind of ACL (default value: 0x4)
0x0008 ? RW Bits 0xF: Some kind of ACL (default value: 0x4)
0x000C ? RW Bits 0xF: Some kind of ACL (default value: 0x4)
0x0010 ? RW Bits 0xF: Some kind of ACL (default value: 0xA)
Writing 0xF can trigger DABT in gpu_es4.skprx
0x0014 ? RW Bit 0: ? (writing 1 hangs ARM)
0x0100 ? RW Bit 0: ? (maybe related to secure bus error?)
0x0108 REGBUS_SECERRSTAT RO/WC? Bit 0: secure bus error occurred on Regbus
0x0110 REGBUS_SECERRID RO Secure bus error identifier
0x0114 REGBUS_SECERRADDR RO Secure bus error address
0x0118 REGBUS_SECERRATTR RO Secure bus error attributes
0x011C REGBUS_SECERRINFO RO Secure bus error info
0x0134 ? RO ? (seen values: 0xDC04, 0xB781, 0xEEDA)
0x0140 ? RO 4 words. Values similar to +0x134.
Maybe some kind of error log.
0x0150 ? RW Bits 0xFF: ? (default value: 0)
0x1100 ? RO Bit 0: ? (maybe related to non-secure bus error?)
0x1108 REGBUS_ERRSTAT RO/WC? Bit 0: non-secure bus error occurred on Regbus
0x1110 REGBUS_ERRID RO Non-secure bus error identifier
0x1114 REGBUS_ERRADDR RO Non-secure bus error address
0x1118 REGBUS_ERRATTR RO Non-secure bus error attributes
0x111C REGBUS_ERRINFO RO Non-secure bus error info
0x1120 ? RO Polled by SMC 0x11F. Seen values: 0x2
0x1124 ? RW Bits 0x3: ? (default value: 0)
0x1128 ? RW ?
0x2000 Accesses at offset 0x2000 or higher trigger an Address Space Hole bus error