KVM: PPC: Book3S HV: Add a function to filter guest LPCR bits
authorNicholas Piggin <npiggin@gmail.com>
Mon, 12 Apr 2021 01:48:36 +0000 (11:48 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 12 Apr 2021 03:36:23 +0000 (13:36 +1000)
commit67145ef4960f55923b9e404c0b184944bfeded4d
treefc3f63a78daab7f3dc6508dfb003bcd14e09bb13
parenta19b70abc69aea8ea5974c57e1c3457d9df6aff2
KVM: PPC: Book3S HV: Add a function to filter guest LPCR bits

Guest LPCR depends on hardware type, and future changes will add
restrictions based on errata and guest MMU mode. Move this logic
to a common function and use it for the cases where the guest
wants to update its LPCR (or the LPCR of a nested guest).

This also adds a warning in other places that set or update LPCR
if we try to set something that would have been disallowed by
the filter, as a sanity check.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210412014845.1517916-4-npiggin@gmail.com
arch/powerpc/include/asm/kvm_book3s.h
arch/powerpc/kvm/book3s_hv.c
arch/powerpc/kvm/book3s_hv_nested.c