-
Notifications
You must be signed in to change notification settings - Fork 58
Mem Map Virtual
Paul Guyot edited this page Dec 7, 2014
·
17 revisions
see also: Memory Map
`00000000` | ROM at `00000000`, Domain 0 (unless patched!) |
`00800000` `00f00000` |
ROM Extension at `00800000`, Domain 0 |
... | |
`01800000` `0180ffff` |
at `00013000`, Domain 0 |
... | |
`01a00000` `01c1ffff` |
ROM Jump Tables at `00002000`, Domain 0, may get patched, sparse use |
... | |
`01d80000` `01d9ffff` |
Magic Pointer Table at `003af000`, Domain 0, may get patched, sparse use |
... | |
`01e00000` `01efffff` |
REx Jump Table at `007ee000`, Domain 0, may get patched, sparse use |
... | |
`03500000` `03cfffff` |
Mirror of ROM at `00000000`, rw/ro, Domain 0 |
... | |
`04000000` `040fffff` |
Mirror of ROM start at `00000000`, rw/ro, Domain 0 |
... | |
`05000000` `051fffff` |
Mirror of first half of Flash Bank 1 at `02000000`, rw/rw, Domain 0 |
... | |
`0c000000` `0c000fff` |
RAM, 1k rw/na blocks, Domain 0 |
`0c000400`: Kernel Stack, maps to `04004000` | |
... | |
`0c002000` `0c008fff` |
RAM, 1k rw/na blocks, Domain 0 |
`0c002c00`: IRQ Stack | |
`0c003400`: FIQ Stack | |
`0c004000`: svc Stack | |
`0c004c00`: Abort Stack | |
`0c006000`: Undef Stack | |
`0c007400`: User Stack | |
... | |
`0c100000` `0c125fff` |
RAM, rw/rw, Domain 2 |
`0c100000`: Kernel Domain Heap Base | |
`0c100800`: gKernelArea, Kernel Globals Base (end = 0c107e14), many symbols available here! | |
... | |
`0c200000` `0c205fff` |
RAM, rw/rw, Domain 3 |
... | |
`0c310000` `0c328fff` |
RAM, rw/rw, Domain 3, only 1k or 2k blocks |
... | |
`0c600000` `0c675fff` |
RAM, rw/rw, Domain 0 |
... | |
`0c984000` `0c984fff` |
RAM, rw/rw, Domain 0, 2k block |
... | |
`0ca6b000` `0ca8ffff` |
RAM, rw/rw, Domain 0 |
... | |
`0cc79000` `0ccedfff` |
RAM, rw/rw, Domain 0 |
... | |
`0cd58000` `0cdfefff` |
RAM, rw/rw, Domain 0 |
... | |
`0ce17000` `0ce17fff` |
RAM, rw/rw, Domain 0, 1k |
... | |
`0ce30000` `0ce30fff` |
RAM, rw/rw, Domain 0, 1k |
... | |
`0f000000` `2fffffff` |
hardware registers, maps to self, rw/rw, Domain 0 |
... | |
`30000000` | Flash Memory Bank 1 at `02000000`, rw/ro, Domain 0 |
`30400000` `30700000` |
Flash Memory Bank 2 at `10000000`, rw/ro, Domain 0 |
... | |
`34000000` | Flash Memory Bank 1 at `02000000`, rw/rw, Domain 0 |
`34400000` `34700000` |
Flash Memory Bank 2 at `10000000`, rw/rw, Domain 0 |
... | |
`60000000` | This area seems to be mapping Flash content into RAM (packages, large binaries, etc.) |
... | |
`9c000000` `9fffffff` |
maps to PCMCIA Control 0 at `3c000000`, rw/rw, Domain 1 |
... | |
`ac000000` `afffffff` |
maps to PCMCIA Control 1 at `4c000000`, rw/rw, Domain 1 |
End of MMU table. A physical device would have additional mappings for the virtual Screen Memory at e0000000
and maybe others. If a ROM patch was applied, many entries in this table would be quite different.