]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc/mm: Remove kvm radix prefetch workaround for Power9 DD2.2
authorJordan Niethe <jniethe5@gmail.com>
Fri, 6 Dec 2019 03:17:22 +0000 (14:17 +1100)
committerMichael Ellerman <mpe@ellerman.id.au>
Sat, 25 Jan 2020 13:11:37 +0000 (00:11 +1100)
commit8f255f2b708fded90e3d94569645718f9268f75f
tree46b27cba94fa34092b40826832ad1a41189d1b22
parent1c977b6c62ee19536f497960980f3ef027073f99
powerpc/mm: Remove kvm radix prefetch workaround for Power9 DD2.2

Commit 43169b00ddde ("powerpc/mm/radix: Workaround prefetch issue with
KVM") introduced a number of workarounds as coming out of a guest with
the mmu enabled would make the cpu would start running in hypervisor
state with the PID value from the guest. The cpu will then start
prefetching for the hypervisor with that PID value.

In Power9 DD2.2 the cpu behaviour was modified to fix this. When
accessing Quadrant 0 in hypervisor mode with LPID != 0 prefetching will
not be performed. This means that we can get rid of the workarounds for
Power9 DD2.2 and later revisions. Add a new cpu feature
CPU_FTR_P9_RADIX_PREFETCH_BUG to indicate if the workarounds are needed.

Signed-off-by: Jordan Niethe <jniethe5@gmail.com>
Acked-by: Paul Mackerras <paulus@ozlabs.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20191206031722.25781-1-jniethe5@gmail.com
arch/powerpc/include/asm/cputable.h
arch/powerpc/kernel/dt_cpu_ftrs.c
arch/powerpc/kvm/book3s_hv_rmhandlers.S
arch/powerpc/mm/book3s64/radix_pgtable.c
arch/powerpc/mm/book3s64/radix_tlb.c