|
|
Solaris 2.6 PPC Memory Map
Physical memory layout.
availmem +-----------------------+
: :
: page pool :
: :
|-----------------------|
| Page Table |
| (aligned to its size) |
PAGETABLE |-----------------------|
| |
| page pool |
| |
|-----------------------|
: :
| kadb, unix, etc. |
: :
|-----------------------|
| Ramdisk (temp) | (8-16 M)
0x00100000 |-----------------------|
| boot code/data/etc.| (~1M)
0x00009000 |-----------------------|
| boot stack | (8 K)
0x00007000 |-----------------------|
| msgbuf | (8 K)
0x00005000 |-----------------------|
| rtt, fast syscall | (4 K)
0x00004000 |-----------------------|
| Level-0 | (16 K)
| Interrupt handlers |
0x00000000 +-----------------------+
Virtual memory layout.
/-----------------------\
| INVALID |
0xFFF00000 |-----------------------|
| debugger | (1 M)
0xFFE00000 |-----------------------|- DEBUGSTART
: :
| Ramdisk | (15 M)
| (debugging only) |
: :
0xFEF00000 -|-----------------------|- RAMDISK
: :
| unused |
: :
|-----------------------|
| exec args area | NCARGS (1 M)
0xF3800000 -|-----------------------|- ARGSBASE
: :
| PCI/ISA I/O SPACE | (8 M)
: (non cacheable) :
0xF3000000 -|-----------------------|- PCIISA_VBASE
| segkmap | SEGMAPSIZE (16 M)
0xF2000000 -|-----------------------|
| |
: Page Table : MAXPTSIZE (32 M)
| (may be mapped by BAT)|
0xF0000000 -|-----------------------|- PAGE_TABLE
: :
| unused |
: :
0xEF000000 -|-----------------------|- SYSLIMIT
: :
| Sysmap | SYSPTSIZE (128 M)
: :
| |
0xE7003000 -|-----------------------|
| msgbuf | (8 K)
0xE7001000 -|-----------------------|- V_MSGBUF_ADDR
| not used (4k) |
0xE7000000 |-----------------------|- SYSBASE
: :
| unused |
: :
|-----------------------|- eecontig
| segkp |
|-----------------------|- econtig
| vm structures |
| (page structures |
| page hash |
| memseg structures) |
|-----------------------|- e_data
| kernel data |
| (data sections for |
| genunix, unix, rtld) |
0xE2000000 -|-----------------------|- s_data = (KERNELBASE + 32MB)
| text sections of |
| kernel dynamic |
| modules (managed by |
| lokmem_alloc()) |
|-----------------------|- e_text
| kernel text |
| (text sections for |
| genunix, unix, rtld) |
0xE0001000 -|-----------------------|- s_text
| user copy red zone | (4K)
| (invalid) |
0xE0000000 -|-----------------------|- KERNELBASE
| user stack |
: :
| dynamic segments |
: :
| user data |
|-----------------------|- (user data aligned for 64K)
| user text |
0x02000000 |-----------------------|
: :
| dynamic segments |
: :
0x00010000 -|-----------------------|
| not used |
0x00000000 _|_______________________|
|
|||||||