• Markos Chandras's avatar
    MIPS: malta: Configure Segment Control registers for EVA boot · f8b7faf1
    Markos Chandras authored
    The Malta board aliases 0x80000000 - 0xffffffff to 0x00000000
    - 0x7fffffff ignoring the 256 MB IO hole in 0x10000000.
    The physical memory is shifted to 0x80000000 so up to 2GB
    can be used. Kuseg is expanded to 3GB (due to board limitations
    only 2GB can be accessed) and lowmem (kernel space) is expanded to 2GB.
    
    The Segment Control registers are programmed as follows:
    
    Virtual memory           Physical memory           Mapping
    0x00000000 - 0x7fffffff  0x80000000 - 0xfffffffff   MUSUK (kuseg)
    0x80000000 - 0x9fffffff  0x00000000 - 0x1ffffffff   MUSUK (kseg0)
    0xa0000000 - 0xbf000000  0x00000000 - 0x1ffffffff   MUSUK (kseg1)
    0xc0000000 - 0xdfffffff             -                 MK  (kseg2)
    0xe0000000 - 0xffffffff             -                 MK  (kseg3)
    
    The location of exception vectors remain the same since 0xbfc00000
    (traditional exception base) still maps to 0x1fc00000 physical.
    Signed-off-by: default avatarMarkos Chandras <markos.chandras@imgtec.com>
    f8b7faf1
malta-setup.c 7.63 KB