Line 94: |
Line 94: |
| |-style="border-top: double" | | |-style="border-top: double" |
| | style="background: green" | Yes | | | style="background: green" | Yes |
− | | ? | + | |? |
| | [[CONFIG Registers]] | | | [[CONFIG Registers]] |
| | 0x10010000 | | | 0x10010000 |
Line 101: |
Line 101: |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
− | | ? | + | |? |
| | [[CONFIG Registers]] | | | [[CONFIG Registers]] |
| | 0x10011000 | | | 0x10011000 |
Line 108: |
Line 108: |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
− | | ? | + | |? |
− | | ? | + | |? |
| | 0x10012000 | | | 0x10012000 |
| | Kernel9, NewKernel9Loader | | | Kernel9, NewKernel9Loader |
Line 115: |
Line 115: |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
− | | ? | + | |? |
− | | ? | + | |? |
| | 0x10018000 | | | 0x10018000 |
| | TwlProcess9 | | | TwlProcess9 |
Line 122: |
Line 122: |
| |-style="border-top: double" | | |-style="border-top: double" |
| | style="background: green" | Yes | | | style="background: green" | Yes |
− | | ? | + | |? |
− | | | + | |? |
| | 0x10100000 | | | 0x10100000 |
− | | | + | |? |
− | | | + | |? |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
Line 151: |
Line 151: |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | A11/A9 | | | A11/A9 |
− | | ? | + | |? |
| | 0x10110000 | | | 0x10110000 |
− | | | + | |? |
− | | | + | |? |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | A11/A9 | | | A11/A9 |
− | | ? | + | |? |
| | 0x10111000 | | | 0x10111000 |
| | TwlBg | | | TwlBg |
Line 179: |
Line 179: |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | A11/A9 | | | A11/A9 |
− | | ? | + | |? |
| | 0x10122000 | | | 0x10122000 |
| | [[NWM Services]] | | | [[NWM Services]] |
− | | WIFI ? | + | | WIFI? |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | A11/A9 | | | A11/A9 |
− | | ? | + | |? |
| | 0x10123000 | | | 0x10123000 |
| | [[NWM Services]] | | | [[NWM Services]] |
− | | WIFI ? | + | | WIFI? |
| |-style="border-top: double" | | |-style="border-top: double" |
| | style="background: red" | No | | | style="background: red" | No |
Line 333: |
Line 333: |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | A11/A9 | | | A11/A9 |
− | | | + | |? |
| | 0x10172000 | | | 0x10172000 |
| | | | | |
Line 340: |
Line 340: |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | A11/A9 | | | A11/A9 |
− | | | + | |? |
| | 0x10173000 | | | 0x10173000 |
| | | | | |
Line 356: |
Line 356: |
| | [[MP Registers]] | | | [[MP Registers]] |
| | 0x10175000 | | | 0x10175000 |
− | | | + | |? |
| | NTR WIFI RAM | | | NTR WIFI RAM |
| |- | | |- |
Line 363: |
Line 363: |
| | [[MP Registers]] | | | [[MP Registers]] |
| | 0x10176000 | | | 0x10176000 |
− | | | + | |? |
| | NTR WIFI Registers (mirror) | | | NTR WIFI Registers (mirror) |
| |- | | |- |
Line 370: |
Line 370: |
| | [[MP Registers]] | | | [[MP Registers]] |
| | 0x10177000 | | | 0x10177000 |
− | | | + | |? |
| | NTR WIFI Registers (mirror) | | | NTR WIFI Registers (mirror) |
| |- | | |- |
Line 380: |
Line 380: |
| | NTR WIFI WS1 Region | | | NTR WIFI WS1 Region |
| |-style="border-top: double" | | |-style="border-top: double" |
− | | style="background: orange" | ? | + | | style="background: orange" |? |
| | A11 | | | A11 |
| | CDMA | | | CDMA |
| | 0x10200000 | | | 0x10200000 |
| | Boot11, Kernel11 | | | Boot11, Kernel11 |
− | | On Old3DS this is [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0424d/index.html CoreLink™ DMA-330]. On New3DS it is unknown what this is. | + | | On old 3DS this is [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0424d/index.html CoreLink™ DMA-330]. On the New 3DS it is unknown what this is. |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
| | A11 | | | A11 |
− | | ? | + | |? |
| | 0x10202000 | | | 0x10202000 |
| | TwlBg, Kernel11, [[GSP Services]] | | | TwlBg, Kernel11, [[GSP Services]] |
Line 401: |
Line 401: |
| | | | | |
| |- | | |- |
− | | style="background: orange" | ? | + | | style="background: orange" |? |
| | A11 | | | A11 |
| | CDMA | | | CDMA |
| | 0x10206000 | | | 0x10206000 |
| | NewKernel11 | | | NewKernel11 |
− | | CDMA was moved here on New3DS. [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0424d/index.html CoreLink™ DMA-330]. | + | | CDMA was moved here on New 3DS. [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0424d/index.html CoreLink™ DMA-330]. |
| |- | | |- |
− | | style="background: orange" | ? | + | | style="background: orange" |? |
| | A11 | | | A11 |
| | [[MVD Registers]] | | | [[MVD Registers]] |
| | 0x10207000 | | | 0x10207000 |
| | [[MVD Services]] | | | [[MVD Services]] |
− | | New3DS only? | + | | New 3DS only? |
| |- | | |- |
| | style="background: green" | Yes | | | style="background: green" | Yes |
Line 427: |
Line 427: |
| | 0x10300000-0x10400000 | | | 0x10300000-0x10400000 |
| | | | | |
− | | Mirror of 0x10100000-0x10200000 (faster bus?), CDMA wants these addr's | + | | Mirror of 0x10100000-0x10200000 (faster bus?), CDMA wants these addresses |
| |-style="border-top: double" | | |-style="border-top: double" |
| | style="background: green" | Yes | | | style="background: green" | Yes |
Line 444: |
Line 444: |
| |} | | |} |
| | | |
− | IO registers starting at physical address 0x10200000 are not accessible from the ARM9(which includes all LCD/GPU registers). | + | IO registers starting at physical address 0x10200000 are not accessible from the ARM9 (which includes all LCD/GPU registers). |
| | | |
| ARM11 kernel virtual address mappings for these registers varies for different builds. For ARM11 user mode applications you have: | | ARM11 kernel virtual address mappings for these registers varies for different builds. For ARM11 user mode applications you have: |
Line 450: |
Line 450: |
| | | |
| =0x10012000= | | =0x10012000= |
− | Keys seem to be stored here? Access to this region is disabled once the ARM9 writes 0x2 to [[CONFIG|REG_SYSPROT9]]. Before writing that bit, the ARM9 copies the low u32 for the TWL keydata to +0x100(and high u32 keydata to +0x104 with New3DS). On devunits([[CONFIG|UNITINFO]]!=0) ARM9 uses the first 8-bytes from 0x10012000 for the TWL keydata. | + | Keys seem to be stored here? Access to this region is disabled once the ARM9 writes 0x2 to [[CONFIG|REG_SYSPROT9]]. Before writing that bit, the ARM9 copies the low u32 for the TWL keydata to +0x100 (and high u32 keydata to +0x104 with the New 3DS). On development units ([[CONFIG|UNITINFO]]!=0) ARM9 uses the first 8-bytes from 0x10012000 for the TWL keydata. |
| | | |
| Originally the above TWL keyinit + region disable was done by Kernel9. However, with the [[New_3DS]] FIRM ARM9 binary this is now done in the [[FIRM]] ARM9 binary loader, which also uses the 0x10012000 region for key generation. | | Originally the above TWL keyinit + region disable was done by Kernel9. However, with the [[New_3DS]] FIRM ARM9 binary this is now done in the [[FIRM]] ARM9 binary loader, which also uses the 0x10012000 region for key generation. |