diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-12-02 15:56:17 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-12-02 15:56:17 -0800 |
commit | b7d626606201c397319b40721ca558b7e54040d5 (patch) | |
tree | 465c4004c514c3d47f4f7f60bed99cb19b8e5ec8 /arch/s390 | |
parent | e6d9f0fb5f9ceca5f4945f12cd3e71efd3382c13 (diff) | |
parent | 6c475352e87224a8f0b8cc6f6cc96b30563dc5b4 (diff) | |
download | blackbird-obmc-linux-b7d626606201c397319b40721ca558b7e54040d5.tar.gz blackbird-obmc-linux-b7d626606201c397319b40721ca558b7e54040d5.zip |
Merge branch 'kvm-updates/2.6.28' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm
* 'kvm-updates/2.6.28' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm:
KVM: MMU: avoid creation of unreachable pages in the shadow
KVM: ppc: stop leaking host memory on VM exit
KVM: MMU: fix sync of ptes addressed at owner pagetable
KVM: ia64: Fix: Use correct calling convention for PAL_VPS_RESUME_HANDLER
KVM: ia64: Fix incorrect kbuild CFLAGS override
KVM: VMX: Fix interrupt loss during race with NMI
KVM: s390: Fix problem state handling in guest sigp handler
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/kvm/sigp.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/s390/kvm/sigp.c b/arch/s390/kvm/sigp.c index 170392687ce0..2a01b9e02801 100644 --- a/arch/s390/kvm/sigp.c +++ b/arch/s390/kvm/sigp.c @@ -237,6 +237,11 @@ int kvm_s390_handle_sigp(struct kvm_vcpu *vcpu) u8 order_code; int rc; + /* sigp in userspace can exit */ + if (vcpu->arch.sie_block->gpsw.mask & PSW_MASK_PSTATE) + return kvm_s390_inject_program_int(vcpu, + PGM_PRIVILEGED_OPERATION); + order_code = disp2; if (base2) order_code += vcpu->arch.guest_gprs[base2]; |