summaryrefslogtreecommitdiffstats
path: root/arch/s390
diff options
context:
space:
mode:
authorDavid Hildenbrand <dahi@linux.vnet.ibm.com>2016-07-18 09:18:13 +0200
committerChristian Borntraeger <borntraeger@de.ibm.com>2016-07-18 14:15:00 +0200
commit9acc317b183fdd3ed3bca218271875c0e808daae (patch)
tree09be280e5bd85517b176060e4cdb3b4fa5a34c3d /arch/s390
parentKVM: s390: allow user space to handle instr 0x0000 (diff)
downloadlinux-9acc317b183fdd3ed3bca218271875c0e808daae.tar.xz
linux-9acc317b183fdd3ed3bca218271875c0e808daae.zip
KVM: s390: let ptff intercepts result in cc=3
We don't emulate ptff subfunctions, therefore react on any attempt of execution by setting cc=3 (Requested function not available). Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/kvm/priv.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/s390/kvm/priv.c b/arch/s390/kvm/priv.c
index c77ad2dc334f..46160388e996 100644
--- a/arch/s390/kvm/priv.c
+++ b/arch/s390/kvm/priv.c
@@ -1185,7 +1185,15 @@ static int handle_sckpf(struct kvm_vcpu *vcpu)
return 0;
}
+static int handle_ptff(struct kvm_vcpu *vcpu)
+{
+ /* we don't emulate any control instructions yet */
+ kvm_s390_set_psw_cc(vcpu, 3);
+ return 0;
+}
+
static const intercept_handler_t x01_handlers[256] = {
+ [0x04] = handle_ptff,
[0x07] = handle_sckpf,
};