platform: generic: thead: improve tlb flush errata

Flushing the tlb entries can solve the thead tlb problem, but flushing
it by address will miss something and lead to a exception in some rare
cases, and this is more common for sg2042.

To solve this problem, flush the tlb entries by asid in the custom trap
handler to ensure it is refreshed.

Signed-off-by: Inochi Amaoto <inochiama@outlook.com>
Reviewed-by: Guo Ren <guoren@kernel.org>
Reviewed-by: Anup Patel <anup@brainfault.org>
This commit is contained in:
Inochi Amaoto 2023-10-12 09:54:18 +08:00 committed by Anup Patel
parent a140a4e862
commit 88ae718d36

View file

@ -9,5 +9,5 @@
.align 3
.globl _thead_tlb_flush_fixup_trap_handler
_thead_tlb_flush_fixup_trap_handler:
sfence.vma t0, zero
sfence.vma zero, t0
j _trap_handler