Skip to content
  • James Hogan's avatar
    metag: Memory management · f5df8e26
    James Hogan authored
    
    
    Add memory management files for metag.
    
    Meta's 32bit virtual address space is split into two halves:
     - local (0x08000000-0x7fffffff): traditionally local to a hardware
       thread and incoherent between hardware threads. Each hardware thread
       has it's own local MMU table. On Meta2 the local space can be
       globally coherent (GCOn) if the cache partitions coincide.
     - global (0x88000000-0xffff0000): coherent and traditionally global
       between hardware threads. On Meta2, each hardware thread has it's own
       global MMU table.
    
    The low 128MiB of each half is non-MMUable and maps directly to the
    physical address space:
     - 0x00010000-0x07ffffff: contains Meta core registers and maps SoC bus
     - 0x80000000-0x87ffffff: contains low latency global core memories
    
    Linux usually further splits the local virtual address space like this:
     - 0x08000000-0x3fffffff: user mappings
     - 0x40000000-0x7fffffff: kernel mappings
    
    Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
    f5df8e26