Hardware Registers

From PSP Developer wiki
Revision as of 19:30, 20 January 2023 by Anonymous (Privacy policy) (fix table formatting)
Jump to navigation Jump to search

0xBC000000 - 0xBC100000

Physical Address Size R/W Description
0xBC000000 4 RW Memory Protection 0x08000000 -> 0x081FFFFFF
Bit(s) Usage
31 0x081C0000 -> 0x081FFFFFF Kernel Write Enable
30 0x081C0000 -> 0x081FFFFFF Kernel Read Enable
29 0x081C0000 -> 0x081FFFFFF User Write Enable
28 0x081C0000 -> 0x081FFFFFF User Read Enable
27 0x08180000 -> 0x081BFFFFF Kernel Write Enable
26 0x08180000 -> 0x081BFFFFF Kernel Read Enable
25 0x08180000 -> 0x081BFFFFF User Write Enable
24 0x08180000 -> 0x081BFFFFF User Read Enable
23 0x08140000 -> 0x0817FFFFF Kernel Write Enable
22 0x08140000 -> 0x0817FFFFF Kernel Read Enable
21 0x08140000 -> 0x0817FFFFF User Write Enable
20 0x08140000 -> 0x0817FFFFF User Read Enable
19 0x08100000 -> 0x0813FFFFF Kernel Write Enable
18 0x08100000 -> 0x0813FFFFF Kernel Read Enable
17 0x08100000 -> 0x0813FFFFF User Write Enable
16 0x08100000 -> 0x0813FFFFF User Read Enable
15 0x080C0000 -> 0x080FFFFFF Kernel Write Enable
14 0x080C0000 -> 0x080FFFFFF Kernel Read Enable
13 0x080C0000 -> 0x080FFFFFF User Write Enable
12 0x080C0000 -> 0x080FFFFFF User Read Enable
11 0x08080000 -> 0x080BFFFFF Kernel Write Enable
10 0x08080000 -> 0x080BFFFFF Kernel Read Enable
9 0x08080000 -> 0x080BFFFFF User Write Enable
8 0x08080000 -> 0x080BFFFFF User Read Enable
7 0x08040000 -> 0x0807FFFFF Kernel Write Enable
6 0x08040000 -> 0x0807FFFFF Kernel Read Enable
5 0x08040000 -> 0x0807FFFFF User Write Enable
4 0x08040000 -> 0x0807FFFFF User Read Enable
3 0x08000000 -> 0x08003FFFF Kernel Write Enable
2 0x08000000 -> 0x08003FFFF Kernel Read Enable
1 0x08000000 -> 0x08003FFFF User Write Enable
0 0x08000000 -> 0x08003FFFF User Read Enable
Physical Address Size R/W Description
0xBC000004 4 RW Memory Protection 0x08200000 -> 0x083FFFFFF
Bit(s) Usage
31 0x083C0000 -> 0x083FFFFFF Kernel Write Enable
30 0x083C0000 -> 0x083FFFFFF Kernel Read Enable
29 0x083C0000 -> 0x083FFFFFF User Write Enable
28 0x083C0000 -> 0x083FFFFFF User Read Enable
27 0x083C0000 -> 0x083BFFFFF Kernel Write Enable
26 0x083C0000 -> 0x083BFFFFF Kernel Read Enable
25 0x08380000 -> 0x083BFFFFF User Write Enable
24 0x08380000 -> 0x083BFFFFF User Read Enable
23 0x08340000 -> 0x0837FFFFF Kernel Write Enable
22 0x08340000 -> 0x0837FFFFF Kernel Read Enable
21 0x08340000 -> 0x0837FFFFF User Write Enable
20 0x08340000 -> 0x0837FFFFF User Read Enable
19 0x08300000 -> 0x0833FFFFF Kernel Write Enable
18 0x08300000 -> 0x0833FFFFF Kernel Read Enable
17 0x08300000 -> 0x0833FFFFF User Write Enable
16 0x08300000 -> 0x0833FFFFF User Read Enable
15 0x082C0000 -> 0x082FFFFFF Kernel Write Enable
14 0x082C0000 -> 0x082FFFFFF Kernel Read Enable
13 0x082C0000 -> 0x082FFFFFF User Write Enable
12 0x082C0000 -> 0x082FFFFFF User Read Enable
11 0x08280000 -> 0x082BFFFFF Kernel Write Enable
10 0x08280000 -> 0x082BFFFFF Kernel Read Enable
9 0x08280000 -> 0x082BFFFFF User Write Enable
8 0x08280000 -> 0x082BFFFFF User Read Enable
7 0x08240000 -> 0x0827FFFFF Kernel Write Enable
6 0x08240000 -> 0x0827FFFFF Kernel Read Enable
5 0x08240000 -> 0x0827FFFFF User Write Enable
4 0x08240000 -> 0x0827FFFFF User Read Enable
3 0x08200000 -> 0x08203FFFF Kernel Write Enable
2 0x08200000 -> 0x08203FFFF Kernel Read Enable
1 0x08200000 -> 0x08203FFFF User Write Enable
0 0x08200000 -> 0x08203FFFF User Read Enable
Physical Address Size R/W Description
0xBC000008 4 RW Memory Protection 0x08400000 -> 0x085FFFFFF
Bit(s) Usage
31 0x085c0000 -> 0x085FFFFFF Kernel Write Enable
30 0x085c0000 -> 0x085FFFFFF Kernel Read Enable
29 0x085c0000 -> 0x085FFFFFF User Write Enable
28 0x085c0000 -> 0x085FFFFFF User Read Enable
27 0x08580000 -> 0x085BFFFFF Kernel Write Enable
26 0x08580000 -> 0x085BFFFFF Kernel Read Enable
25 0x08580000 -> 0x085BFFFFF User Write Enable
24 0x08580000 -> 0x085BFFFFF User Read Enable
23 0x08540000 -> 0x0857FFFFF Kernel Write Enable
22 0x08540000 -> 0x0857FFFFF Kernel Read Enable
21 0x08540000 -> 0x0857FFFFF User Write Enable
20 0x08540000 -> 0x0857FFFFF User Read Enable
19 0x08500000 -> 0x0853FFFFF Kernel Write Enable
18 0x08500000 -> 0x0853FFFFF Kernel Read Enable
17 0x08500000 -> 0x0853FFFFF User Write Enable
16 0x08500000 -> 0x0853FFFFF User Read Enable
15 0x084c0000 -> 0x084FFFFFF Kernel Write Enable
14 0x084c0000 -> 0x084FFFFFF Kernel Read Enable
13 0x084c0000 -> 0x084FFFFFF User Write Enable
12 0x084c0000 -> 0x084FFFFFF User Read Enable
11 0x08480000 -> 0x084BFFFFF Kernel Write Enable
10 0x08480000 -> 0x084BFFFFF Kernel Read Enable
9 0x08480000 -> 0x084BFFFFF User Write Enable
8 0x08480000 -> 0x084BFFFFF User Read Enable
7 0x08440000 -> 0x0847FFFFF Kernel Write Enable
6 0x08440000 -> 0x0847FFFFF Kernel Read Enable
5 0x08440000 -> 0x0847FFFFF User Write Enable
4 0x08440000 -> 0x0847FFFFF User Read Enable
3 0x08400000 -> 0x08403FFFF Kernel Write Enable
2 0x08400000 -> 0x08403FFFF Kernel Read Enable
1 0x08400000 -> 0x08403FFFF User Write Enable
0 0x08400000 -> 0x08403FFFF User Read Enable
Physical Address Size R/W Description
0xBC00000C 4 RW Memory Protection 0x08600000 -> 0x087FFFFFF
Bit(s) Usage
31 0x087c0000 -> 0x087FFFFFF Kernel Write Enable
30 0x087c0000 -> 0x087FFFFFF Kernel Read Enable
29 0x087c0000 -> 0x087FFFFFF User Write Enable
28 0x087c0000 -> 0x087FFFFFF User Read Enable
27 0x08780000 -> 0x087BFFFFF Kernel Write Enable
26 0x08780000 -> 0x087BFFFFF Kernel Read Enable
25 0x08780000 -> 0x087BFFFFF User Write Enable
24 0x08780000 -> 0x087BFFFFF User Read Enable
23 0x08740000 -> 0x0877FFFFF Kernel Write Enable
22 0x08740000 -> 0x0877FFFFF Kernel Read Enable
21 0x08740000 -> 0x0877FFFFF User Write Enable
20 0x08740000 -> 0x0877FFFFF User Read Enable
19 0x08700000 -> 0x0873FFFFF Kernel Write Enable
18 0x08700000 -> 0x0873FFFFF Kernel Read Enable
17 0x08700000 -> 0x0873FFFFF User Write Enable
16 0x08700000 -> 0x0873FFFFF User Read Enable
15 0x086c0000 -> 0x086FFFFFF Kernel Write Enable
14 0x086c0000 -> 0x086FFFFFF Kernel Read Enable
13 0x086c0000 -> 0x086FFFFFF User Write Enable
12 0x086c0000 -> 0x086FFFFFF User Read Enable
11 0x08680000 -> 0x086BFFFFF Kernel Write Enable
10 0x08680000 -> 0x086BFFFFF Kernel Read Enable
9 0x08680000 -> 0x086BFFFFF User Write Enable
8 0x08680000 -> 0x086BFFFFF User Read Enable
7 0x08640000 -> 0x0867FFFFF Kernel Write Enable
6 0x08640000 -> 0x0867FFFFF Kernel Read Enable
5 0x08640000 -> 0x0867FFFFF User Write Enable
4 0x08640000 -> 0x0867FFFFF User Read Enable
3 0x08600000 -> 0x08603FFFF Kernel Write Enable
2 0x08600000 -> 0x08603FFFF Kernel Read Enable
1 0x08600000 -> 0x08603FFFF User Write Enable
0 0x08600000 -> 0x08603FFFF User Read Enable

Granularity that these work on is not known. For each 1 bit an IO range is exposed to usermode for Read/Write. To find the usermode address, subtract 0x60000000 from the kernelmode one.

Physical Address Size R/W Description
0xBC000030-0xBC00004C 32 RW IO Register Usermode Remap (Subtract 0x60000000)

0xBC600000 - 0xBC700000

Physical Address Size R/W Description