summaryrefslogtreecommitdiffstats
path: root/arch/mips/Kconfig
diff options
context:
space:
mode:
authorPaul Burton2016-05-06 15:36:24 +0200
committerRalf Baechle2016-05-13 14:02:20 +0200
commit2db003a5ddee986d4bc67c069ee3aa1b1b320f1d (patch)
treecb96d86dd67b23b02a31669ec4c323c0b00f0be5 /arch/mips/Kconfig
parentMIPS: Retrieve ASID masks using function accepting struct cpuinfo_mips (diff)
downloadkernel-qcow2-linux-2db003a5ddee986d4bc67c069ee3aa1b1b320f1d.tar.gz
kernel-qcow2-linux-2db003a5ddee986d4bc67c069ee3aa1b1b320f1d.tar.xz
kernel-qcow2-linux-2db003a5ddee986d4bc67c069ee3aa1b1b320f1d.zip
MIPS: Support extended ASIDs
Add support for extended ASIDs as determined by the Config4.AE bit. Since the only supported CPUs known to implement this are Netlogic XLP and MIPS I6400, select this variable ASID support based upon CONFIG_CPU_XLP and CONFIG_CPU_MIPSR6. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: Jayachandran C. <jchandra@broadcom.com> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Radim Krčmář <rkrcmar@redhat.com> Cc: linux-mips@linux-mips.org Cc: kvm@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/13211/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/Kconfig')
-rw-r--r--arch/mips/Kconfig6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 0cab0da2ab55..5cc5b621ae69 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -1706,6 +1706,7 @@ config CPU_XLP
select CPU_HAS_PREFETCH
select CPU_MIPSR2
select CPU_SUPPORTS_HUGEPAGES
+ select MIPS_ASID_BITS_VARIABLE
help
Netlogic Microsystems XLP processors.
endchoice
@@ -2001,6 +2002,7 @@ config CPU_MIPSR6
bool
default y if CPU_MIPS32_R6 || CPU_MIPS64_R6
select HAVE_ARCH_BITREVERSE
+ select MIPS_ASID_BITS_VARIABLE
select MIPS_SPRAM
config EVA
@@ -2457,9 +2459,13 @@ config MIPS_ASID_SHIFT
config MIPS_ASID_BITS
int
+ default 0 if MIPS_ASID_BITS_VARIABLE
default 6 if CPU_R3000 || CPU_TX39XX
default 8
+config MIPS_ASID_BITS_VARIABLE
+ bool
+
#
# - Highmem only makes sense for the 32-bit kernel.
# - The current highmem code will only work properly on physically indexed