aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/Kconfig
diff options
context:
space:
mode:
authorSteven J. Hill <Steven.Hill@imgtec.com>2015-02-26 19:16:38 -0500
committerRalf Baechle <ralf@linux-mips.org>2015-03-19 12:39:49 -0400
commitc5b367835cfc7a8ef53b9670a409ffcc95194344 (patch)
tree23a6be89021f93b09bb0f2340bc995c21bcab79b /arch/mips/Kconfig
parentbe0c37c985eddc46d0d67543898c086f60460e2e (diff)
MIPS: Add support for XPA.
Add support for extended physical addressing (XPA) so that 32-bit platforms can access equal to or greater than 40 bits of physical addresses. NOTE: 1) XPA and EVA are not the same and cannot be used simultaneously. 2) If you configure your kernel for XPA, the PTEs and all address sizes become 64-bit. 3) Your platform MUST have working HIGHMEM support. Signed-off-by: Steven J. Hill <Steven.Hill@imgtec.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/9355/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/Kconfig')
-rw-r--r--arch/mips/Kconfig35
1 files changed, 35 insertions, 0 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index c7a16904cd03..69a3b0fab926 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -377,6 +377,7 @@ config MIPS_MALTA
377 select SYS_HAS_CPU_MIPS32_R1 377 select SYS_HAS_CPU_MIPS32_R1
378 select SYS_HAS_CPU_MIPS32_R2 378 select SYS_HAS_CPU_MIPS32_R2
379 select SYS_HAS_CPU_MIPS32_R3_5 379 select SYS_HAS_CPU_MIPS32_R3_5
380 select SYS_HAS_CPU_MIPS32_R5
380 select SYS_HAS_CPU_MIPS32_R6 381 select SYS_HAS_CPU_MIPS32_R6
381 select SYS_HAS_CPU_MIPS64_R1 382 select SYS_HAS_CPU_MIPS64_R1
382 select SYS_HAS_CPU_MIPS64_R2 383 select SYS_HAS_CPU_MIPS64_R2
@@ -386,6 +387,7 @@ config MIPS_MALTA
386 select SYS_SUPPORTS_32BIT_KERNEL 387 select SYS_SUPPORTS_32BIT_KERNEL
387 select SYS_SUPPORTS_64BIT_KERNEL 388 select SYS_SUPPORTS_64BIT_KERNEL
388 select SYS_SUPPORTS_BIG_ENDIAN 389 select SYS_SUPPORTS_BIG_ENDIAN
390 select SYS_SUPPORTS_HIGHMEM
389 select SYS_SUPPORTS_LITTLE_ENDIAN 391 select SYS_SUPPORTS_LITTLE_ENDIAN
390 select SYS_SUPPORTS_MICROMIPS 392 select SYS_SUPPORTS_MICROMIPS
391 select SYS_SUPPORTS_MIPS_CMP 393 select SYS_SUPPORTS_MIPS_CMP
@@ -1596,6 +1598,33 @@ config CPU_MIPS32_3_5_EVA
1596 One of its primary benefits is an increase in the maximum size 1598 One of its primary benefits is an increase in the maximum size
1597 of lowmem (up to 3GB). If unsure, say 'N' here. 1599 of lowmem (up to 3GB). If unsure, say 'N' here.
1598 1600
1601config CPU_MIPS32_R5_FEATURES
1602 bool "MIPS32 Release 5 Features"
1603 depends on SYS_HAS_CPU_MIPS32_R5
1604 depends on CPU_MIPS32_R2
1605 help
1606 Choose this option to build a kernel for release 2 or later of the
1607 MIPS32 architecture including features from release 5 such as
1608 support for Extended Physical Addressing (XPA).
1609
1610config CPU_MIPS32_R5_XPA
1611 bool "Extended Physical Addressing (XPA)"
1612 depends on CPU_MIPS32_R5_FEATURES
1613 depends on !EVA
1614 depends on !PAGE_SIZE_4KB
1615 depends on SYS_SUPPORTS_HIGHMEM
1616 select XPA
1617 select HIGHMEM
1618 select ARCH_PHYS_ADDR_T_64BIT
1619 default n
1620 help
1621 Choose this option if you want to enable the Extended Physical
1622 Addressing (XPA) on your MIPS32 core (such as P5600 series). The
1623 benefit is to increase physical addressing equal to or greater
1624 than 40 bits. Note that this has the side effect of turning on
1625 64-bit addressing which in turn makes the PTEs 64-bit in size.
1626 If unsure, say 'N' here.
1627
1599if CPU_LOONGSON2F 1628if CPU_LOONGSON2F
1600config CPU_NOP_WORKAROUNDS 1629config CPU_NOP_WORKAROUNDS
1601 bool 1630 bool
@@ -1699,6 +1728,9 @@ config SYS_HAS_CPU_MIPS32_R2
1699config SYS_HAS_CPU_MIPS32_R3_5 1728config SYS_HAS_CPU_MIPS32_R3_5
1700 bool 1729 bool
1701 1730
1731config SYS_HAS_CPU_MIPS32_R5
1732 bool
1733
1702config SYS_HAS_CPU_MIPS32_R6 1734config SYS_HAS_CPU_MIPS32_R6
1703 bool 1735 bool
1704 1736
@@ -1836,6 +1868,9 @@ config CPU_MIPSR6
1836config EVA 1868config EVA
1837 bool 1869 bool
1838 1870
1871config XPA
1872 bool
1873
1839config SYS_SUPPORTS_32BIT_KERNEL 1874config SYS_SUPPORTS_32BIT_KERNEL
1840 bool 1875 bool
1841config SYS_SUPPORTS_64BIT_KERNEL 1876config SYS_SUPPORTS_64BIT_KERNEL