]> git.baikalelectronics.ru Git - kernel.git/commit
MIPS: malta: Configure Segment Control registers for EVA boot
authorMarkos Chandras <markos.chandras@imgtec.com>
Wed, 15 Jan 2014 11:18:56 +0000 (11:18 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 26 Mar 2014 22:09:19 +0000 (23:09 +0100)
commitae3c484af4d8615f6d4bb152de375b18e084996e
tree53414da56fe27d369ecf1358af5cbacc966e5ea2
parent9a357b91ddb72d418c8fc25aa2af2c65afb28826
MIPS: malta: Configure Segment Control registers for EVA boot

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: Markos Chandras <markos.chandras@imgtec.com>
arch/mips/include/asm/mach-malta/kernel-entry-init.h
arch/mips/mti-malta/malta-setup.c