KVM: s390: Take addressing mode into account for MVPG interception
authorThomas Huth <thuth@linux.vnet.ibm.com>
Wed, 7 Jan 2015 15:27:02 +0000 (16:27 +0100)
committerChristian Borntraeger <borntraeger@de.ibm.com>
Fri, 23 Jan 2015 12:25:38 +0000 (13:25 +0100)
commit3cfad02380f761af99770f22c327e5eedfad3934
treeb40e34867c56a40cb498df6e02e08dea9a47131d
parent69a8d456263849152826542c7cb0a164b90e68a8
KVM: s390: Take addressing mode into account for MVPG interception

The handler for MVPG partial execution interception does not take
the current CPU addressing mode into account yet, so addresses are
always treated as 64-bit addresses. For correct behaviour, we should
properly handle 24-bit and 31-bit addresses, too.

Since MVPG is defined to work with logical addresses, we can simply
use guest_translate_address() to achieve the required behaviour
(since DAT is disabled here, guest_translate_address() skips the MMU
translation and only translates the address via kvm_s390_logical_to_effective()
and kvm_s390_real_to_abs(), which is exactly what we want here).

Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com>
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
arch/s390/kvm/intercept.c