The current handling of the MVPG instruction when executed in a nested
guest is wrong, and can lead to the nested guest hanging.
This patchset fixes the behaviour to be more architecturally correct,
and fixes the hangs observed.
v4->v5
* split kvm_s390_logical_to_effective so it can be reused for vSIE
* fix existing comments and add some more comments
* use the new split _kvm_s390_logical_to_effective in vsie_handle_mvpg
v3->v4
* added PEI_ prefix to DAT_PROT and NOT_PTE macros
* added small comment to explain what they are about
v2->v3
* improved some comments
* improved some variable and parameter names for increased readability
* fixed missing handling of page faults in the MVPG handler
* small readability improvements
v1->v2
* complete rewrite
Claudio Imbrenda (3):
s390/kvm: split kvm_s390_logical_to_effective
s390/kvm: extend kvm_s390_shadow_fault to return entry pointer
s390/kvm: VSIE: correctly handle MVPG when in VSIE
arch/s390/kvm/gaccess.c | 30 ++++++++++--
arch/s390/kvm/gaccess.h | 35 ++++++++++---
arch/s390/kvm/vsie.c | 106 ++++++++++++++++++++++++++++++++++++----
3 files changed, 151 insertions(+), 20 deletions(-)