MIPS Address Space Layout

From PSPWiki

The MIPS32 Architecture has three kernel-space segments and one user-space segment.

kuseg:

  • 2048 megabytes
  • Cacheable
  • user-mode and kernel-mode accessible
  • TLB translated (mapped)
    • 0x00000000 - 0x7FFFFFFF

kseg0:

  • 512 megabytes
  • Cacheable
  • Only kernel-mode accessible
  • TLB not used
  • Fixed translation window to physical memory
    • 0x80000000 - 0x9fffffff virtual =
    • 0x00000000 - 0x1fffffff physical

kseg1:

  • 512 megabytes
  • TLB not used
  • NOT cacheable
  • Only kernel-mode accessible
  • Fixed translation window to physical memory
    • 0xa0000000 - 0xbfffffff virtual =
    • 0x00000000 - 0x1fffffff physical

kseg2:

  • 1024 megabytes
  • TLB translated (mapped)
  • Cacheable
  • Only kernel-mode accessible
    • 0xC0000000 - 0xFFFFFFFF

(based on forum info from Vampire, thanks)