mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-17 02:15:57 +00:00
ARM: 7489/1: errata: fix workaround for erratum #720789 on UP systems
Commit 5a783cbc4836 ("ARM: 7478/1: errata: extend workaround for erratum #720789") added workarounds for erratum #720789 to the range TLB invalidation functions with the observation that the erratum only affects SMP platforms. However, when running an SMP_ON_UP kernel on a uniprocessor platform we must take care to preserve the ASID as the workaround is not required. This patch ensures that we don't set the ASID to 0 when flushing the TLB on such a system, preserving the original behaviour with the workaround disabled. Cc: <stable@vger.kernel.org> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
f5f2025ef3
commit
730a8128cd
@ -38,10 +38,10 @@ ENTRY(v7wbi_flush_user_tlb_range)
|
|||||||
dsb
|
dsb
|
||||||
mov r0, r0, lsr #PAGE_SHIFT @ align address
|
mov r0, r0, lsr #PAGE_SHIFT @ align address
|
||||||
mov r1, r1, lsr #PAGE_SHIFT
|
mov r1, r1, lsr #PAGE_SHIFT
|
||||||
#ifdef CONFIG_ARM_ERRATA_720789
|
|
||||||
mov r3, #0
|
|
||||||
#else
|
|
||||||
asid r3, r3 @ mask ASID
|
asid r3, r3 @ mask ASID
|
||||||
|
#ifdef CONFIG_ARM_ERRATA_720789
|
||||||
|
ALT_SMP(W(mov) r3, #0 )
|
||||||
|
ALT_UP(W(nop) )
|
||||||
#endif
|
#endif
|
||||||
orr r0, r3, r0, lsl #PAGE_SHIFT @ Create initial MVA
|
orr r0, r3, r0, lsl #PAGE_SHIFT @ Create initial MVA
|
||||||
mov r1, r1, lsl #PAGE_SHIFT
|
mov r1, r1, lsl #PAGE_SHIFT
|
||||||
|
Loading…
x
Reference in New Issue
Block a user