summaryrefslogtreecommitdiffstats
path: root/arch/csky/abiv1/inc
diff options
context:
space:
mode:
authorGuo Ren <ren_guo@c-sky.com>2019-06-18 20:33:32 +0800
committerGuo Ren <ren_guo@c-sky.com>2019-07-19 14:21:36 +0800
commit22d55f02b8922a097cd4be1e2f131dfa7ef65901 (patch)
treee8e0c0f8c5071343902090aa225fb92bd5747536 /arch/csky/abiv1/inc
parenta231b8839cd4259de1d37a78165739a4d5d08e72 (diff)
downloadlinux-stable-22d55f02b8922a097cd4be1e2f131dfa7ef65901.tar.gz
linux-stable-22d55f02b8922a097cd4be1e2f131dfa7ef65901.tar.bz2
linux-stable-22d55f02b8922a097cd4be1e2f131dfa7ef65901.zip
csky: Use generic asid algorithm to implement switch_mm
Use linux generic asid/vmid algorithm to implement csky switch_mm function. The algorithm is from arm and it could work with SMP system. It'll help reduce tlb flush for switch_mm in task/vm switch. Signed-off-by: Guo Ren <ren_guo@c-sky.com> Cc: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/csky/abiv1/inc')
-rw-r--r--arch/csky/abiv1/inc/abi/ckmmu.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/csky/abiv1/inc/abi/ckmmu.h b/arch/csky/abiv1/inc/abi/ckmmu.h
index 81f37715c0d2..ba8eb5870835 100644
--- a/arch/csky/abiv1/inc/abi/ckmmu.h
+++ b/arch/csky/abiv1/inc/abi/ckmmu.h
@@ -78,6 +78,12 @@ static inline void tlb_invalid_all(void)
cpwcr("cpcr8", 0x04000000);
}
+
+static inline void local_tlb_invalid_all(void)
+{
+ tlb_invalid_all();
+}
+
static inline void tlb_invalid_indexed(void)
{
cpwcr("cpcr8", 0x02000000);