mirror of
https://github.com/Atmosphere-NX/Atmosphere.git
synced 2024-11-24 21:02:03 +00:00
104 lines
3.4 KiB
Text
104 lines
3.4 KiB
Text
|
exosphere, storage requirements:
|
||
|
|
||
|
Nonvolatile memory:
|
||
|
0xE000
|
||
|
|
||
|
Volatile memory: 0x2000
|
||
|
|
||
|
Physical Address Space:
|
||
|
-0x7C010000-0x7C012000 - boot code/volatile memory
|
||
|
-0x7C012000-0x7C01E000 - program region
|
||
|
-0x7C01E000-0x7C01F000 - global data/context
|
||
|
-0x7C01F000-0x7C020000 - L2/L3 page table
|
||
|
|
||
|
-0x7C020000-0x7C040000 - Mariko-only program region
|
||
|
-0x7C040000-0x7C048000 - Mariko-only program stack
|
||
|
-0x7C048000-0x7C050000 - Reserved Mariko TZRAM (SE context carveouts, etc)
|
||
|
|
||
|
Virtual Address Space:
|
||
|
|
||
|
L1: 0x40 bytes.
|
||
|
|
||
|
L1 Entries:
|
||
|
-0 (0x000000000-0x040000000): Empty
|
||
|
-1 (0x040000000-0x080000000): Identity Mapping/Empty
|
||
|
-2 (0x080000000-0x0C0000000): DRAM Mapping/Empty
|
||
|
-3 (0x0C0000000-0x100000000): DRAM Mapping/Empty
|
||
|
-4 (0x100000000-0x140000000): Empty
|
||
|
-5 (0x140000000-0x180000000): Empty
|
||
|
-6 (0x180000000-0x1C0000000): Empty
|
||
|
-7 (0x1C0000000-0x200000000): Virtual Region
|
||
|
|
||
|
L2 Page and L3 page are both0x7C01F000
|
||
|
|
||
|
L2 Entries:
|
||
|
-0x040000000 (Identity IRAM Table)
|
||
|
- Entry Used: 0x000
|
||
|
-0x07C000000 (Identity TZRAM Table)
|
||
|
- Entry Used: 0x1E0
|
||
|
-0x1F0000000 (Virtual Region Table)
|
||
|
- Entry Used: 0x180
|
||
|
|
||
|
L3 Entries:
|
||
|
- Identity TZRAM mapping (0x7C010000-0x7C020000)
|
||
|
- Entry Used: 0x010-0x01F
|
||
|
- Identity IRAM mapping (0x40020000-0x40040000)
|
||
|
- Entry Used: 0x020-0x03F
|
||
|
- Virtual Device region (0x1F0040000-0x1F0080000)
|
||
|
- Entry Used: 0x040-0x07F
|
||
|
- Read Only TZRAM Alias (0x1F00A0000-0x1F00B0000)
|
||
|
- Entry Used: 0x0A0-0x0AF
|
||
|
- Program region (0x1F00C0000-0x1F00CC000)
|
||
|
- Entry Used: 0x0C0-0x0CB
|
||
|
- Mariko Program region (0x1F00D0000-0x1F00F0000)
|
||
|
- Entry Used: 0x0D0-0x0EF
|
||
|
- Mariko Program stack (0x1F00F4000-0x1F00FC000)
|
||
|
- Entry Used: 0x0F4-0x0FB
|
||
|
- Secure DRAM Storage (0x1F0100000-0x1F0110000)
|
||
|
- Entry Used: 0x100-0x10F
|
||
|
- Debug DRAM Storage (0x1F0110000-0x1F0114000)
|
||
|
- Entry Used: 0x110-0x113
|
||
|
- SC7 IRAM Work Space (0x1F0120000-0x1F0130000)
|
||
|
- Entry Used: 0x120-0x12F
|
||
|
- SC7 IRAM Firmware (0x1F0140000-0x1F0141000)
|
||
|
- Entry Used: 0x140-0x140
|
||
|
- Debug Code (0x1F0150000-0x1F0154000)
|
||
|
- Entry Used: 0x150-0x153
|
||
|
- Reserved For Debug (0x1F0160000-0x1F0170000)
|
||
|
- Entry Used: 0x160-0x16F
|
||
|
- Boot Code (0x1F01C0000-0x1F01C2000)
|
||
|
- Entry Used: 0x1C0-0x1C1
|
||
|
- AMS IRAM Page (0x1F01F2000-0x1F01F2000)
|
||
|
- Entry Used: 0x1F2-0x1F2
|
||
|
- AMS User Page (0x1F01F4000-0x1F01F4000)
|
||
|
- Entry Used: 0x1F4-0x1F4
|
||
|
- SMC User Page (0x1F01F6000-0x1F01F6000)
|
||
|
- Entry Used: 0x1F6-0x1F6
|
||
|
- Volatile (Data) (0x1F01F8000-0x1F01F9000)
|
||
|
- Entry Used: 0x1F8-0x1F8
|
||
|
- Volatile (Stacks) (0x1F01FA000-0x1F01FB000)
|
||
|
- Entry Used: 0x1FA-0x1FA
|
||
|
- Global Data (0x1F01FC000-0x1F01FD000)
|
||
|
|
||
|
|
||
|
NV Global Data needs:
|
||
|
Exosphere + Emummc Config (<=0x200)
|
||
|
Boot Config[0x400]
|
||
|
RSA Context(0x100)
|
||
|
Old Device Keys[0x20][0x10];
|
||
|
Old Master Keys[0x20][0x10];
|
||
|
Imported Rsa Keys[4][0x200];
|
||
|
CPU Ctx[4][0x100];
|
||
|
|
||
|
Total: 0x1700
|
||
|
|
||
|
Global Data Page (accessible via X18):
|
||
|
0x000-0x200: Exosphere Config
|
||
|
0x200-0x400: Emummc Config
|
||
|
0x400-0x800: Sealed AES Keys
|
||
|
0x800-0xC00: Boot Config
|
||
|
0xC00-0xFFF: CPU contexts. Can be replaced, but this fits exactly so minimizes program space waste.
|
||
|
|
||
|
Volatile Global Data needs:
|
||
|
Random Cache 0x400 bytes
|