Skip to content

Mem Map Virtual

Paul Guyot edited this page Dec 7, 2014 · 17 revisions

Virtual Memory Map

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.