When porting the SDK commit 593bea4e36d8 ("MLK-16005-2 arm64: tlb: add
the SW workaround for i.MX8QM TKT340553"), we neglected to apply the
TKT340553 Errata workaround to the TLB non-range operations due
to the variance between the SDK and our kernel. We have observed random
page fault calltrace due to this. Fix it by applying the TKT340553
Errata workaround to the TLB non-range operations.Signed-off-by: Xiaolei Wang <[email protected]> --- arch/arm64/include/asm/tlbflush.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/arm64/include/asm/tlbflush.h b/arch/arm64/include/asm/tlbflush.h index 6218fa355149..a27a75fbe048 100644 --- a/arch/arm64/include/asm/tlbflush.h +++ b/arch/arm64/include/asm/tlbflush.h @@ -344,7 +344,9 @@ static inline void __flush_tlb_range(struct vm_area_struct *vma, if (!system_supports_tlb_range() || pages % 2 == 1) { addr = __TLBI_VADDR(start, asid); - if (last_level) { + if (TKT340553_SW_WORKAROUND) { + __tlbi(vmalle1is); + } else if (last_level) { __tlbi_level(vale1is, addr, tlb_level); __tlbi_user_level(vale1is, addr, tlb_level); } else { -- 2.25.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#9880): https://lists.yoctoproject.org/g/linux-yocto/message/9880 Mute This Topic: https://lists.yoctoproject.org/mt/82819195/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
