From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50551) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGTez-0002vC-47 for qemu-devel@nongnu.org; Wed, 28 Jan 2015 09:32:01 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YGTeq-0005Zn-14 for qemu-devel@nongnu.org; Wed, 28 Jan 2015 09:32:01 -0500 Received: from e06smtp15.uk.ibm.com ([195.75.94.111]:42631) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGTep-0005ZM-Nc for qemu-devel@nongnu.org; Wed, 28 Jan 2015 09:31:51 -0500 Received: from /spool/local by e06smtp15.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 28 Jan 2015 14:31:50 -0000 Received: from b06cxnps4074.portsmouth.uk.ibm.com (d06relay11.portsmouth.uk.ibm.com [9.149.109.196]) by d06dlp02.portsmouth.uk.ibm.com (Postfix) with ESMTP id D025C219005C for ; Wed, 28 Jan 2015 14:31:44 +0000 (GMT) Received: from d06av06.portsmouth.uk.ibm.com (d06av06.portsmouth.uk.ibm.com [9.149.37.217]) by b06cxnps4074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id t0SEVldf9175400 for ; Wed, 28 Jan 2015 14:31:47 GMT Received: from d06av06.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av06.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id t0S9Re7Y029274 for ; Wed, 28 Jan 2015 04:27:40 -0500 From: Cornelia Huck Date: Wed, 28 Jan 2015 15:31:35 +0100 Message-Id: <1422455498-889-7-git-send-email-cornelia.huck@de.ibm.com> In-Reply-To: <1422455498-889-1-git-send-email-cornelia.huck@de.ibm.com> References: <1422455498-889-1-git-send-email-cornelia.huck@de.ibm.com> Subject: [Qemu-devel] [PATCH 6/9] s390x/kvm: unknown DIAGNOSE code should give a specification exception List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Cornelia Huck , borntraeger@de.ibm.com, jfrei@linux.vnet.ibm.com, agraf@suse.de From: Christian Borntraeger As described in CP programming services an unimplemented DIAGNOSE function should return a specification exception. Today we give the guest an operation exception. As both exception types are suppressing and Linux as a guest does not care about the type of program check in its exception table handler as long as both types have the same kind of error handling (nullifying, terminating, suppressing etc.) this was unnoticed. Reviewed-by: Thomas Huth Signed-off-by: Christian Borntraeger Signed-off-by: Cornelia Huck --- target-s390x/kvm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target-s390x/kvm.c b/target-s390x/kvm.c index 6bf2719..6f2d5b4 100644 --- a/target-s390x/kvm.c +++ b/target-s390x/kvm.c @@ -1091,7 +1091,7 @@ static int handle_diag(S390CPU *cpu, struct kvm_run *run, uint32_t ipb) break; default: DPRINTF("KVM: unknown DIAG: 0x%x\n", func_code); - r = -1; + enter_pgmcheck(cpu, PGM_SPECIFICATION); break; } -- 1.7.9.5