From patchwork Wed Oct 4 13:49:36 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pierre Morel X-Patchwork-Id: 9984761 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 8F82760237 for ; Wed, 4 Oct 2017 13:54:54 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 82CCA28633 for ; Wed, 4 Oct 2017 13:54:54 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 74F3A28AC1; Wed, 4 Oct 2017 13:54:54 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 2128028633 for ; Wed, 4 Oct 2017 13:54:54 +0000 (UTC) Received: from localhost ([::1]:35317 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dzk8T-0000o1-By for patchwork-qemu-devel@patchwork.kernel.org; Wed, 04 Oct 2017 09:54:53 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55456) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dzk3h-00067n-Se for qemu-devel@nongnu.org; Wed, 04 Oct 2017 09:49:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dzk3e-0003mg-0e for qemu-devel@nongnu.org; Wed, 04 Oct 2017 09:49:57 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:57088) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dzk3d-0003kw-CQ for qemu-devel@nongnu.org; Wed, 04 Oct 2017 09:49:53 -0400 Received: from pps.filterd (m0098409.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id v94Dn3bk059635 for ; Wed, 4 Oct 2017 09:49:47 -0400 Received: from e06smtp13.uk.ibm.com (e06smtp13.uk.ibm.com [195.75.94.109]) by mx0a-001b2d01.pphosted.com with ESMTP id 2dcufa2y2r-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Wed, 04 Oct 2017 09:49:47 -0400 Received: from localhost by e06smtp13.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 4 Oct 2017 14:49:45 +0100 Received: from b06cxnps4076.portsmouth.uk.ibm.com (9.149.109.198) by e06smtp13.uk.ibm.com (192.168.101.143) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Wed, 4 Oct 2017 14:49:43 +0100 Received: from d06av22.portsmouth.uk.ibm.com (d06av22.portsmouth.uk.ibm.com [9.149.105.58]) by b06cxnps4076.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id v94DnhtJ20709516; Wed, 4 Oct 2017 13:49:43 GMT Received: from d06av22.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 0C9D84C040; Wed, 4 Oct 2017 14:45:49 +0100 (BST) Received: from d06av22.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id BBA3A4C044; Wed, 4 Oct 2017 14:45:48 +0100 (BST) Received: from morel-ThinkPad-W530.boeblingen.de.ibm.com (unknown [9.145.179.43]) by d06av22.portsmouth.uk.ibm.com (Postfix) with ESMTP; Wed, 4 Oct 2017 14:45:48 +0100 (BST) From: Pierre Morel To: qemu-devel@nongnu.org Date: Wed, 4 Oct 2017 15:49:36 +0200 X-Mailer: git-send-email 2.7.4 In-Reply-To: <1507124979-8880-1-git-send-email-pmorel@linux.vnet.ibm.com> References: <1507124979-8880-1-git-send-email-pmorel@linux.vnet.ibm.com> X-TM-AS-GCONF: 00 x-cbid: 17100413-0012-0000-0000-0000057E63C8 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 17100413-0013-0000-0000-000018F7D2A3 Message-Id: <1507124979-8880-3-git-send-email-pmorel@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2017-10-04_06:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=1 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1707230000 definitions=main-1710040194 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] [fuzzy] X-Received-From: 148.163.156.1 Subject: [Qemu-devel] [PATCH v1 2/5] s390x/css: Use AIS AIRQ injection only if adapter support AIS X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: borntraeger@de.ibm.com, pasic@linux.vnet.ibm.com, cohuck@redhat.com, zyimin@linux.vnet.ibm.com, agraf@suse.de Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP Testing to use Adapter Interrupt suppression or not depend on AIS being enabled in the kernel. To implement AIS emulation we must move this test inside the FLIC dedicated irq_inject function. Furthermore, a test to verify that the adapter is subject to the AIS must be added. Last, there is no need to crash QEMU if the injection failed, the guest may recover from it. Signed-off-by: Pierre Morel --- hw/s390x/css.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hw/s390x/css.c b/hw/s390x/css.c index 901dc6a..6e74a5c 100644 --- a/hw/s390x/css.c +++ b/hw/s390x/css.c @@ -672,10 +672,12 @@ void css_adapter_interrupt(CssIoAdapterType type, uint8_t isc) } trace_css_adapter_interrupt(isc); - if (fs->ais_supported) { + /* Use standard IRQ injection for adapters not supporting AIS */ + if (adapter->flags & S390_ADAPTER_SUPPRESSIBLE) { + /* Use AIRQ injection for adapters subject to AIS */ if (fsc->inject_airq(fs, type, isc, adapter->flags)) { error_report("Failed to inject airq with AIS supported"); - exit(1); + /* Report error - guest will handle not receiving interrupts */ } } else { s390_io_interrupt(0, 0, 0, io_int_word);