]> git.baikalelectronics.ru Git - kernel.git/commit
csky: Fix TLB maintenance synchronization problem
authorGuo Ren <guoren@linux.alibaba.com>
Thu, 24 Dec 2020 05:59:57 +0000 (05:59 +0000)
committerGuo Ren <guoren@linux.alibaba.com>
Tue, 12 Jan 2021 01:52:41 +0000 (09:52 +0800)
commit3672ece7b6c717e50a5729f6db8df6106d534489
treeaf6428140af2760616d577a0b1e515a45b58207c
parentc1a1c8bad022b7941af1ac513b6a1c80895daa88
csky: Fix TLB maintenance synchronization problem

TLB invalidate didn't contain a barrier operation in csky cpu and
we need to prevent previous PTW response after TLB invalidation
instruction. Of cause, the ASID changing also needs to take care
of the issue.

CPU0                    CPU1
===============         ===============
set_pte
sync_is()        ->     See the previous set_pte for all harts
tlbi.vas         ->     Invalidate all harts TLB entry & flush pipeline

Signed-off-by: Guo Ren <guoren@linux.alibaba.com>
arch/csky/abiv1/inc/abi/ckmmu.h
arch/csky/abiv2/inc/abi/ckmmu.h
arch/csky/include/asm/mmu_context.h
arch/csky/mm/init.c
arch/csky/mm/tlb.c