From nobody Mon Apr 29 10:49:05 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1611668788; cv=pass; d=zohomail.com; s=zohoarc; b=Z3kZwBX2+M8XQQWWBbjnuErU6YuYPeQwK7D7F1lzHBru6lwWQxnzGKGa+uy6PG4qJGUXz65RoX9adcOOFUuVt4GBEldSpLj6pyGMdlFyjXZm6hR7C4A2wr7/iWya9lmzbfdLZi+MFHwE1HmTNGymZcEXKyV54kE6CtQTB81dEQY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1611668788; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ZOg4CQnce8V68jgFkjekq4x4TGd9TVd2TOnMUjeWQRw=; b=WEWVGqjDq87zLqfBYZUt3rtvx0Mo3iPQu4VzsOhRHjun2TxzZkvvwOjatrrxY31WuKcCAUGMFqZOyicQ76LyfENkk1DcPrTnO8ZvRIIEsxGR901HP6QfxwyFmxs+CV+YUV6/Jx9rZOhpGyOyndpBsVWxyrwIwhhYbY2aLQIp1vE= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=citrix.com); dmarc=pass header.from= (p=reject dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1611668788887801.2641855210588; Tue, 26 Jan 2021 05:46:28 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.75051.135027 (Exim 4.92) (envelope-from ) id 1l4Ofb-0002Qe-BX; Tue, 26 Jan 2021 13:46:11 +0000 Received: by outflank-mailman (output) from mailman id 75051.135027; Tue, 26 Jan 2021 13:46:11 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1l4Ofb-0002QW-8S; Tue, 26 Jan 2021 13:46:11 +0000 Received: by outflank-mailman (input) for mailman id 75051; Tue, 26 Jan 2021 13:46:10 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1l4Ofa-0002P0-Nb for xen-devel@lists.xenproject.org; Tue, 26 Jan 2021 13:46:10 +0000 Received: from esa6.hc3370-68.iphmx.com (unknown [216.71.155.175]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 38afccda-a70c-45c0-a946-dd50e345cae6; Tue, 26 Jan 2021 13:46:09 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 38afccda-a70c-45c0-a946-dd50e345cae6 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1611668769; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=zV5p8UFyPoTSMQmezKe1+4OLo2ijl2EWElgcz3mlZ5o=; b=W/s44bZKgtx+PNneD1W5waOeSL8npcHo2IBh90dFUaKHvqy9Q/HNpe3U nlIkJ0fCHI2cu5zhdJD+aD0YSAspqwCTkpt9kcmYmPVe22rYPbSngfUPn NBR1ZVX8rlZBshAjUNKFTO93h7rvTgrw3ea2CTpkOU+/APcnRjq3c2mU9 0=; Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com IronPort-SDR: 3g0MHlyjz83bFPKSEK3mrM7Yf5VPEJjGiByv0XXBxdYClo0qVrD7NHNT0X+KH8dndNpAth34n3 2iZG4G+u30BfGWkdI09mJtMF1SBCFoQIM505YgQatM8NhET0chZWRGm+P5fIf+BUNX7bGntVZT 2xfqJOE5RmpKndq8eeVQrZTIuIwfSPBZKK+ZQefYKjRkjMle0jDaNvDhyHokpuBTIysqZrXZhi JEVJ3Vxf+LkPUd0zgaQB0ZXRCleROSZmsrTWaC61JB5QAYAmXbxH8+dEEiOSr1M18RhEeaochS 638= X-SBRS: 5.2 X-MesageID: 36071568 X-Ironport-Server: esa6.hc3370-68.iphmx.com X-Remote-IP: 162.221.156.83 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.79,375,1602561600"; d="scan'208";a="36071568" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fIQUYscEWzfUmza+yPPFNyot1r+qQBC9HGKEj7i+ZjGyvcMHtdSlimZcnP4Ssm+2pyBjBe3Mmv4zhmnyBF5UCP770m91/XLR2NVWOkzbKEvEomXQ5N5WuvLt2835O6HqSO8gVqKe1pTs5qSGN9EjtJNcy3BuJtsSXkQEgFiGgKyIrcfKA4g6EKScuPFagMfNNZtOYXVINDjL2A7Y0tZTe+chxpz0s3g7wM5//KuHU4HWP+pBlvxh2KX3GohQNhelGIxev+J3RigOGIr3zsnxqioJafjgN+pWHnBf0aFNm3Mi84Ahm4j0kyd/w07/UYGV/clsQNDivP/W5PdkYxSlbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZOg4CQnce8V68jgFkjekq4x4TGd9TVd2TOnMUjeWQRw=; b=dZuUOkllXuhDZk5nbrwONmEqSx5xxbIy9K6DJcFmJZwfUgSIXQ+B7AqdTpIwc19/BuU7PsX1ACyPepu8JQUq1qK3FTzShaH/IFq5LzyQP/KwGpoRAvtYEiZbnv1jiO5sgn3abBaXyk+ExkWb3CUhxRHwRuv3eSRxTuGTO140ARmes7sMl6ClFzCMaxbx5wyE+k1UeDTu8TTALbKs7d0LdnHYkmVfOM9k0GQWvmBCrlomOAhTIqMnww/AnxBEPp21N1RbsoTLyGHoLOZlQPWUjS82nYPM0iMZjhd6GDrfhc8qnHQY41kjFRQ9/LEdz/VpXwF53gXj5A+MptJRyrA7eQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZOg4CQnce8V68jgFkjekq4x4TGd9TVd2TOnMUjeWQRw=; b=wf+wrodDQ/kyH0nzD2xKCPAIFilwWevjP6dDuqUS6R2D+US2JVVcCeV9cCxGDpCDnQqs6VCk8NryGxesCu/pF4QgauK7oAt/U0+uwDmQ9kKNl+YNex6RhoaJXiiDcyjNl5STaWHh20PnuFDUGLhgIVH5lYSGTK7URa47TuM0sH4= From: Roger Pau Monne To: CC: Roger Pau Monne , Jan Beulich , Andrew Cooper , Wei Liu Subject: [PATCH v3 1/6] x86/vioapic: top word redir entry writes don't trigger interrupts Date: Tue, 26 Jan 2021 14:45:16 +0100 Message-ID: <20210126134521.25784-2-roger.pau@citrix.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210126134521.25784-1-roger.pau@citrix.com> References: <20210126134521.25784-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MR2P264CA0170.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501::9) To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ad5f4f0f-e6a5-4d0c-c61f-08d8c200bac0 X-MS-TrafficTypeDiagnostic: DM5PR03MB3209: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: hEWQJnQst59alvtZKhAelpI5B/a8J9WBtLPD7f4zz5rF9LtDxz5OSv7hx9ma2pCctqN+XyJxmxsilf2YsbvAGTJZ8a7qCNzIkvUQeV3of4hitGnPGBWdv0T30kL8vg/aWzf1BQ8Y00L+eYHn5XVvZrbHheeb/hJ/+HvFjYKsL14MMKtjOWEPBJY8WJckKQBY1VOunZJYdRFJ6LnhA7MGcGo/Bauh5lDPgIcx4v7PNTEksaFeudTN3yn85BhFqJmhagVBFBo4YPdSIp24fgOgelEKdEpmuNtg6saIlLKTeBYJCRiJuMP3Ip9f+nGGrPd19ZHSbgvxecxpf0ZGNgBK8YiCMcuxOVoCdyhaasi2BIrDjeyogSMCPkFD0l6OPoRD45gXJiSzLaCnS/iaVuapIrgHC2Gi0Ed8Fss4xemCMPgZeH7imwSWpB0j6pSkviCQi13vE/CN2uEHxOB+TZMeifJBhY0uC6m3LbrWLl0wzCqNkjmghIZnkO0pVO93vvgSqHWWiVMfwtoDZOnqeh27Pw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(346002)(39860400002)(396003)(136003)(376002)(6666004)(6916009)(66946007)(8936002)(956004)(86362001)(36756003)(478600001)(2616005)(8676002)(83380400001)(4326008)(6486002)(186003)(4744005)(6496006)(54906003)(16526019)(2906002)(1076003)(5660300002)(66476007)(316002)(26005)(66556008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?WDZuNHExSVJnbnllczRmU3ZjNFlleU4xRzdqT05pZWNnR1NOdHZBa2pjRXJR?= =?utf-8?B?bHRFak0welJoWEVCL0ZOMWxGWWIzYlMzVkl2QXkwZUdiNlJWY2llMU8ramVz?= =?utf-8?B?Wi95VWRNdWh2T0lLYVVnQ3dmQSsrOCtjWVBmRTZUREpIdXhla2ZaWlEyREdW?= =?utf-8?B?WEtqWUd0bmU0SjcxeXljcCs5UHFZK1BCSGh2bjVESTd2SnNPNE1kQkFvaEpS?= =?utf-8?B?STZVdk52VVZGelJTSHJZYlpSKzh5TVN3MWo2OTk2Qldrc2Uvb0Z2YVFkVWdk?= =?utf-8?B?QW5YUWpCN1hwV2VOOVNDVWRlU0Jta2dxVkQ5QVlvWEVCSkJHbVpHOW1UelVR?= =?utf-8?B?Q243UCtnZk1HcEc3MDhrUzUvdi9uQ2lSNzRvZ2U5Uk1BWmJPVUgwV3QzNHRr?= =?utf-8?B?S2d2RTd4Y3RLeU9vL1J2YkwxczQrMHFvTFZzOEZsREtEWmdNbTFQWFVSZUll?= =?utf-8?B?NHRYb1ErM0Q5OU9BdzNqNFFSSGUxdStSZGx4NXNxSVkxQUtkSkFQRWFRTXVZ?= =?utf-8?B?dWVtWnFGSTliZkdxVWcxNDRhcEdKUHV6cUJPVHZYakFjSGFUVEJSYWxLRHVZ?= =?utf-8?B?MHRzTTBtM0lDOGh0QWJ3bFcydzlkTDFxSGRXZHdjWFlMQjBubkYzLzZ6OWZ0?= =?utf-8?B?MkdYMHNBdENrOWw3YUhPbEY3ODlzTGRQRzc3SFlMZmNnRmdwVDQvTzU3RmdV?= =?utf-8?B?K0lqQnEzMlkzWC9ZQ2NiVlVlUE00VjVOczJTN0J1TWY5a3ZqY3dZeVo3VlpQ?= =?utf-8?B?MzFEWHRtY3BEcWNyR1I5MmZnZW9EWnRXU1R5czZTMy9tR2Jqb1JXRDZ1bHln?= =?utf-8?B?Nzh3UFRhNHFTSGl6TFROY1dyZTRIWWxpRWRiWlFLaWtrNEY1MjF5NnM4ZnFB?= =?utf-8?B?T0FQSXI0K01NSVdTenhQL3N6Tnh3RmRkN0xPMlhqS1RMTTJ0cTl1Slh1Q1ZK?= =?utf-8?B?OHdMMGRwbGc4WXNpcmI5a2p4MitDeHR6VTlJS05jQTRaR0NxUnNIcjNYMm5u?= =?utf-8?B?Y2pyay9vUjRmeVZCNzJSTE43bnFaazdYd0crajBuNm1KRGxVSDBldUw5d2t0?= =?utf-8?B?R2lSMzYvZHNHT3Y0bkRNbTRTRGgzUEFCWSsycFF1VVhOY1FYb1BLZmt1Uzlx?= =?utf-8?B?bXhLQitjMlIyMVQwV29QUzZoZWhpcXFXQUE4anBNWVNmaVJUVkpETXJobEFz?= =?utf-8?B?d1JMNUlBRUc5amdBdkk0YWNoc0NQZHFvL3VpeGlpS1YrWnFId0pLanZtWUQz?= =?utf-8?B?dEprUjhDbEI3WVJackJuMlk3SC9STW5iWi9RbFhGSXBDL3pUVVd2cXQzQVpj?= =?utf-8?B?WXJkYmtMcTdvaGhLUFFiNkRpVS8wVWp5QkJ4WEpkcnZSdDVqYmNXcDZEblYw?= =?utf-8?B?TktFL2xIZ3A3WWtuSG5NOW15NHhYN1pRTjZOQktJK1hDSVpjeThrWjNwSzBv?= =?utf-8?B?Q3FaNGVhQ2V1Qyt4MDNKWHluOHh4Q1V1U2JxMm5nPT0=?= X-MS-Exchange-CrossTenant-Network-Message-Id: ad5f4f0f-e6a5-4d0c-c61f-08d8c200bac0 X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2021 13:46:06.3004 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: xthL3nesgoWMqxwRWyUHriVQtfj97fvqY/mQcnoJkJwyidu+PFOuQ7CgA0plwYipMFRErkGlp3JLnni0dLBqeg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB3209 X-OriginatorOrg: citrix.com X-ZohoMail-DKIM: pass (identity @citrix.com) Top word writes just update the destination of the interrupt, but since there's no change on the masking or the triggering mode no guest interrupt injection can result of such write. Add an assert to that effect. Requested-by: Jan Beulich Signed-off-by: Roger Pau Monn=C3=A9 Acked-by: Jan Beulich --- Changes since v2: - New in this version. --- xen/arch/x86/hvm/vioapic.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xen/arch/x86/hvm/vioapic.c b/xen/arch/x86/hvm/vioapic.c index 804bc77279..e3ee747b7d 100644 --- a/xen/arch/x86/hvm/vioapic.c +++ b/xen/arch/x86/hvm/vioapic.c @@ -262,6 +262,8 @@ static void vioapic_write_redirent( !ent.fields.remote_irr && hvm_irq->gsi_assert_count[gsi] ) { + /* A top word write should never trigger an interrupt injection. */ + ASSERT(!top_word); pent->fields.remote_irr =3D 1; vioapic_deliver(vioapic, idx); } --=20 2.29.2 From nobody Mon Apr 29 10:49:05 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1611668793; cv=pass; d=zohomail.com; s=zohoarc; b=ESFF21+IiAllxN/fvQkYMf1etKe36vXELWs/vySx47VbOyfgDInRF0KNjJFIdoFe2NaDWApKt7xYU0a9tpBdAMj+yMlEFjp2ZIzVtzUIexR/b99vO2y50dR+bE1vfAzbU6kq4iD9D7cDIJNfvJhRbSp4hWZg1pQqdKYC7GLfZyE= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1611668793; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=6Nf2vo0SRD3R2LaShoNNJNHs097bPQ8mcbsO7gxjiRM=; b=L5xRgxADLvX2CGlDumuWoMJuaNc84Ey8owetk/KFrp5LgvsjDpa2PYPr4sft2XH6ZH5rrycUIjHEs3S2bsuimBdGQ/VtIWAeurJo3iXHrGvZKgGjg2kTQ25F8gnIbFeCvmmLfYGEN5vm+YYftA1lYG3ASLQQa6XnX9eKxKAefOU= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=citrix.com); dmarc=pass header.from= (p=reject dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1611668792989924.10076292405; Tue, 26 Jan 2021 05:46:32 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.75053.135038 (Exim 4.92) (envelope-from ) id 1l4Ofg-0002Un-QL; Tue, 26 Jan 2021 13:46:16 +0000 Received: by outflank-mailman (output) from mailman id 75053.135038; Tue, 26 Jan 2021 13:46:16 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1l4Ofg-0002Uf-MP; Tue, 26 Jan 2021 13:46:16 +0000 Received: by outflank-mailman (input) for mailman id 75053; Tue, 26 Jan 2021 13:46:16 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1l4Off-0002U9-WB for xen-devel@lists.xenproject.org; Tue, 26 Jan 2021 13:46:16 +0000 Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 3728ddff-a5b7-48ac-b4cc-c9cd671554d5; Tue, 26 Jan 2021 13:46:14 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 3728ddff-a5b7-48ac-b4cc-c9cd671554d5 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1611668774; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=DWdcVR3IEqSnim3KsQpgClr5n6aBknLfX/6inMwx9SE=; b=VAPQ99xR5OdB1g9s5AA2R78kCoUVYkBiFysMpbCtKcE6mLqBGMRKM8YX 7QWUOrOocbxNvykxBmpWa/1ItJmxEW2V1Lxi70d4pmIM+D3rVbv0ZbwqF 9132bEiCUa22X/cpSXGyydO2kbwVSOfajzWKoLuxMsG3E92njaugEJ9/R s=; Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com IronPort-SDR: 1I1o0MRHHmIo27T7CpFCM+kxvb78QkbOvVEv0KemKdjD9Wn7Gb1CIegeGvVNoHiyx62POk+w31 FvZP/TDjU57yAT26Ub6bYm17yadl8z4oS7sVYCAZAZA+gS/0PGaWzkj0Cl3s/d7km6KMiW/kf8 Sm9DikMw6oiWy1Mhn8uIhdbkJT7+xZVwFII+1SPJVUx1T06VL4SHuG2Qq0nR628fWWqPlYgYsu XvHErenOspk0fyYJ8hWqfyvYJCziX8NyPuDC8KjVw7qFmxeVlaF2uPhNUNQSyX9S9zFgZWOTnU uYI= X-SBRS: 5.2 X-MesageID: 36241608 X-Ironport-Server: esa1.hc3370-68.iphmx.com X-Remote-IP: 162.221.156.83 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.79,375,1602561600"; d="scan'208";a="36241608" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Alt0/j4ju1hiCWivRDHqubxRIHiItxRG4vPt1wwwflZ5oOse6UnaosA3YGQfRvJaEOvi+3NmUMfjrA/uxvYzLTZl19TAreEqbeQ6RCrWgxd1VNBoJQWwWjDr/cVYldRi6JivmaPnI6HiyS9bsqCJq/5cOX5z7zm0xMP5ZR3ZcDVfQgnI2jA+qQ53r102qtf+9QK8h3gGngzdpYrbXWkzwEBHuVrt9V2tqZDAfovvDT1Eh0PwPTYI5uGtnW/gb6lUl2xW5SUTS5xhtAZnhMm85om9DrhSwsvYinsbIVOmc0PZbjCrwvRLL3Vk9j1V0Q3eEsQXPsq3mBiM4VNvnWREMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6Nf2vo0SRD3R2LaShoNNJNHs097bPQ8mcbsO7gxjiRM=; b=UALr/fRrhEec5S8nu7t08noFFXKDh7LN20g1hhlT7eXbhW0Fo7hg2gO4hFJd6hTNZRmYKvNOZbcMbYt/5nyJ+FwrSoJ5fF9L6SfhCPX/s4y4VQYRr9N8sTMHwvu/+2N4Nr3YMVHm1boDEGwd+ecsajgNkP+UP8V+jInvs4H5E45prVMOdM1WVs9spbYiDslceKUsAYnXh2+IK9aaqGpxgWJaX+/ZTgfI/yOtO/oOiLr08eeCB9KIC7bRQClNMnwT0czAouSRHjQUmUDw7n3BfiMMlhJBCM6gnYeY5ryRSIo3AuL0OQu5gv3njCpSuWpvQPYfunXHINCStSdl48TzEg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6Nf2vo0SRD3R2LaShoNNJNHs097bPQ8mcbsO7gxjiRM=; b=uTEgOrJ1j/SKIhjkpFpdH806fwAUaxgyfB9vYBj//TlTqYF+Ys/ZYnGgowHswnVoXr0BPtKQgGTVgTvJJNmcv+dQoAA26mdORTfTNpZO5dK3SRlGfvlJ9b00mld9bMaOFbQywJoNAOij0wHARjFhNCJ7jFgIXOFCU4mdhPUHDtE= From: Roger Pau Monne To: CC: Roger Pau Monne , Jan Beulich , Andrew Cooper , Wei Liu Subject: [PATCH v3 2/6] x86/vioapic: issue EOI to dpci when switching pin to edge trigger mode Date: Tue, 26 Jan 2021 14:45:17 +0100 Message-ID: <20210126134521.25784-3-roger.pau@citrix.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210126134521.25784-1-roger.pau@citrix.com> References: <20210126134521.25784-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MR2P264CA0030.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500::18) To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2cd27306-c1dd-46b9-910e-08d8c200be46 X-MS-TrafficTypeDiagnostic: DM5PR03MB3209: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GfT3nLDghJ6O7C0AWUcZQECsPXTlSzSty0N1t1/NgYKFi0A0m6nRETK5XSANepLAu1xiTJDHlOqqxv65JSDmbagKUCz71jy7Bq8j0hUK3qc7ZtZCmZ5gIEysgEUyS7EyJ4tLS/gDSXa+9qthUkJYr9Xa8vtbVQtOAzbgO9dtdyYxnJOBPnXHvxfnSL9o91n4iHrMwjhjzHDuHpIKBn/TRWJ6OzanIqpmE6GgNpD9m7pupI/PssguVrPW3jrDFqu+gYdJotvd/JfiflVdGNIoQMaynKyiqKhq8R6lfTSJ8ESA/VJlIhb/UGyDlE0Ec2lFOTtWZ7vChp+Ufjx0VFRyfSwG0QMdWW7shkgd5h/RPWhqL1IWbloxe2CD1EIb5FM9N/h/5eZ0latiwpVUhss23esuSv0fUX60eM0zggSvTKquN9K80/wXtop5r1t2TENQvMMYNFjgKP9fGiyTPIjKWZFQ81LpHza5CLVuw9bu9Enl+OvDaKTHKsOrjpBYcuR9euNyMngrxwGQ7wTFPWOEvQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(346002)(39860400002)(396003)(136003)(376002)(6916009)(66946007)(8936002)(956004)(86362001)(36756003)(478600001)(2616005)(8676002)(83380400001)(4326008)(6486002)(186003)(6496006)(54906003)(16526019)(2906002)(1076003)(5660300002)(66476007)(316002)(26005)(66556008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?TjZOeTh0S0kwZkZTQUwzL1E5MDIxa2pEcDFXWU92S0V1a2RLVVluRUZ4YWxO?= =?utf-8?B?Mm1VSVkxUHdoc25sSytrNkZnZ1RGMU5YM2V1RTNCWHRSNDlMK3N5SWxqMnVX?= =?utf-8?B?M2IwaEhrM2FCS21SMG1MTmNFSzVYL0NDQXpqaFpHdGphTG9DSktiRkpmMWs2?= =?utf-8?B?UDlJbVlmREluTGY2L2IvSkFUWjRxUHE3OGhNdnhYTzIrSlEyS0NUdHAyWlRW?= =?utf-8?B?RWF6OGRodXEyWWlGL2lSQXNYTTBGRHJtQzFVbk00SHhyK050VnNHb2cxaUJl?= =?utf-8?B?VmtPdlp1dEsydXZpZW9RUnVZdVE3Wis0RktCNC9IYnBKcTdaNlMxQjA3ZGFP?= =?utf-8?B?akl4VlloSXAwMXZMV2RMSzBYcGQyVCtZZ3JSbmtvbmNCUTFJd01Db2w0a1cz?= =?utf-8?B?WGZzMjVUZTRsUit0bDhpNTBkQ2RMZ0N5YmFMZGE1TGF0YitNb0QwNTdnS1BK?= =?utf-8?B?Q2lpQ2w0Y0xmWm16ZmdSY3hUVXd5MExxdndMV3E1NmJtSXExWDJDSm1Pdll6?= =?utf-8?B?Q1FyUG40bFlRcE1LT3JsN0d5MlpmallJQkxtRmtGVk1wNlJwTnQraVdYMlZa?= =?utf-8?B?N2xpWVYxZ3FMV3hUOWdRRlpETXBhdkM4ZksrTktWcVlMaG4wUWRZZTMwZEdC?= =?utf-8?B?R1lVSjZYV2xabzI5ZitHU3o1b3lDQ0k5Szh0ZXlkNHllUmduajdUWkdZVEdV?= =?utf-8?B?NnJwcU1VVnRRRUp2ZVE5dXNSTnkxcXZuMXRhNngzRDZUTEpTYlNRY2M4Zk0y?= =?utf-8?B?MnRlREFRenZWYnFuQkgxeDJPWk80QTZBZlk2emd0Q3JwY0U2U0d1L1o1S3FI?= =?utf-8?B?ZGFNVHZZYm5kMER4VmRvek1HcVByRmhaSWRZWDI1WklKS1F4d3dIQ3d6bEND?= =?utf-8?B?V1pOSEdFOGdrekFWODhLLzNIQnVRNEJhdDdiOVR0eERmWkRXMDU4eC9vLytS?= =?utf-8?B?OGdiOW80MlQzbXNMZ01rWGtjclNxclhmdjVQK09zNk1pMHZQRFNJVklrWGw5?= =?utf-8?B?c3pURlZqend2N2ozM1ZSeERwK3NxblJrd2FwUDdaTGVPaFFNY1kzWXgxVmlN?= =?utf-8?B?QTA4aFFZMjVnWC9PSXJMbm1lK1YxTStDdkp1U1JzY2YxUnhtRW13MUZQb2tJ?= =?utf-8?B?V0dETWFNWlFHZTlLUUhWdG1TVHdjR1BORTdPSnU4R05NeSs4SGZUSU9NN053?= =?utf-8?B?cDk0WWJHMk5XcmpJS0FYV2RkOTU5ejhGeTh6WlpJeWtSWFgyOXdsMGRBa0hP?= =?utf-8?B?blFmaHR0emRVazNCMVBUVW9QNXA0QmJJa3VvOTFLK2pVcWUrRk5jbmh6NU1I?= =?utf-8?B?U1I5ZndwbFBXcSsrd0pwRVdvYm1QYkFQQ3RVeWZlNkd5WnV2TzdWTkNyUWVT?= =?utf-8?B?am82YVpORVRNR2F3eGZpejhqZ3VsMERpdjQ1dm1MbjNSYjVTQ0NBSWo4cGY2?= =?utf-8?B?eXpTSVJzclJoQ2ljZkhGb1JRcGovZEFUNlg0aWNRPT0=?= X-MS-Exchange-CrossTenant-Network-Message-Id: 2cd27306-c1dd-46b9-910e-08d8c200be46 X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2021 13:46:12.3418 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WgYe4HVf0M0EbsIy56IVdhzvUWgZBkz6dg+ylGMDr4iMontBmLQCiMnQRvl0Cow1NIlxbRJ5QIde8w3YUXHroA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB3209 X-OriginatorOrg: citrix.com X-ZohoMail-DKIM: pass (identity @citrix.com) When an IO-APIC pin is switched from level to edge trigger mode the IRR bit is cleared, so it can be used as a way to EOI an interrupt at the IO-APIC level. Such EOI however does not get forwarded to the dpci code like it's done for the local APIC initiated EOI. This change adds the code in order to notify dpci of such EOI, so that dpci and the interrupt controller are in sync. Signed-off-by: Roger Pau Monn=C3=A9 Reviewed-by: Jan Beulich --- Changes since v2: - Fix comment message missing 'edge'. - Add asserts that previous triggering mode was level and it's not a top word write. --- xen/arch/x86/hvm/vioapic.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/xen/arch/x86/hvm/vioapic.c b/xen/arch/x86/hvm/vioapic.c index e3ee747b7d..87370dd417 100644 --- a/xen/arch/x86/hvm/vioapic.c +++ b/xen/arch/x86/hvm/vioapic.c @@ -219,6 +219,7 @@ static void vioapic_write_redirent( struct domain *d =3D vioapic_domain(vioapic); struct hvm_irq *hvm_irq =3D hvm_domain_irq(d); union vioapic_redir_entry *pent, ent; + bool prev_level; int unmasked =3D 0; unsigned int gsi; =20 @@ -234,6 +235,7 @@ static void vioapic_write_redirent( =20 pent =3D &vioapic->redirtbl[idx]; ent =3D *pent; + prev_level =3D ent.fields.trig_mode =3D=3D VIOAPIC_LEVEL_TRIG; =20 if ( top_word ) { @@ -270,6 +272,21 @@ static void vioapic_write_redirent( =20 spin_unlock(&d->arch.hvm.irq_lock); =20 + if ( ent.fields.trig_mode =3D=3D VIOAPIC_EDGE_TRIG && + ent.fields.remote_irr && is_iommu_enabled(d) ) + { + /* + * Since IRR has been cleared and further interrupts can be + * injected also attempt to deassert any virtual line of passed + * through devices using this pin. Switching a pin from level = to + * edge trigger mode can be used as a way to EOI an interrupt = at + * the IO-APIC level. + */ + ASSERT(prev_level); + ASSERT(!top_word); + hvm_dpci_eoi(d, gsi); + } + if ( is_hardware_domain(d) && unmasked ) { /* --=20 2.29.2 From nobody Mon Apr 29 10:49:05 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1611668798; cv=pass; d=zohomail.com; s=zohoarc; b=gUhGDWkM2sokS4rfNPDRML6Xa8muZ0qmYxSGGPtMB/W56GI2UN4oECNzb9zVKVUwgZJv5x8BmNHHiOTBn4xIAm3+PlXSad1z+vV6fO1veC9PhaayuxZl5sUHseAciYt3Dt7qvF2AKoqUVGxdVFE1K+4QblNvtUrzmKA2J1i02EQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1611668798; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Zk5/Yanq7YakWGqtSzKO9ebXzxAHQDzGRCoPFe7bjPk=; b=I+b8n/bcpLdbB/kxEhJzhJymI0xMqaJjl5usg4s0WYi4PRmZjvELXggAzRrZw4mfbLGHsqBV+z84RMyYOM/ZImQHNH0/onZehtksBopSkg+F+LDvms2Ie31Tjbkb0FM2DHG4Ur4+syRpnbQ9NqeINgMVXOnfRcUW2QYIoziE8no= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=citrix.com); dmarc=pass header.from= (p=reject dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1611668798848431.1038299455013; Tue, 26 Jan 2021 05:46:38 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.75054.135051 (Exim 4.92) (envelope-from ) id 1l4Ofp-0002ar-4R; Tue, 26 Jan 2021 13:46:25 +0000 Received: by outflank-mailman (output) from mailman id 75054.135051; Tue, 26 Jan 2021 13:46:25 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1l4Ofp-0002ah-0A; Tue, 26 Jan 2021 13:46:25 +0000 Received: by outflank-mailman (input) for mailman id 75054; Tue, 26 Jan 2021 13:46:23 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1l4Ofn-0002Zg-1u for xen-devel@lists.xenproject.org; Tue, 26 Jan 2021 13:46:23 +0000 Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id b18f3026-a1ff-4350-8151-e7f68628931f; Tue, 26 Jan 2021 13:46:20 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: b18f3026-a1ff-4350-8151-e7f68628931f DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1611668780; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=JvRvsHHvH7pmKkTxhEwl0srUY6VJQz4q8V1tghBlLzQ=; b=X6dUWrjMmsB6KwW6a0vttLdPXDYDHe0txDGNlBEVFvcttos0YC3D+VvR mnCJS7WTUwdmARzPsM7zUyf3kE/JciXTcsEE9QmuTL+jpsnFK2cqc586N krZ7TsJK7TpOGL6zahPR8DEJ51KQQFGbBtTz6U0Fv/ldQmoSa86N/TNOh o=; Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com IronPort-SDR: qR/5MSr+HtpjAaQUVpqKQiPOckkx4J7t+1xd1cojpHnJJ+c2EonPZz7B6ydDGgpnu93zpJjWCP FNWWCyH557PXvHSORTr0LasNV8H0y2MUw2P1oTmLwpBfuo3EmI45Xq2d+VhuOZg3dNbkxW28+S y5gRdRhGfBzMcFyXN6iCFj1AfqeP8yaqaVzIYvCr1IPu1eTVMubBTFO7h7kOjPTldTP7xeKShX wZSkMQwC2TCswBnss1u2A56gHbtDCvpMkJlBwUyg3GXWdE5Qqfc8fLYULNN67ccgEPA4JowzQW un0= X-SBRS: 5.2 X-MesageID: 37178127 X-Ironport-Server: esa4.hc3370-68.iphmx.com X-Remote-IP: 162.221.156.83 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.79,375,1602561600"; d="scan'208";a="37178127" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZnsplQ0GHmSVg/79U6wCeEkztiHlNBGJFIa30K0fmyL5JX1e1I6g+KEsaM9B6AC+7Vhn6iYzj5LlbQ2ttSKC5l1yrLefni+N1NNEnGgoRevse1YdDYsxwUttjHDUMvez2Skokk7PG7pzJtHHUMflyhfh/u3clkuLiMWM2ljUSNOXU7GRBzGzQjJtD7N1bnvKGVsgmk1EmPUmUm2Q1bCRHHOXPcYD0j2hHCKrnDW5JnLMA9S2EtUlEx4mXwHmOlUPnY2aI05FzN0DI08ug1B52tWUzCQbo7IzON16JlE2/J8TGX5J9p/PBdzUXax/sXCYx5mHceyrCcv9pMFpfUOCCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Zk5/Yanq7YakWGqtSzKO9ebXzxAHQDzGRCoPFe7bjPk=; b=hMKPH1ipHxbIim+vyQAAPLE1x5xP34aMPQAFeiliirlwiZGKAdC/TrjBEQHd/grhaJfGz2sIpNlR/ob+5E7qHKzntVhuVqAM28TgJMPFeSTmzl9Ij8sqSe7Ze+Z+92RjSET+oEaTZwJSKM34HoTYnrfC6x8jD1EdvzBDcoMC0cr68noG2/6oA3bJf+IHDIOLZfF2PEzlny/8LzU4WVKxP176MVAMu4vBuqz0SR0Ds5kjffevaHs0Itvqy6NREDcOsxw+20rxS/Hg+Izi4Y92pa1CdKHnLvLAzUEx4UbESd1FPAdRyWY6QGjL7vquTCE9D1Yr39Z3K9kfkfD9lwqLoA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Zk5/Yanq7YakWGqtSzKO9ebXzxAHQDzGRCoPFe7bjPk=; b=RnCl18kmUiFu9riztXTiIw+KwZ6ny50HYD2CRKAIkXgTJmt/0g/z2SX+GKtX1KjokMTX70vlC5itthZLbgyTxuLK1VzSM6HGhWMm2V+pmkk/ki5H6WyyP25RFJ6u+MJHKutnJBMO3+S8HfrF0jQYoxsWO9ZtxjUDIlATSDLBeDs= From: Roger Pau Monne To: CC: Roger Pau Monne , Jan Beulich , Andrew Cooper , Wei Liu Subject: [PATCH v3 3/6] x86/vpic: force int output to low when in init mode Date: Tue, 26 Jan 2021 14:45:18 +0100 Message-ID: <20210126134521.25784-4-roger.pau@citrix.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210126134521.25784-1-roger.pau@citrix.com> References: <20210126134521.25784-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MR2P264CA0134.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500:30::26) To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b7817bcd-014c-4455-263f-08d8c200c194 X-MS-TrafficTypeDiagnostic: DM5PR03MB3209: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7219; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RxOvEM0AcBDLo3uJ4HWaMLhGfwAKkHc4WuU1gqTAbCkq0Q017ksuqbe5+z9tMvDRy1eJioagvcQSHPDrPYBbLjUdr36p7/mzFX01IIBnrtAVCztBS0Oo89SoESLCIvVE9ZmC+Sk+0nEBiFC2kRMKX1NhFR1UoUcEZkxtR5ofYLRkqfdeSy7OCRbW59McwYVS8ZpgQHXO4rw4wAVDWDDmMY+J62+3cN6WQpL6yTGCoqQNjRaO5CcdWUXKTfNIVbRIJYvyEZbDRn5DWOBMgw+mpwBeGQileDwuN1iZOXEqf1LwWu0SVUbfbLcmj2LkXhpcqO47WhWigLSCUcsr3DfGLvSQ8XoshRzQ7FXrEt1eX6eS/czSNmM9axR9pmBReWpCq19FiMjfKLSrKSlSwBCg7BZc4+5y3996zrcrKw0hGb+JWJNxqr0yHxwZOy5kPfglEIaIpVX1n6qLOSHDSVivLOjaGxwvpgAYunisM+JWeMMc4c2BUx2Sci5tYEY7VAqG2WWX+/BpUZKm1aVcz6tRAA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(346002)(39860400002)(396003)(136003)(376002)(6916009)(66946007)(8936002)(956004)(86362001)(36756003)(478600001)(2616005)(8676002)(83380400001)(4326008)(6486002)(186003)(6496006)(54906003)(16526019)(2906002)(1076003)(5660300002)(66476007)(316002)(26005)(66556008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?eTQzdGhJenlXZGI2SWdyL1JSS29HRVBYdHN3ZG1PZERJYVQ0QzVxZmpSWHhZ?= =?utf-8?B?YlMvYTVYcjA2ZW93TXBERTJXSDdDREpQaDNLRmExNm1HTFpSNlVTNzVRMTc5?= =?utf-8?B?Y1ZIcndCV1dqSXZheFRtTkpyOVJVb2lRVWRFMXpaTVd2a01YNWZ3dVIrT3VK?= =?utf-8?B?M3ZQL2RvbEprdGhtTmxxcjdCVnRmMUduK3VuYUxUQnE1cVFPcTl5VEw1SW00?= =?utf-8?B?NHJSSzllUG9oQUpuN1pjU2VsdUdGYVVzZzNubFNFTW1rcWJUakF0N25kT2d5?= =?utf-8?B?UlBBbTZKNnFmYWJ6TkhiVXMxNjNXWVRMQ0xFYmFQaXNubjJyQkp5bXMrSTl5?= =?utf-8?B?UWJOK0twc3NwT0paOGZ6MEs2UEhSVFdoZmZQVWhWbGFSMVRPZmtDQWltS01Q?= =?utf-8?B?VkdTenAvaXZOSUFkN2lZWlRBZWRSUzdidDJDUVNmdEV0d2dhejQrSE1mdFZ1?= =?utf-8?B?VkFkQUZHbC9Kd20vZTFxVmpKWm5XaHQ4UGdwMW9CcFFIM3pRKzFBbmEvSGZJ?= =?utf-8?B?bUkzanhhWGJaMjNIZ1VhWlMzMnJXcnpCZnFGTmNuUlEreWdnRlRGSjZLU283?= =?utf-8?B?Z0RDS2RIdDJ2MzFRMFhxRlp2N2EwR1loKzA0dW5EMzd0NUlkczZOdEtNc2Qw?= =?utf-8?B?V1E1d2t0SjJnSmdnSU82UUlMZllzNzdTbEVlSyt3YXl0dnR5bTRlbzhkaXR0?= =?utf-8?B?cERGU2I0bUJWOWN4U0ZHSGVLTUI5QXdLVW9ZZjNKVWM5c1ZKK0M5U1pvUktK?= =?utf-8?B?VzA0SDdjZTRnUXNaUGJBWVZqajF2Z3drb3pHUDBrUGJqUzdDVVlkc1ZSMzJD?= =?utf-8?B?U3hBSUdtTis3Nmt0Q0d6RHBuNU4rZTJmRTJZUThjUmlxRjh5ZldhZXNLSUtH?= =?utf-8?B?MEQ3cytLSGFJNUswQy96MjUxa1crNmt5K1RWbHlJWEYwM3kvTXdTRDhUNmtl?= =?utf-8?B?RGRkOGlDNVN1WlZSNFg1THlRRXVLWFFHT2VlaUVKU214NVc0OE4zM205R2VW?= =?utf-8?B?V0lrU0FpZDA0UGswbml4VWI3N0JVdlBkMWNBMmY0ODFUUjFyLzhaNTdvcC90?= =?utf-8?B?b1VWMHJIQlF3aStyK0pZYzNMZ2h2VlFYa2tQVUpMdG1nYWpkdzFHdTFKYUdz?= =?utf-8?B?NEN3M052RnZqVE1aMWpWY1Z2UytFMTc2SzdldDFzTk5DYThoVFVpdEUzZytQ?= =?utf-8?B?dkFvMmtlbFhReThyNG5RdjBoSk1HSFpydUlZK3dhOUxNOEhMWTU1SHZaR0Ra?= =?utf-8?B?eWljdkc4REI2RURQUGMyK3BTNGttYTBIVC8wTnFOdyttVGFGd3FmakN4QzRu?= =?utf-8?B?UXFRa2xKc0Y1c3pQaWlNc0FYZ3ZRWWtrUVdEbmJ1OS9NVXpDNTU5TVJKSkdh?= =?utf-8?B?TzRZb0FKTFBjbXJKdkZ6SENmczRQaUNvSm53bGp5WFVDU3JGZ3BTWkUvWkd1?= =?utf-8?B?WU9tSmdzRGhDeG9DYjRMQ3QyVzlCZlJDTHZ1Qm9BPT0=?= X-MS-Exchange-CrossTenant-Network-Message-Id: b7817bcd-014c-4455-263f-08d8c200c194 X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2021 13:46:17.9073 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: IV+MFGKpHgDJE3PIwnzhqW7hrVKP+SFj5+HmgBfATm1QQwpp8a/YOMuONcy3KXy5WiOtPFyjrEsvsWJQdUlsHw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB3209 X-OriginatorOrg: citrix.com X-ZohoMail-DKIM: pass (identity @citrix.com) When the PIC is on the init sequence prevent interrupt delivery. The state of the registers is in the process of being set during the init phase, so it makes sense to prevent any int line changes during that process. Requested-by: Jan Beulich Signed-off-by: Roger Pau Monn=C3=A9 Acked-by: Jan Beulich --- Changes since v2: - New in this version. --- xen/arch/x86/hvm/vpic.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/xen/arch/x86/hvm/vpic.c b/xen/arch/x86/hvm/vpic.c index c1c1de7fd0..9195155ff0 100644 --- a/xen/arch/x86/hvm/vpic.c +++ b/xen/arch/x86/hvm/vpic.c @@ -101,11 +101,14 @@ static void vpic_update_int_output(struct hvm_hw_vpic= *vpic) irq =3D vpic_get_highest_priority_irq(vpic); TRACE_3D(TRC_HVM_EMUL_PIC_INT_OUTPUT, vpic->int_output, vpic->is_maste= r, irq); - if ( vpic->int_output =3D=3D (irq >=3D 0) ) + if ( vpic->int_output =3D=3D (!vpic->init_state && irq >=3D 0) ) return; =20 - /* INT line transition L->H or H->L. */ - vpic->int_output =3D !vpic->int_output; + /* + * INT line transition L->H or H->L. + * Force line status to L when in init mode. + */ + vpic->int_output =3D !vpic->init_state && !vpic->int_output; =20 if ( vpic->int_output ) { --=20 2.29.2 From nobody Mon Apr 29 10:49:05 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1611668817; cv=pass; d=zohomail.com; s=zohoarc; b=nxeM8dFqOCa079Xt4cZKak1mxJL1MQlCGaWWVXdTY1tl38aKzERFc8WNS6xyuj1xschd2DDt2BSMz4aINNxxiDtYq9QYgA9NaeGVXyY7NXNNYUam9e9riSgBquHM3BSLZwJr3mHxhVseXG247SgmMsqQo2gpEEgC1+gQ3qcarT0= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1611668817; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=lofouQ1GmU+o4c970v6OlV6XbO/TLQaARJUEc3j0n3k=; b=bnfUhS3MWp+Q7wQr2B/8q3S4KUH9X+jRbff/vqDJPXdMm2+Ax5qnm7TFLfs1POpSG0LTPcDaqMuh9BVRJB5algHLqk7hCS2xNdb+hKWdNhzpqT1evUAT+6Vjjsxy4gHxqWbrg95KwDzk4UlOGBSMP+fzjdtGnyQv7Bf18mWsWYI= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=citrix.com); dmarc=pass header.from= (p=reject dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1611668817713232.08167647336086; Tue, 26 Jan 2021 05:46:57 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.75064.135087 (Exim 4.92) (envelope-from ) id 1l4Og8-0002qT-8L; Tue, 26 Jan 2021 13:46:44 +0000 Received: by outflank-mailman (output) from mailman id 75064.135087; Tue, 26 Jan 2021 13:46:44 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1l4Og8-0002qK-4P; Tue, 26 Jan 2021 13:46:44 +0000 Received: by outflank-mailman (input) for mailman id 75064; Tue, 26 Jan 2021 13:46:42 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1l4Og6-0002mo-6o for xen-devel@lists.xenproject.org; Tue, 26 Jan 2021 13:46:42 +0000 Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 6507a2c4-5708-4e66-880d-101cd07fab76; Tue, 26 Jan 2021 13:46:41 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 6507a2c4-5708-4e66-880d-101cd07fab76 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1611668801; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=mlwpY/hD2zW1tD7WWdbJGtUgNMLZb4enrRVXr8oz4wg=; b=NALiwz8EvddxqH+yRr36grIRXuLKLvulAx/qwbnbqe7sd4Ylpf47/+Ki RSyBXpZmzoHB3rrciVbIioqGvOnqaRkKgpkq+FZ9tM5bpPlOLQmqeQKS8 ECiC7/Hi07TmHxsewYgmutcQ0CxoWIeguIV4TeSD7rABFkOe3RnTsQhSa 0=; Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com IronPort-SDR: AUV6PQw5FuQcSYh6wUuQzGLp4pqaQH++62YaT8Bn1pn+ffeLhOw8TzuNUNGjfInMV6denFAcde trDGoJaGvquRfSC9Dp8jvynriDn+v35NGn1hYbxWrIZjO8nvf92Q0KCDiCMeW9XSQ36/v5Jjzg S9nCouRKueMl4ucx5ErvWVEPnKlqUeDaEZItLkd6CU3YcGYPbkBuUakqTcS73/gUZyP2XLP5M6 wMiRbEy8WO/njovXDJB3kdrm5tZoiqzCsaYZ+qbGkoWawAwr6kwyz4JSoDiUyzm6h/l7IQyaBz Qxw= X-SBRS: 5.2 X-MesageID: 35863423 X-Ironport-Server: esa3.hc3370-68.iphmx.com X-Remote-IP: 162.221.156.83 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.79,375,1602561600"; d="scan'208";a="35863423" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iMoJcsqoW1/mvojvG54F9OjG1uuBdJ0mOwE1XTWMv42/mkmLaShXAfSbjKkAjX/5X2s3BrgFhNqdqGzzY01QfuLNY0bydFZ2uFfGOwWIjju8q9x5g5Fu6o2SOCvVoSJoxDJJ8Kuvo1bXhBCdAQk76r0CNlPvxzFspWI98byWaHPr4SgX9bUkPoP5C1p/c2djCgt02mURvYIu0tq79z470c+jg1hD4pjfzwC0LNZW6etbWQw5YXNwLK9rQgnOO8BZz/Kf2jKMmyEa3qTSunOZVwZmJhy488WpqAiLadRbThNAqsZPP+H4MMfP+FdHYcvJB+jX8BJNXwFyD6qJ3sj82w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lofouQ1GmU+o4c970v6OlV6XbO/TLQaARJUEc3j0n3k=; b=BXzpCHLEJryuCFja8jv62rgGIgvYTo/ISDWyZpdmsZwyWJf3qbGCVdy0XerWaFXCHGqHI5OcBWf0lIIJYp+iWsWGFly/4zdjM5/8ePjezF2jFmGS8JgMP2JDs1JNPFbkOsElvAjY8sNKT2Gr1Fq8EJqDU1K9b0wECuVO+0fQII7WoHkK+OznVHFrNQrs20F44wIbD1VzGsfv5bNlMTxn8zPUq76DRfgMNxwWlhO+IQlv6gjralITqG5uJUc/HC1xpbeJihoWd7rhqnVsi+rzJTosi+lyQfTFKgsxDv5VyiaqOZkqg3RZFG8mINkl3Lu8KvrCei+1klkwRHM/TFmYfA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lofouQ1GmU+o4c970v6OlV6XbO/TLQaARJUEc3j0n3k=; b=Qe6pP1k/uCz2RzL1Cb7XToGsE5w836QsHHuy4qi630a53Z/JT9iZ/ZbkysVV41zun5mG4plMyOSESsKcOJona/SSbRWDbYsuhyCaG1xgbFwiCo/PMy30Keey+WtRQyiQ/9mWfQFKIUnYRWxvZDUv0tQz7NzAAB53EBwLZG+td+U= From: Roger Pau Monne To: CC: Roger Pau Monne , Jan Beulich , Andrew Cooper , Wei Liu Subject: [PATCH v3 4/6] x86/vpic: don't trigger unmask event until end of init Date: Tue, 26 Jan 2021 14:45:19 +0100 Message-ID: <20210126134521.25784-5-roger.pau@citrix.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210126134521.25784-1-roger.pau@citrix.com> References: <20210126134521.25784-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MR2P264CA0052.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500:31::16) To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dca1c2ba-2a23-45b9-15fe-08d8c200c4de X-MS-TrafficTypeDiagnostic: DM5PR03MB3209: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8882; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tJ+8bwS94N2tkJfYZveOm/nWbt/oC/QSnDZk2YxTPj9YFmDOBPLch0DXN7zFaRf2Y+WwvRJUJSFy+IqgK54FWxQZzmGkajTmqqQpG1ogpic27Sq9/OQ4EXdW7++dAw9+Q5Ti+EOKMxmhd+m0cV88OMjNAIf4VN+5BoOT58UNXqVOAOVfHKRku2oMKieoHOv9QPKMQcGkmD5rkwH7K+7zBt0vOqxL6wlwdb5ghr9idxF4kWbwvKf/Vc5bKpQTWEatAb3z7KP5nQu9yrQgCWIzuBNf+GakqI97AXyumEoZtdAs6dwX3M2jiZckFjkGXjYIjGlV++G0VSa6Y+czOpEOpDtHlrvOJ/s1Nw1vfyPLn5+3PpGX4SvJsbzVxF0DVwDPOaOElOZhKNkUkH6aIQ+0rfizXNQg9tZG7YkqEPBp1dLa/6HhU3efLxNH1qlC2KhUSdl7PfPYN/J7RMUyxAf8r7BEP0eBKMZZbIi1ohGsXYnfywMGwhhcZLeehsEG5RjwU1QnQlX51NiC4ykj6jkTTg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(346002)(39860400002)(396003)(136003)(376002)(6666004)(6916009)(66946007)(8936002)(956004)(86362001)(36756003)(478600001)(2616005)(8676002)(83380400001)(4326008)(6486002)(186003)(6496006)(54906003)(16526019)(2906002)(1076003)(5660300002)(66476007)(316002)(26005)(66556008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?RVM3Mm9sRExTSjBzSmduM2ErVUROZWI5bUZybG9MQjRxa2dzdHFZUjVmTlRs?= =?utf-8?B?SENNanRnUWFMS25VeXN6Mm9OZHBjWUhxZmZORUlNUWFCN09nbjlTSlZ1bFhm?= =?utf-8?B?dDVRTlcvcTBkLzBleWl5NHcyenZIWnNGd0JnYThVdUlZYWg4K1Jod29ObzBz?= =?utf-8?B?VWhTOGExWXZ4UU9oc1FNaFBvMW1CM0FmRUFJc0pKa29jeStaVE44Q2FjSDBq?= =?utf-8?B?TXpmWW5Ua09NMVM4dzVwWk1EOXRRWTROdlBBUTVCWjAzTERzUjYvY1ltWlcv?= =?utf-8?B?YnZMbEZwK1dMYm9VbkdWQzZtRllOMCtPdHVyQ1BnWTFYcVUxQkE1SVFxWWc3?= =?utf-8?B?WnJwckx2cTF1K0E5b1hPcW1rRU9iR2h1VXhvazZ0ZDFqaXRIUFJZR0pmVm40?= =?utf-8?B?cTY3TmlJZmpiRXVaeENHTDYwaTgwTmFaT3VuZVdjQUdscC9CWGVXN2R4N1dY?= =?utf-8?B?cjdreEtrTXRLZ1ByckcwN29DNW55NWZobnYwZWRyZXA1Vyt6VU9PVWFGeGFC?= =?utf-8?B?NUF5Yk1zQURGd0xPYjdZYnN2d3NqS3pjZnBYTVYrWEtuTGFjQWJ5Q3BONWlR?= =?utf-8?B?b2FaTjFMWHM2WjNJUnZLdnlCNkd0a1dDY1Zwc0xNU1h3anlUcTlod2cxQjlU?= =?utf-8?B?clhzR2s5c09mei8zUWNJVGloemFGbGd1cWJUcmlaM3BGcDZlVTBlOXNxZ3Iw?= =?utf-8?B?a3RFQkZaZjlXTVZpVDR4bXBwSHFPTVp4Q1hWN21CRlRWQ3hBbmxrU2ovcnlJ?= =?utf-8?B?NThaS1pVNUhsd3hWOXlRSTN3K3VEN1puZXMxdS9PSzlzZ0FPOHBpZXVjUEFN?= =?utf-8?B?bmNVSXNnUDI0Z0lHYkdWZjVUM1JYcEJrSXRTQUM0TGNraVRleDAvZ2luMkdS?= =?utf-8?B?MmFhaUc1dGFKa2YzcHN6OFpmTnkyRXZCZkpMMXNMT2RtMXIvMWphNTdvdWdk?= =?utf-8?B?VUFJU1EwazEyRU50NW1oRkNPNDVUQjgyRkEyYUc3aVExQ3VvZ3dHVkFJT1hq?= =?utf-8?B?VVBaVkRWaThzQkZZMWxuNm14L1VlSGpWVktOWnJFdHJqNTBmOTJkK210Qk1L?= =?utf-8?B?NEo5YTB5L0ZxT2RwWTBPUXNMd2FCcEt6Zk53TDJKcGdSVzFGTC9YRGtsR2U4?= =?utf-8?B?Vzltb2k1S243T0hFV0ZiZXp6d3ZySGozVTFYRWJZcUp3dlhIYm5BTjRpN0tu?= =?utf-8?B?cXJXYlZISWwrdzlKTVgxVDYrQng5Ync3MTZUeU9UZXpjaitvMVo1RnlVYUJq?= =?utf-8?B?dEJhY3ExazZIeE1ZQmtwVkFsMURhME5SSTdUOWpteHYyKytFbmFZbk1BOE1x?= =?utf-8?B?ZUVTNWJvZEdlZmFheHVxcnE5Ly9oT0R1YkF6TnRJcFltcEVSUWtxRyswZDNB?= =?utf-8?B?ZG5zaFI1N0RhQWF2cG14ZlhXRmpPelFkRzRxYXhBeWEyTDkwZlFEbitFNW40?= =?utf-8?B?b05ZUFpwN2RpVitSaWNKNFFrS0o0aVFkd2hxYUlRPT0=?= X-MS-Exchange-CrossTenant-Network-Message-Id: dca1c2ba-2a23-45b9-15fe-08d8c200c4de X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2021 13:46:23.4002 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 38lZDNybw2vhVQOTmSIPIYp2BIAjyV3ht241r3kK7meL3IM+M/fD2hfHIMMU5oj+23miH86l3LogfgVJbv3Jlg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB3209 X-OriginatorOrg: citrix.com X-ZohoMail-DKIM: pass (identity @citrix.com) Wait until the end of the init sequence to trigger the unmask event. Note that it will be unconditionally triggered, but that's harmless if not unmask actually happened. While there change the variable type to bool. Requested-by: Jan Beulich Signed-off-by: Roger Pau Monn=C3=A9 Acked-by: Jan Beulich --- Changes since v2: - New in this version. --- xen/arch/x86/hvm/vpic.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/hvm/vpic.c b/xen/arch/x86/hvm/vpic.c index 9195155ff0..795a76768d 100644 --- a/xen/arch/x86/hvm/vpic.c +++ b/xen/arch/x86/hvm/vpic.c @@ -188,7 +188,8 @@ static void vpic_ioport_write( struct hvm_hw_vpic *vpic, uint32_t addr, uint32_t val) { int priority, cmd; - uint8_t mask, unmasked =3D 0; + uint8_t mask; + bool unmasked =3D false; =20 vpic_lock(vpic); =20 @@ -200,7 +201,6 @@ static void vpic_ioport_write( /* Clear edge-sensing logic. */ vpic->irr &=3D vpic->elcr; =20 - unmasked =3D vpic->imr; /* No interrupts masked or in service. */ vpic->imr =3D vpic->isr =3D 0; =20 @@ -294,13 +294,17 @@ static void vpic_ioport_write( /* ICW3 */ vpic->init_state++; if ( !(vpic->init_state & 4) ) + { vpic->init_state =3D 0; /* No ICW4: init done */ + unmasked =3D true; + } break; case 3: /* ICW4 */ vpic->special_fully_nested_mode =3D (val >> 4) & 1; vpic->auto_eoi =3D (val >> 1) & 1; vpic->init_state =3D 0; + unmasked =3D true; break; } } --=20 2.29.2 From nobody Mon Apr 29 10:49:05 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1611668809; cv=pass; d=zohomail.com; s=zohoarc; b=YTv+VDfiK+3eVCAzT9wJLNgDdKQsopu0AtnCu7fqO9s+if9ahX5aBA+jrays890NSu/pKKK4yTN6hZquKhhDokq5pZIINQJkYP3+jce1yvkMTodWnWV8MxF5ZMdc409vtEjHPjR/d+GM5sc48VMfpeCoYSA/WCd5QpGf43tM5/4= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1611668809; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=H/2YxvgG6p6cjj2vAugUvonXsKtSjBfUQcfmm0qKKj0=; b=ZFTkOrWHWOlC3DjOTbYHWeuu9K3PwL9AK4Ry6XW8zVWcI5bH3ysDOgRUd7f61jasWjmH8EODOU1nOCJuQDcVZoJb7Jz06+Zb7BXoPK174k0w66eDSDi7QaghgHIMGDRQyXThvpNC4YINNdodSOo8E76MUrhS0GMVRJCugIgaCXg= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=citrix.com); dmarc=pass header.from= (p=reject dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1611668809791196.64221777567457; Tue, 26 Jan 2021 05:46:49 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.75057.135062 (Exim 4.92) (envelope-from ) id 1l4Ofz-0002iD-FM; Tue, 26 Jan 2021 13:46:35 +0000 Received: by outflank-mailman (output) from mailman id 75057.135062; Tue, 26 Jan 2021 13:46:35 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1l4Ofz-0002hf-C4; Tue, 26 Jan 2021 13:46:35 +0000 Received: by outflank-mailman (input) for mailman id 75057; Tue, 26 Jan 2021 13:46:33 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1l4Ofx-0002gl-En for xen-devel@lists.xenproject.org; Tue, 26 Jan 2021 13:46:33 +0000 Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 7072411f-a9af-4426-8466-b6aa6857452c; Tue, 26 Jan 2021 13:46:32 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 7072411f-a9af-4426-8466-b6aa6857452c DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1611668792; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=IUh0RVE8w61pnOPOiiWTKkZqV0zgf/HgssEZSrgxWxs=; b=eW5RdTLO6hWCZgl2kijJ+R4hfNXUSD03jN6b5LaMFK5j5hjh8whBe8wO TP7/YR8NkloLe50F9B9fMAKrE1/DMc1of52yzhGwtpY9IINNETF9vRh1+ /+QxKhEknV2YfZJHRCzafLpVxNoyPJiUts/XhIQxKWKXpMF3H6iapmrHL Y=; Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com IronPort-SDR: bPRthZlSwnuU+7vlFLpn7h8vnrNhWd303H2gOghQaR9vhrNR1p5rttKr+y5OLvQSEhSyeywj+f F1L5Ozf9sVfN86fsQGfFBQGC28MwBeUl37LHxuTAw33FF3RUgOBE35GQVdkgusO3yMj3ZNPnl3 IMoAnFvFJPNm/VluF/RgLsrOwN1b6NnY4YLmiB5IkyJge3mnAevxZmgrFJP6OPJtAkFvbOVjf8 Ws/LAjde5dTu4H3X87uk/MdM3sE78J3V/lHKYm03XvTtAaSX8zpbRIx6wop0UreXny1+BENOyl Gjo= X-SBRS: 5.2 X-MesageID: 35832614 X-Ironport-Server: esa5.hc3370-68.iphmx.com X-Remote-IP: 162.221.156.83 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.79,375,1602561600"; d="scan'208";a="35832614" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eiBi/si0raOzLF8LpSiwHVd4D9QJSCS3dnZKzoJvO3m3YSYqT4UWayW2NjpR6o5bl6oO2/ZTz3cK95gzD5jxE2Ntktq2DQH7xiyEXeTJ4cX96POhsO7rd9DeJpHjMPFqbaGX0kQZuQWUxy4/Lh7XMLAeFUDBExlUJJasbJR+6K6RMGE68ZIs6roPM4Pe64TfMveDccnuuVRIEbb0zTKJorPkPf0nbzoBk87Iu3sVfPJm+anJywM1l7DxY/E0vufIFbI5Mi62DnVX7cpFbdJ2Axsg2T4YvmkE8G0nV63Bo9Jt7zcKQ1doRE0WYdPjIvZa1erVI45zg9YEVhFJCrJ26Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=H/2YxvgG6p6cjj2vAugUvonXsKtSjBfUQcfmm0qKKj0=; b=GeZNcg3nCiqc7MjMxuNF5uHh5e0NTokEGboMLBVIJeTgqvv0qig+K6EoXNYtYs4OpcmuhMXbmB7K3UsShVEooqA9meKRFtSid+rGTfg2ZccYxrSGV6lnu1ntkgooETYBLTU/7PqeVttnbvP+I1Kf6gOe4o5nDik3at9Cw35bRpUGBIJI2xIgyAWn3d+gviC/mrgvOBi2xCEgfkc5esADu4Qk0t+xTzPkqJXG1CiwBKiyF1gTIS2PZaCwD7czH12I790j8OXco2GkSlZxZFssUPsYQk/5FzhwusCX31fXFAiQ4AxEzYMqie/1XfDLnL5uS/KK7nz6QU62PQPtzlxYaA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=H/2YxvgG6p6cjj2vAugUvonXsKtSjBfUQcfmm0qKKj0=; b=WoUxnWPMZBX1zXzWLnHs2zPTx1YdeYtuHMWse4jnU8Mi+AH8S+GgrUmhXhGmyj7C71X5yUjxZdqEyFiUqX2KTrYeKkZN5qTeLUJSxcjfuJ0hPRnAX4QWxFY8Dp/f8OBqufSnUGgSt9ZlUnO1gtr5AK/sstXC/ZWcqal3eAumyVM= From: Roger Pau Monne To: CC: Roger Pau Monne , Jan Beulich , Andrew Cooper , Wei Liu Subject: [PATCH v3 5/6] x86/vpic: issue dpci EOI for cleared pins at ICW1 Date: Tue, 26 Jan 2021 14:45:20 +0100 Message-ID: <20210126134521.25784-6-roger.pau@citrix.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210126134521.25784-1-roger.pau@citrix.com> References: <20210126134521.25784-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MR2P264CA0174.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501::13) To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 909f7242-960f-49ba-2fed-08d8c200c888 X-MS-TrafficTypeDiagnostic: DM5PR03MB3209: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: A9Kf4G15ufgIYCd2mREST3ieBgIRmZEgn+gigioPoUPeZkq/ATd80arvbWJbAx4Rs3UynQidkWIKQlx/ha08FW20T30UVmt83rlIrLkcVvGWO9z+mmQCVfX9/hshLloFewp6UBUdfXcVUpikqwEH63nBnrHOH/sqResr57Bp/UucIdocNeO3Bf6ci5yPA+RI2HoHA6i2+yRib7ewyVm/H5U52UtItQCZTDW+xGGPcHatz54VAVnqWIx7icN2nGPOdDJPPeiLSzxWXkViE5kr3dbD3n6jrotDy6C0r6kMvDsqKupb9n6Rtp1n/5Be3z9GpWuSYOwgPIOQ8NdOtMjbAmmFGxm3tMQBefBEXwAYlngFFJksNU9ARxbLOhero6ad2nub1C91/diP8bZ67T6V7P3hjfVCaZb4Tx4VueuHeqnkK1JzH5oFbQxT/7v10LgvO6S5jmLe7MfreaXGzYffvDi1kSb4Dj5rms4JotRc2X7Td3rrlt741Jt0Ix9FnDnq+zvIlZyO11bQt28MqLws/g== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(346002)(39860400002)(396003)(136003)(376002)(6666004)(6916009)(66946007)(8936002)(956004)(86362001)(36756003)(478600001)(2616005)(8676002)(83380400001)(4326008)(6486002)(186003)(6496006)(54906003)(16526019)(2906002)(1076003)(5660300002)(66476007)(316002)(26005)(66556008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?RE5ycEp0R0VHbHIrNk5EQUtpbzE3MGxIeWpNakE2a2oxeERYY3crVEM1ZGwv?= =?utf-8?B?RlJNeGYwK3NzQXNSQkFvS3I2OTBkUUc2UkxTY1gwUWtkOForYXRKWjUveFJ5?= =?utf-8?B?aGR0TUdVWDZ5NDIzMWpYRGhIb25qWEh1MTQwdWFpRjM0U0NrUzc2SE5ramJo?= =?utf-8?B?Mldzc09OS1VOV1BycXRmNDcvd3JUeVQyV09MZTJjbVRxNmFvc2pESGRkZGc4?= =?utf-8?B?T2NTb0JHbUI0REJNU3RQSkFkU1dvd0g5MUxJOTI5OEcxMUZzcHFoYjl2eGdM?= =?utf-8?B?RWJqSTBaUVAyMXNtNlJrTWtCcmZBalF2WGpqUzRCTVhLc202bEFibXJjWEoz?= =?utf-8?B?S2Rod1R1aUIzdW5HRVU3bWF3ZW5GSmIxdWpNMDB3aklObWlTZkZlWWdOV05s?= =?utf-8?B?Y0YxeCtTNVJGcFdJWnZjL3JlYlJxeFBINndrbDZNUGZuZ3EybmZJRkd5MG1P?= =?utf-8?B?RUZBQlQ2VFBQUmoyWTUwYS9YN1FYNU5Cc0lBdWNUYldxakJXcXlGRzZWNHRx?= =?utf-8?B?Yi85SUZUTXQzUVZtaUN1TGxPTW5FQVJLOGdLMGw3Y0VhWVBoQkJSQzI0VkR5?= =?utf-8?B?aDJ6bnpVNVo4c2h1V0VERWRPSHRtWDl6c0FWNS9qb2RDdzhkemFhZE5sanMy?= =?utf-8?B?RkYrc09XNUpId2pxT3YwQUY0aWkvd1R1WStabmNwZmNiSTU5eFJpcVFQa1Nt?= =?utf-8?B?elVvZVdVa0dFMWxxeEUxWndwQ25wMmFiblV6RytRZ3MxVU1Ha1R3cFpVelc0?= =?utf-8?B?QVRGK2dPNmtwMG9TYkVxdnZ5M3ExMmhOVk5DU3hhNzJ0UjNJenovcWlabEFY?= =?utf-8?B?b2ljNWl4Y2NheTB5MmRSeUJyYzlKN21TKy9IcU1mNTRyN2EwRmZOVVNTSEZ6?= =?utf-8?B?UnFCVXFlL1BuaGlJeWJ4YTcyWDJkNUtwcHVjckhpenJubkpWMFp6VU9GQjBa?= =?utf-8?B?Zm9QV2RyUjluWjBPendOZDR0Zk82SlRUMXJhaWh5RFgyOUJLL1RVeG51bXAr?= =?utf-8?B?aXJnUUVEMDZaSHBQZW5LaHdPZkYvdHloZTBjZmszR0tMY08zRmJ1ZW1rbVg2?= =?utf-8?B?ZWRIZnNaZC91YnBjc1hwV2c2NEsvUDZxVEszdUNQR1NNVUsrWVp3YVlxZ1FL?= =?utf-8?B?MlpHNnUrQlJ4RElzeGw0UU92cmlkZ2pWd1BGbEloeEk0Nm5Da1RFM29Ta3VF?= =?utf-8?B?dGs3UUI1NkVsWDBnNmZhYmdVQm00UTd6NXg4VTJUM0xLS2FrcFY3cldoTWdZ?= =?utf-8?B?cTkrMnp3S0Q0YzlCaWxiQ0o1QjBLMzc0U2x6dUZQUWtjZDFvOHVUbmU4eHhw?= =?utf-8?B?dW5RdVEydHdWU09QeEU1bkRlYnlMWExuRnJnK3Z0cEdIYlhmU2x4ZldxWHVT?= =?utf-8?B?ejh1ak1vRWpRNllHdlVyOVh5Tno3cVF6SjdrNWlWMEx1bkJnTkxQazJQYmVm?= =?utf-8?B?NTRkbmo2ZG9kZ1FlbkpNQkpMZVlVVlo3UnltczZ3PT0=?= X-MS-Exchange-CrossTenant-Network-Message-Id: 909f7242-960f-49ba-2fed-08d8c200c888 X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2021 13:46:29.5391 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: B09+9vjU6k30frnSTFqbdc7UpmlSDJ4yUx8YW2qvMTf/iCS5X93AqHKcUi3tTQaLsssN01BIuElGDbimDyryuw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB3209 X-OriginatorOrg: citrix.com X-ZohoMail-DKIM: pass (identity @citrix.com) When pins are cleared from either ISR or IRR as part of the initialization sequence forward the clearing of those pins to the dpci EOI handler, as it is equivalent to an EOI. Not doing so can bring the interrupt controller state out of sync with the dpci handling logic, that expects a notification when a pin has been EOI'ed. Fixes: 7b3cb5e5416 ('IRQ injection changes for HVM PCI passthru.') Signed-off-by: Roger Pau Monn=C3=A9 Reviewed-by: Jan Beulich --- Changes since v2: - Remove the unmask label. --- xen/arch/x86/hvm/vpic.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/xen/arch/x86/hvm/vpic.c b/xen/arch/x86/hvm/vpic.c index 795a76768d..f465b7f997 100644 --- a/xen/arch/x86/hvm/vpic.c +++ b/xen/arch/x86/hvm/vpic.c @@ -197,6 +197,8 @@ static void vpic_ioport_write( { if ( val & 0x10 ) { + unsigned int pending =3D vpic->isr | (vpic->irr & ~vpic->elcr); + /* ICW1 */ /* Clear edge-sensing logic. */ vpic->irr &=3D vpic->elcr; @@ -220,6 +222,24 @@ static void vpic_ioport_write( } =20 vpic->init_state =3D ((val & 3) << 2) | 1; + vpic_update_int_output(vpic); + vpic_unlock(vpic); + + /* + * Forward the EOI of any pending or in service interrupt that= has + * been cleared from IRR or ISR, or else the dpci logic will g= et + * out of sync with the state of the interrupt controller. + */ + while ( pending ) + { + unsigned int pin =3D __scanbit(pending, 8); + + ASSERT(pin < 8); + hvm_dpci_eoi(current->domain, + hvm_isa_irq_to_gsi((addr >> 7) ? (pin | 8) : = pin)); + __clear_bit(pin, &pending); + } + return; } else if ( val & 0x08 ) { --=20 2.29.2 From nobody Mon Apr 29 10:49:05 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=citrix.com); dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=2; a=rsa-sha256; t=1611668819; cv=pass; d=zohomail.com; s=zohoarc; b=NJimtJbvcBba+umdRCmMDJeqaH2BWOa5T+I8Au08O2OnZ9MP+6EBOYaRDOPa9hTjjEv/r8tMlnz6zdlr5BPkYnbqg1hkyLlt5UPZTw9yF1JeKwfJsRkx6d5Z4zvgaBwewXIz0GhFaylUOwYUjXagMgeazsHGXKEaKf3U/mKb7LI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1611668819; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ESUtauwQX8NuL5g6STCfuBsRHGMv9bFrt+yaDxNcMYw=; b=jGt5i7d/GwFH6vbDgcVKlz0CwQXb049fLMVs7A9mLnpQAs/EpdYrd+w5E05fR3YKUj/QH1MUluBv3Jkpt4Yz+1+Fc+WzLQHwRupESITA5e7w+Y2bF1BVAVYrf519wBwN6Zmu/GDFAPfQYu1AtmdgyQt/orsa+A9uqv52uq4Edmo= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1dmarc=pass fromdomain=citrix.com); dmarc=pass header.from= (p=reject dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 161166881940297.20839220303628; Tue, 26 Jan 2021 05:46:59 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.75062.135075 (Exim 4.92) (envelope-from ) id 1l4Og5-0002nW-Up; Tue, 26 Jan 2021 13:46:41 +0000 Received: by outflank-mailman (output) from mailman id 75062.135075; Tue, 26 Jan 2021 13:46:41 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1l4Og5-0002nL-RT; Tue, 26 Jan 2021 13:46:41 +0000 Received: by outflank-mailman (input) for mailman id 75062; Tue, 26 Jan 2021 13:46:40 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1l4Og4-0002mo-P9 for xen-devel@lists.xenproject.org; Tue, 26 Jan 2021 13:46:40 +0000 Received: from esa1.hc3370-68.iphmx.com (unknown [216.71.145.142]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 42f6c252-3aa8-4103-a788-c44e73f23caf; Tue, 26 Jan 2021 13:46:39 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 42f6c252-3aa8-4103-a788-c44e73f23caf DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1611668799; h=from:to:cc:subject:date:message-id:in-reply-to: references:content-transfer-encoding:mime-version; bh=hcu6rPXB0GnFJq4wOo4jGXsPQsFB9xSluXYQMH2pwfQ=; b=aEXSjKr80CrROtLH+bRDV0eBIPgOetTvLJmZJj/UoCfKaqlNP+Is1/+S 6adbKRqMbeXf8nONA02BQnp1zetQJJEm8WrJ2I4rdWbtrt4+tvD5CevAq wZ2WVUVfVLZDZpeW9+d4XWV029PecHvQX8pZUp+1f1MrD6Kalb0Vg1Lb0 4=; Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=pass (signature verified) header.i=@citrix.onmicrosoft.com IronPort-SDR: F+5N4xvlVypnhSJ/y4LMsFy7hTmvlT0cffeRQW4jbNh9fFCCP1GCqKkiUWkTctIeG2MjWWWGnL TsWpXxBEcHAcgajfA0Q2QC5aluTyL0CahuVgGOwVTj38nxff9xYX0I5bYGFqLY4v+Tzwo8MAUX xdQAzzkLKHpBSDeT7JNn+cV2sQN6DdU8K98lTHex/8rCOYpqRYYfRdZ5Kj39ffhL1OKfaZpPuw 6qiPsuy456qgqxh/p/CqA3kPQHUFLP49z9Zk4EQKklwp0w5d1YjKoOZah1AVjCuYpEkINblnd6 SSM= X-SBRS: 5.2 X-MesageID: 36241636 X-Ironport-Server: esa1.hc3370-68.iphmx.com X-Remote-IP: 162.221.156.83 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.79,375,1602561600"; d="scan'208";a="36241636" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eZs0h+3fSJx5DvXQrBzGES3tKd28KY16SjqW9Lx8pE31Irmn7VvxDr/P0l3PNEVVdhBZXOMv0Vq2HMZDhW3dDJ/JAQyteayqXz/Dkragnr8eVwmduWHwGD8e4fsP/0Hs4H2cGDBRQ2EtaxeapJqVcab3U3eZPdqTQ4y/gvv/QOkAYOR6vxAbEp3PcfQ6uCQ1D/KpNDJF6rz65MNKPiVJycwI+w3eatvz/faMqYnIVG4rY5yTMZpNz4nbQxL8MAUxuMGMzh92qxm7DR9jsRkAKqSwj3HcjSOvudTZFFazQAHCUHMcdrWO3+5h0rE4VSDbnlj7YPUUyLvLocwFHPt/RA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ESUtauwQX8NuL5g6STCfuBsRHGMv9bFrt+yaDxNcMYw=; b=K1cpizfQnzueyqdUwH5+bUbycEuq4pV5YPdMh/6fyuLjcutzlLwSoRnVKNbbrsVtxXLa3+Or+FrL9bea1dbBJvSKa2FdeGpfETmWBpVIPZ7frsLHzTa20kduMj10LqfWwXJBt0CTkpT4QffSKxkALs6+7e0p4k7xG66lyXXJFK1fHMlTh0eeq0rrLV63S8AtsqUctomv0XdlPGvYtlYddMw/aVl5ShNdBwXDFPa9UNBV2P4ApLDPuQ54jwMkegLz7z1PmN3H5/HokDRmuOKCqb9P76LqFeoFfhBjib9b2Sk02eMVQu5k8PdT/fj/W259FPszG2dXSUHawXfykFssqw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ESUtauwQX8NuL5g6STCfuBsRHGMv9bFrt+yaDxNcMYw=; b=Docy04WjdBBFEGTqVuuKMn1ulIgRzsMP7kKF34uTxuEdvpldsXnOdgi8gHkmpigd51ZKm8YzGr64KRrZdphz6VgJLiqbkoWykFBpYWHSxEoSyzyPqcfXMUJDE5YMSJ8nu8iw7HSDPqwbKW8ILYNLGMvQSTM9l8RBEww7B8cM3zU= From: Roger Pau Monne To: CC: Roger Pau Monne , Kevin Tian , Jan Beulich , Paul Durrant , Andrew Cooper , Wei Liu Subject: [PATCH v3 6/6] x86/dpci: remove the dpci EOI timer Date: Tue, 26 Jan 2021 14:45:21 +0100 Message-ID: <20210126134521.25784-7-roger.pau@citrix.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210126134521.25784-1-roger.pau@citrix.com> References: <20210126134521.25784-1-roger.pau@citrix.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: MR2P264CA0177.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501::16) To DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5f362332-9e36-4f2e-215c-08d8c200cc02 X-MS-TrafficTypeDiagnostic: DM5PR03MB3209: X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RjFIeuz43TaSp5UaOvcqgwqMvz4igqJMjYBBurZh3bizXYVgUMknBSKsgsM6EcZktTa3iAPuyvo8GNrx8HXByWwWmjkvsfIXeda7JjFSVXELhvnKcs4LRQ418zOMj8/1QNV5ZQYH9S/lMqHTE/DkDxHiod2P4ktCnh7DDLAUdvrOAFlQLbkffRAsDuvHTAAXVE8x53bKQQrzY96jCrJWd4cMsDhUHXRS8k9a9jUiExrH+LQh48do2QHQLfZVRuTfvNZMU7h05rOTMM4SMIkjjvr9pUoA7sKfb+GMAMPfsPFUIznNGDrWzN1b5gDvfYxvUOmgMwPxQjodIGFS/yaNVVE+u0nnB6Il41JbAZ2mODAOtaLxxbAamV5IO3pYBNNkWAIdNX6+Ke9Hw7goWcNsfhR7TmzkemaWmNSsBTHAUvmB3/+r1k27GnGRgWjwiVL6IHCmGSA8tnB0y3loYP6jF6B7h751Gob7vkiOsCEMD1GfiLm4Rr9m3RB9HZ0f7Hb2Uf3YP5al3AsUYKeJAEvFnw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR03MB5608.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(346002)(39860400002)(396003)(136003)(376002)(6666004)(6916009)(66946007)(8936002)(956004)(86362001)(36756003)(478600001)(2616005)(8676002)(83380400001)(4326008)(6486002)(186003)(6496006)(54906003)(16526019)(2906002)(1076003)(5660300002)(66476007)(316002)(26005)(66556008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?dDUyQXBGdjlyS0FqaFpYYWszek9LbnhaYlZNK3FGUVZTTUpiM2g1RmNDaFoy?= =?utf-8?B?dkFNWWdnR3FWdzg2eHhLK2w0WkxLLzN1U2NObDZ3SWI2WE42RUIySkVCY0lI?= =?utf-8?B?ZXRiSkxYNjhWMFFNeFhsWGprdEFJVis5Ymt5ZzRxQXpNcCs4TnJFaGROQmxm?= =?utf-8?B?NktaQmYrYWoxSDVmTHV1UndFbmRaMzBjUzNWMXZUTms3RFhVdVMrWFJxOTl3?= =?utf-8?B?MHJmSEpuZVNrY2ZQTWFzbkg4TjNjd2J3OEhiMkk5VVVMbHhnYVI3NVNZNDdS?= =?utf-8?B?enhRMkVIays2UzJJb2doTk9iZGRzVFl5NCtPRWdDY2lVUFdaNm9qa09NZHVM?= =?utf-8?B?cFM1T0ZKYjczbTBqS2U5L2syT3U2QXRTeUhHclFqZHJDSjA1U0krQ2hOZFkv?= =?utf-8?B?VlBGeHdZQld3emJuM3RJTUVkcldEQmJoaUpMa21UV0FIZ24rc2pNMUxzcXB0?= =?utf-8?B?KytrTTJGWlBLcGlEYUJMQlRXWnVzNEZVNW9kaU0zWmloc05ZTHRXRVV5YU8x?= =?utf-8?B?TnFjTjkwa1dkSUdVT3BnaWJNYlRUdmViU3prWVBiSU9wR0M1WTZzS3NuSzJL?= =?utf-8?B?T2JOWDNERHB1Nm9ZODZHK2MyZVNralIwTGJDQmNUUXIrQTh4cVdIdXR0Misw?= =?utf-8?B?dHFHTXE5c3RPNy9QUThJMWNQREYxU05hN0pNRXNFSU9ORkRsZ3VWTzh0L2VX?= =?utf-8?B?T2x3a3JMNU9jRGVPZ1NZOUprMWI2RkZha0RibjQwTXpXZEJ5bjVSSDlOT2sx?= =?utf-8?B?VW1KaFZyNkVaNmxjakFXRklnWkJ1dSsyTVpQUHZ1UFFQZzhjaHI0M21Gd0w4?= =?utf-8?B?ejZTdTc2YS9mQW5iMUFvd1ZvZkp1VGN1NW9uUUJVYWxvd2srTllaa3A0ZFNH?= =?utf-8?B?cklPOCtOdXVGWlZLVmpBbkdSQy9HNlFZOGtQZm11cTNtWDUzWWoxOWttd2k1?= =?utf-8?B?ZzNqV1lJNTF4dkNXeSsrWjFINVM5SWhlN29NZUFTei9zZ1NyaCtEODhQVEFP?= =?utf-8?B?ZW1lV2VsM09jVGl5aGUvWWkzeTBDVDlyMEFnOHEvck1HUmpZU1ZaZVZqV2JP?= =?utf-8?B?ODdMQ3NzUjJwZHZSdnNEZG5DNTJTRnBNUFNXdFhYcDhibVlxVnhxR2tXVi9v?= =?utf-8?B?bUNVbzJDazhSb0FmL0I4YXkrS1hKd29ERjNUUUJncmR6ZVhLb2VkaGRPeVlZ?= =?utf-8?B?c29qQ0ZobzZnRDJrT2szd25iN0haSnZISmx6a2MvdC9VVGo3RHR3N1d6Qk4v?= =?utf-8?B?QWpYS3JHV3pTQnVGeVpkZ3VsbjZZTGx0UjhObTE2TGlLSHI2eFR5WmFQVVd5?= =?utf-8?B?em8yWjdxZ0dXSkZvLzRNMkl3RjNkMy9lRFowb0lmWTRzYnVuR3IyTGZhTmlZ?= =?utf-8?B?WllpZVVYZHQ0aURxOHFWWjhvVmZlZWZDeS9NQmZKWHE3NnhaQ3crTENscTJi?= =?utf-8?B?OGdWZVJoeSszZzdaYmczZ1JNL0V4dTZWSU5HMW5RPT0=?= X-MS-Exchange-CrossTenant-Network-Message-Id: 5f362332-9e36-4f2e-215c-08d8c200cc02 X-MS-Exchange-CrossTenant-AuthSource: DS7PR03MB5608.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jan 2021 13:46:35.2739 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 5HmbMAl3wDf3gqiTMY3EEsYXNduTJ5dU+hGVF+eAiivItDxQkWjBZKQgFGzdlmgyLkPWVDUI4IgOV+pVwbRi8g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR03MB3209 X-OriginatorOrg: citrix.com X-ZohoMail-DKIM: pass (identity @citrix.com) Current interrupt pass though code will setup a timer for each interrupt injected to the guest that requires an EOI from the guest. Such timer would perform two actions if the guest doesn't EOI the interrupt before a given period of time. The first one is deasserting the virtual line, the second is perform an EOI of the physical interrupt source if it requires such. The deasserting of the guest virtual line is wrong, since it messes with the interrupt status of the guest. This seems to have been done in order to compensate for missing deasserts when certain interrupt controller actions are performed. The original motivation of the introduction of the timer was to fix issues when a GSI was shared between different guests. We believe that other changes in the interrupt handling code (ie: proper propagation of EOI related actions to dpci) will have fixed such errors now. Performing an EOI of the physical interrupt source is redundant, since there's already a timer that takes care of this for all interrupts, not just the HVM dpci ones, see irq_guest_action_t struct eoi_timer field. Since both of the actions performed by the dpci timer are not required, remove it altogether. Signed-off-by: Roger Pau Monn=C3=A9 Reviewed-by: Jan Beulich --- Changes since v1: - Add parentheses. --- xen/drivers/passthrough/vtd/x86/hvm.c | 3 - xen/drivers/passthrough/x86/hvm.c | 95 +-------------------------- xen/include/asm-x86/hvm/irq.h | 3 - xen/include/xen/iommu.h | 5 -- 4 files changed, 2 insertions(+), 104 deletions(-) diff --git a/xen/drivers/passthrough/vtd/x86/hvm.c b/xen/drivers/passthroug= h/vtd/x86/hvm.c index f77b35815c..b531fe907a 100644 --- a/xen/drivers/passthrough/vtd/x86/hvm.c +++ b/xen/drivers/passthrough/vtd/x86/hvm.c @@ -36,10 +36,7 @@ static int _hvm_dpci_isairq_eoi(struct domain *d, { hvm_pci_intx_deassert(d, digl->device, digl->intx); if ( --pirq_dpci->pending =3D=3D 0 ) - { - stop_timer(&pirq_dpci->timer); pirq_guest_eoi(dpci_pirq(pirq_dpci)); - } } } =20 diff --git a/xen/drivers/passthrough/x86/hvm.c b/xen/drivers/passthrough/x8= 6/hvm.c index a6e2863c14..351daafdc9 100644 --- a/xen/drivers/passthrough/x86/hvm.c +++ b/xen/drivers/passthrough/x86/hvm.c @@ -136,77 +136,6 @@ static void pt_pirq_softirq_reset(struct hvm_pirq_dpci= *pirq_dpci) pirq_dpci->masked =3D 0; } =20 -bool pt_irq_need_timer(uint32_t flags) -{ - return !(flags & (HVM_IRQ_DPCI_GUEST_MSI | HVM_IRQ_DPCI_TRANSLATE | - HVM_IRQ_DPCI_NO_EOI)); -} - -static int pt_irq_guest_eoi(struct domain *d, struct hvm_pirq_dpci *pirq_d= pci, - void *arg) -{ - if ( __test_and_clear_bit(_HVM_IRQ_DPCI_EOI_LATCH_SHIFT, - &pirq_dpci->flags) ) - { - pirq_dpci->masked =3D 0; - pirq_dpci->pending =3D 0; - pirq_guest_eoi(dpci_pirq(pirq_dpci)); - } - - return 0; -} - -static void pt_irq_time_out(void *data) -{ - struct hvm_pirq_dpci *irq_map =3D data; - const struct hvm_irq_dpci *dpci; - const struct dev_intx_gsi_link *digl; - - spin_lock(&irq_map->dom->event_lock); - - if ( irq_map->flags & HVM_IRQ_DPCI_IDENTITY_GSI ) - { - ASSERT(is_hardware_domain(irq_map->dom)); - /* - * Identity mapped, no need to iterate over the guest GSI list to = find - * other pirqs sharing the same guest GSI. - * - * In the identity mapped case the EOI can also be done now, this = way - * the iteration over the list of domain pirqs is avoided. - */ - hvm_gsi_deassert(irq_map->dom, dpci_pirq(irq_map)->pirq); - irq_map->flags |=3D HVM_IRQ_DPCI_EOI_LATCH; - pt_irq_guest_eoi(irq_map->dom, irq_map, NULL); - spin_unlock(&irq_map->dom->event_lock); - return; - } - - dpci =3D domain_get_irq_dpci(irq_map->dom); - if ( unlikely(!dpci) ) - { - ASSERT_UNREACHABLE(); - spin_unlock(&irq_map->dom->event_lock); - return; - } - list_for_each_entry ( digl, &irq_map->digl_list, list ) - { - unsigned int guest_gsi =3D hvm_pci_intx_gsi(digl->device, digl->in= tx); - const struct hvm_girq_dpci_mapping *girq; - - list_for_each_entry ( girq, &dpci->girq[guest_gsi], list ) - { - struct pirq *pirq =3D pirq_info(irq_map->dom, girq->machine_gs= i); - - pirq_dpci(pirq)->flags |=3D HVM_IRQ_DPCI_EOI_LATCH; - } - hvm_pci_intx_deassert(irq_map->dom, digl->device, digl->intx); - } - - pt_pirq_iterate(irq_map->dom, pt_irq_guest_eoi, NULL); - - spin_unlock(&irq_map->dom->event_lock); -} - struct hvm_irq_dpci *domain_get_irq_dpci(const struct domain *d) { if ( !d || !is_hvm_domain(d) ) @@ -568,15 +497,10 @@ int pt_irq_create_bind( } } =20 - /* Init timer before binding */ - if ( pt_irq_need_timer(pirq_dpci->flags) ) - init_timer(&pirq_dpci->timer, pt_irq_time_out, pirq_dpci, = 0); /* Deal with gsi for legacy devices */ rc =3D pirq_guest_bind(d->vcpu[0], info, share); if ( unlikely(rc) ) { - if ( pt_irq_need_timer(pirq_dpci->flags) ) - kill_timer(&pirq_dpci->timer); /* * There is no path for __do_IRQ to schedule softirq as * IRQ_GUEST is not set. As such we can reset 'dom' direct= ly. @@ -743,8 +667,6 @@ int pt_irq_destroy_bind( { pirq_guest_unbind(d, pirq); msixtbl_pt_unregister(d, pirq); - if ( pt_irq_need_timer(pirq_dpci->flags) ) - kill_timer(&pirq_dpci->timer); pirq_dpci->flags =3D 0; /* * See comment in pt_irq_create_bind's PT_IRQ_TYPE_MSI before the @@ -934,16 +856,6 @@ static void hvm_dirq_assist(struct domain *d, struct h= vm_pirq_dpci *pirq_dpci) __msi_pirq_eoi(pirq_dpci); goto out; } - - /* - * Set a timer to see if the guest can finish the interrupt or not= . For - * example, the guest OS may unmask the PIC during boot, before the - * guest driver is loaded. hvm_pci_intx_assert() may succeed, but = the - * guest will never deal with the irq, then the physical interrupt= line - * will never be deasserted. - */ - ASSERT(pt_irq_need_timer(pirq_dpci->flags)); - set_timer(&pirq_dpci->timer, NOW() + PT_IRQ_TIME_OUT); } =20 out: @@ -967,10 +879,10 @@ static void hvm_pirq_eoi(struct pirq *pirq) * since interrupt is still not EOIed */ if ( --pirq_dpci->pending || - !pt_irq_need_timer(pirq_dpci->flags) ) + /* When the interrupt source is MSI no Ack should be performed. */ + (pirq_dpci->flags & HVM_IRQ_DPCI_TRANSLATE) ) return; =20 - stop_timer(&pirq_dpci->timer); pirq_guest_eoi(pirq); } =20 @@ -1042,9 +954,6 @@ static int pci_clean_dpci_irq(struct domain *d, =20 pirq_guest_unbind(d, dpci_pirq(pirq_dpci)); =20 - if ( pt_irq_need_timer(pirq_dpci->flags) ) - kill_timer(&pirq_dpci->timer); - list_for_each_entry_safe ( digl, tmp, &pirq_dpci->digl_list, list ) { list_del(&digl->list); diff --git a/xen/include/asm-x86/hvm/irq.h b/xen/include/asm-x86/hvm/irq.h index 7f76f6c437..07b1ab99cd 100644 --- a/xen/include/asm-x86/hvm/irq.h +++ b/xen/include/asm-x86/hvm/irq.h @@ -117,7 +117,6 @@ struct dev_intx_gsi_link { #define _HVM_IRQ_DPCI_MACH_PCI_SHIFT 0 #define _HVM_IRQ_DPCI_MACH_MSI_SHIFT 1 #define _HVM_IRQ_DPCI_MAPPED_SHIFT 2 -#define _HVM_IRQ_DPCI_EOI_LATCH_SHIFT 3 #define _HVM_IRQ_DPCI_GUEST_PCI_SHIFT 4 #define _HVM_IRQ_DPCI_GUEST_MSI_SHIFT 5 #define _HVM_IRQ_DPCI_IDENTITY_GSI_SHIFT 6 @@ -126,7 +125,6 @@ struct dev_intx_gsi_link { #define HVM_IRQ_DPCI_MACH_PCI (1u << _HVM_IRQ_DPCI_MACH_PCI_SHIFT) #define HVM_IRQ_DPCI_MACH_MSI (1u << _HVM_IRQ_DPCI_MACH_MSI_SHIFT) #define HVM_IRQ_DPCI_MAPPED (1u << _HVM_IRQ_DPCI_MAPPED_SHIFT) -#define HVM_IRQ_DPCI_EOI_LATCH (1u << _HVM_IRQ_DPCI_EOI_LATCH_SHIFT) #define HVM_IRQ_DPCI_GUEST_PCI (1u << _HVM_IRQ_DPCI_GUEST_PCI_SHIFT) #define HVM_IRQ_DPCI_GUEST_MSI (1u << _HVM_IRQ_DPCI_GUEST_MSI_SHIFT) #define HVM_IRQ_DPCI_IDENTITY_GSI (1u << _HVM_IRQ_DPCI_IDENTITY_GSI_SHI= FT) @@ -171,7 +169,6 @@ struct hvm_pirq_dpci { struct list_head digl_list; struct domain *dom; struct hvm_gmsi_info gmsi; - struct timer timer; struct list_head softirq_list; }; =20 diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h index 863a68fe16..192ee07127 100644 --- a/xen/include/xen/iommu.h +++ b/xen/include/xen/iommu.h @@ -183,11 +183,6 @@ int pt_irq_destroy_bind(struct domain *, const struct = xen_domctl_bind_pt_irq *); void hvm_dpci_isairq_eoi(struct domain *d, unsigned int isairq); struct hvm_irq_dpci *domain_get_irq_dpci(const struct domain *); void free_hvm_irq_dpci(struct hvm_irq_dpci *dpci); -#ifdef CONFIG_HVM -bool pt_irq_need_timer(uint32_t flags); -#else -static inline bool pt_irq_need_timer(unsigned int flags) { return false; } -#endif =20 struct msi_desc; struct msi_msg; --=20 2.29.2