]> 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)
commitfce87092ac91d6235306f9528ad358b987c9e7b4
treeaf6428140af2760616d577a0b1e515a45b58207c
parent274f8c293baf7aab5f03d6542888edf8fdbbb361
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