KVM: s390: Do not set CC3 for EQBS and SQBS
authorThomas Huth <thuth@linux.vnet.ibm.com>
Wed, 9 Oct 2013 14:49:03 +0000 (16:49 +0200)
committerCornelia Huck <cornelia.huck@de.ibm.com>
Thu, 28 Nov 2013 10:08:12 +0000 (11:08 +0100)
The EQBS and SQBS instructions do not set CC3 for invalid channels, but
should throw an operation exception instead when not available. Thus they
should not be handled by the handle_io_inst() wrapper but drop to userspace
instead (which will then inject the operation exception).

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

index b18fe52c2c47d1e21a574ad3d72eac2d88d3f814..05537ab223824f3f88d163504dd9b56ee096416f 100644 (file)
@@ -638,7 +638,6 @@ static int handle_pfmf(struct kvm_vcpu *vcpu)
 
 static const intercept_handler_t b9_handlers[256] = {
        [0x8d] = handle_epsw,
-       [0x9c] = handle_io_inst,
        [0xaf] = handle_pfmf,
 };
 
@@ -731,7 +730,6 @@ static int handle_lctlg(struct kvm_vcpu *vcpu)
 
 static const intercept_handler_t eb_handlers[256] = {
        [0x2f] = handle_lctlg,
-       [0x8a] = handle_io_inst,
 };
 
 int kvm_s390_handle_eb(struct kvm_vcpu *vcpu)