In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "Hardware/AHM controller"

From WiiUBrew
Jump to navigation Jump to search
m (Hallowizer2 moved page Hardware/XN Controller to Hardware/XN controller: sentence-case)
m (Hexkyz moved page Hardware/XN controller to Hardware/AHM controller: Correct name)
(No difference)

Revision as of 01:39, 27 November 2023

AHM controller
Access
EspressoNone
StarbuckFull
Registers
Base0x0d8b0800
Length0x800
Access size32 bits
Byte orderBig Endian
IRQs
Espresso???
Latte???
This box: view  talk  edit

Similarly to the memory controller block connected to the AHB, the Latte hardware implements a customized XN (eXecute Never) controller to compensate for the lack of XN bit support on the Starbuck (ARM926EJ-S).
This controller is named AHMN (AHB memory XN?) by the IOSU.

Register List

XN Controller
Address Bits Name Description
0x0d8b0800 32 AHMN_CFGMEM0 AHMN configuration for MEM0 protection
0x0d8b0804 32 AHMN_CFGMEM1 AHMN configuration for MEM1 protection
0x0d8b0808 32 AHMN_CFGMEM2 AHMN configuration for MEM2 protection
0x0d8b080c 32 AHMN_RDBIMSK AHMN read buffer invalidate mask
0x0d8b0820 32 AHMN_INTMSK AHMN interrupt mask
0x0d8b0824 32 AHMN_INTSTS AHMN interrupt status
0x0d8b0840 32 AHMN_UNK Unknown
0x0d8b0844 32 AHMN_UNK Unknown
0x0d8b0850 32 AHMN_TRFSTS AHMN read/write transfer status
0x0d8b0854 32 AHMN_WORKAROUND Unknown
0x0d8b0900...0x0d8b0980 32 AHMN_MEM0 Each register represents one block of MEM0 memory (block size depends on the AHMN configuration for MEM0)
0x0d8b0a00...0x0d8b0c00 32 AHMN_MEM1 Each register represents one block of MEM1 memory (block size depends on the AHMN configuration for MEM1)
0x0d8b0c00...0x0d8b1000 32 AHMN_MEM2 Each register represents one block of MEM2 memory (block size depends on the AHMN configuration for MEM2)

Register Details