From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46716) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YIdEB-0001gb-OO for qemu-devel@nongnu.org; Tue, 03 Feb 2015 08:09:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YIdE4-0005V6-NM for qemu-devel@nongnu.org; Tue, 03 Feb 2015 08:09:15 -0500 Received: from e06smtp17.uk.ibm.com ([195.75.94.113]:55719) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YIdE4-0005Uk-DP for qemu-devel@nongnu.org; Tue, 03 Feb 2015 08:09:08 -0500 Received: from /spool/local by e06smtp17.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 3 Feb 2015 13:09:07 -0000 Received: from b06cxnps3075.portsmouth.uk.ibm.com (d06relay10.portsmouth.uk.ibm.com [9.149.109.195]) by d06dlp02.portsmouth.uk.ibm.com (Postfix) with ESMTP id 707DA2190063 for ; Tue, 3 Feb 2015 13:09:01 +0000 (GMT) Received: from d06av04.portsmouth.uk.ibm.com (d06av04.portsmouth.uk.ibm.com [9.149.37.216]) by b06cxnps3075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id t13D943w52297848 for ; Tue, 3 Feb 2015 13:09:04 GMT Received: from d06av04.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av04.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id t13D92Ij027673 for ; Tue, 3 Feb 2015 06:09:04 -0700 From: Cornelia Huck Date: Tue, 3 Feb 2015 14:08:45 +0100 Message-Id: <1422968928-9710-7-git-send-email-cornelia.huck@de.ibm.com> In-Reply-To: <1422968928-9710-1-git-send-email-cornelia.huck@de.ibm.com> References: <1422968928-9710-1-git-send-email-cornelia.huck@de.ibm.com> Subject: [Qemu-devel] [PULL 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: peter.maydell@linaro.org Cc: Cornelia Huck , borntraeger@de.ibm.com, jfrei@linux.vnet.ibm.com, qemu-devel@nongnu.org, 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