Changes

1,226 bytes added ,  21:58, 21 February 2024
no edit summary
Line 343: Line 343:  
| 0x10 || FlushFPUContext
 
| 0x10 || FlushFPUContext
 
|-
 
|-
| 0x11 || ReadRegister32Ex
+
| 0x11 || [[#ReadRegister32Ex|ReadRegister32Ex]]
 
|-
 
|-
| 0x12 || WriteRegister32Ex
+
| 0x12 || [[#WriteRegister32Ex|WriteRegister32Ex]]
 
|-
 
|-
 
| 0x13 ||  
 
| 0x13 ||  
Line 363: Line 363:  
| 0x1A-0x1F || BadFastCall (jump to error on purpose)
 
| 0x1A-0x1F || BadFastCall (jump to error on purpose)
 
|}
 
|}
 +
 +
=== ReadRegister32Ex ===
 +
Takes two u32s '''WhitelistIndex''' and '''RegisterIndex'''. Returns an u32 '''RegisterValue'''.
 +
 +
Reads a hardware register from the following whitelist:
 +
0                // Invalid
 +
0xFD020068      // 2 registers at 0x0D000068 (HW_I2CIOPINTEN to HW_I2CIOPINTSTS)
 +
0xFD0100C0      // 1 registers at 0x0D0000C0 (HW_GPIOPPCOUT)
 +
0xFD04021C      // 4 registers at 0x0D00021C
 +
0xFD040250      // 4 registers at 0x0D000250 (HW_I2CMCTRL to HW_I2CMDATARD)
 +
0xFD060520      // 6 registers at 0x0D000520 (LT_GPIOPPCOUT to LT_GPIOPPCINTEN)
 +
0xFD106400      // 16 registers at 0x0D006400
 +
0xFD046C00      // 4 registers at 0x0D006C00
 +
0xFD046E00      // 4 registers at 0x0D006E00
 +
0xFD0F6800      // 15 registers at 0x0D006800 (EXI0_CSR to EXI2_DATA)
 +
0                // Invalid
 +
0                // Invalid
 +
0                // Invalid
 +
0                // Invalid
 +
0                // Invalid
 +
0                // Invalid
 +
 +
=== WriteRegister32Ex ===
 +
Takes three u32s '''WhitelistIndex''', '''RegisterIndex''' and '''RegisterValue'''. No output.
 +
 +
Same as [[#ReadRegister32Ex|ReadRegister32Ex]], but for writing to a whitelisted hardware register instead.
    
== OSPlatformInfo ==
 
== OSPlatformInfo ==