]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: PPC: Book3S HV: Make radix handle process scoped LPID flush in C, with relocation on
authorNicholas Piggin <npiggin@gmail.com>
Thu, 17 May 2018 07:06:29 +0000 (17:06 +1000)
committerPaul Mackerras <paulus@ozlabs.org>
Fri, 18 May 2018 05:38:23 +0000 (15:38 +1000)
commit34bc9053981b3fbf713e61e12874dba6262a17d6
treeb0fd551f5c1eb0389777a1c7a4ce39515d84a43a
parent094e732626c019679ba866dc351cd43bf961f453
KVM: PPC: Book3S HV: Make radix handle process scoped LPID flush in C, with relocation on

The radix guest code can has fewer restrictions about what context it
can run in, so move this flushing out of assembly and have it use the
Linux TLB flush implementations introduced previously.

This allows powerpc:tlbie trace events to be used.

This changes the tlbiel sequence to only execute RIC=2 flush once on
the first set flushed, then RIC=0 for the rest of the sets. The end
result of the flush should be unchanged. This matches the local PID
flush pattern that was introduced in 0ed6cda831 ("powerpc/mm/radix:
Optimise tlbiel flush all case").

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
arch/powerpc/kvm/book3s_hv.c
arch/powerpc/kvm/book3s_hv_rmhandlers.S