aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/s390/kvm/priv.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/s390/kvm/priv.c b/arch/s390/kvm/priv.c
index 7b397b37d11a..844a2b986112 100644
--- a/arch/s390/kvm/priv.c
+++ b/arch/s390/kvm/priv.c
@@ -286,7 +286,8 @@ int kvm_s390_handle_lpsw(struct kvm_vcpu *vcpu)
286 286
287 vcpu->arch.sie_block->gpsw.mask = 287 vcpu->arch.sie_block->gpsw.mask =
288 (new_psw.mask & ~PSW32_MASK_BASE) << 32; 288 (new_psw.mask & ~PSW32_MASK_BASE) << 32;
289 vcpu->arch.sie_block->gpsw.addr = new_psw.addr; 289 vcpu->arch.sie_block->gpsw.mask |= new_psw.addr & PSW32_ADDR_AMODE;
290 vcpu->arch.sie_block->gpsw.addr = new_psw.addr & ~PSW32_ADDR_AMODE;
290 291
291 if ((vcpu->arch.sie_block->gpsw.mask & PSW_MASK_UNASSIGNED) || 292 if ((vcpu->arch.sie_block->gpsw.mask & PSW_MASK_UNASSIGNED) ||
292 (!(vcpu->arch.sie_block->gpsw.mask & PSW_MASK_ADDR_MODE) && 293 (!(vcpu->arch.sie_block->gpsw.mask & PSW_MASK_ADDR_MODE) &&