Architecture
2.6.2Direct segment mapping
The R3900 Processor Core includes a direct segment mapping MMU. The following virtual address spaces are available depending on the processor mode (Figure
(1) User mode
One 2 Gbyte virtual address space (kuseg) is available. Virtual addresses from 0x0000 0000 to 0x7FFF FFFF are translated to physical addresses 0x4000 0000 to 0xBFFF FFFF, respectively.
(2) Kernel mode
The kernel mode address space is treated as four virtual address segments. One of these is the same as the kuseg space in user mode; the remaining three are the kernel segments kseg0, kseg1 and kseg2.
(a) kuseg
This is the same as the virtual address space available in user mode. Address translation is also the same as in user mode. The upper 16 Mbytes of kuseg is reserved for
(b) kseg0
This is a 512 Mbyte segment spanning virtual addresses 0x8000 0000 to 0x9FFF
FFFF.Fixed mapping of this segment is made to physical addresses 0x0000 0000 to 0x1FFF FFFF, respectively. This area is cacheable.
(c)kseg1
This is a 512 Mbyte segment from virtual address 0xA000 0000 to 0xBFFF FFFF.
Fixed mapping of this segment is made to physical address 0x0000 0000 to 0x1FFF
FFFF, respectively. Unlike kseg0, this area is not cacheable.
(d) kseg2
This is a 1 Gbyte linear address space from virtual addresses 0xC000 0000 to 0xFFFF
FFFF.The upper 16 Mbytes of kseg2 are reserved for
21