From 827f3c207094a14e45b3e3db07aeb0cfb3767ca4 Mon Sep 17 00:00:00 2001 From: Heiko Carstens Date: Mon, 25 Mar 2013 17:22:50 +0100 Subject: [PATCH] --- yaml --- r: 373011 b: refs/heads/master c: ace5058763b72d128efcbe27969e89226c9c593a h: refs/heads/master i: 373009: d486c478011c7cce3fc289acc4cb425db387fe29 373007: 0a9a8385688d89b0bd4969ff10eead766db20a21 v: v3 --- [refs] | 2 +- trunk/arch/s390/kvm/priv.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 66d68150a29a..ec7d01779487 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d21683ea1f1b03823928a98b6380332b9385e3a7 +refs/heads/master: ace5058763b72d128efcbe27969e89226c9c593a diff --git a/trunk/arch/s390/kvm/priv.c b/trunk/arch/s390/kvm/priv.c index 7b397b37d11a..844a2b986112 100644 --- a/trunk/arch/s390/kvm/priv.c +++ b/trunk/arch/s390/kvm/priv.c @@ -286,7 +286,8 @@ int kvm_s390_handle_lpsw(struct kvm_vcpu *vcpu) vcpu->arch.sie_block->gpsw.mask = (new_psw.mask & ~PSW32_MASK_BASE) << 32; - vcpu->arch.sie_block->gpsw.addr = new_psw.addr; + vcpu->arch.sie_block->gpsw.mask |= new_psw.addr & PSW32_ADDR_AMODE; + vcpu->arch.sie_block->gpsw.addr = new_psw.addr & ~PSW32_ADDR_AMODE; if ((vcpu->arch.sie_block->gpsw.mask & PSW_MASK_UNASSIGNED) || (!(vcpu->arch.sie_block->gpsw.mask & PSW_MASK_ADDR_MODE) &&