From nobody Tue Nov 4 15:30:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=virtuozzo.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1530551382143156.49257442002965; Mon, 2 Jul 2018 10:09:42 -0700 (PDT) Received: from localhost ([::1]:34382 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fa2KY-0006n7-Gw for importer@patchew.org; Mon, 02 Jul 2018 13:09:38 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59338) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fa2AH-0007lr-5i for qemu-devel@nongnu.org; Mon, 02 Jul 2018 12:59:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fa2AD-00040c-9H for qemu-devel@nongnu.org; Mon, 02 Jul 2018 12:59:01 -0400 Received: from mail-db5eur01on0103.outbound.protection.outlook.com ([104.47.2.103]:6163 helo=EUR01-DB5-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fa2AC-0003zS-TO for qemu-devel@nongnu.org; Mon, 02 Jul 2018 12:58:57 -0400 Received: from rkaganb.sw.ru (185.231.240.5) by DB6PR0801MB1974.eurprd08.prod.outlook.com (2603:10a6:4:75::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.26; Mon, 2 Jul 2018 16:58:52 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gP9QO3cA6DLSG290YmJ/C8r0B7D7AWYJm0+M+7ejm+o=; b=TzkvF1IRcKDzTNNKpa7aqbUhHBKz8YgDb5DlgwrXdUCnr17hkxgDOGfQ0MIBPXPdadNcHtq7Ec/+xtaoO6gTuEwZHkXbeghwYxdOm5O16cg75jl7gkRFOTN6SV1kqUvld8iOWcWyloVn10fMCg++CLOTDLDlhz0tf2nvTHBci5U= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=rkagan@virtuozzo.com; From: Roman Kagan To: qemu-devel@nongnu.org Date: Mon, 2 Jul 2018 19:58:37 +0300 Message-Id: <20180702165842.11423-2-rkagan@virtuozzo.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180702165842.11423-1-rkagan@virtuozzo.com> References: <20180702165842.11423-1-rkagan@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [185.231.240.5] X-ClientProxiedBy: VI1PR08CA0234.eurprd08.prod.outlook.com (2603:10a6:802:15::43) To DB6PR0801MB1974.eurprd08.prod.outlook.com (2603:10a6:4:75::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f6ccd8f8-888f-4dfc-3ac3-08d5e03d1838 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600053)(711020)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020); SRVR:DB6PR0801MB1974; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 3:nY/C9tL4ePCEL3AKChd/Y+y5/SOZ9nfnojCp/Arwv/YQyAmQvfw31P9iPkUOsBU7+b7nsifOpY4L5ztCYDq9tsG5YIzlWG+IK4OUYwoXcpWCfMV1ADsFTA0DjxL01Q1pf98vS8OYWDs03dYfFeRuu+H9s1G23ylUyty+96QvbSdkvH0CFkAbGgse9DHInZiEhGZIVV4czxsYMjfdC5UV8Ro5vjG3W0V/8cJXGmxeFUQoUSFplq9zBDkzoK0lp6QN; 25:HnnewR1+iNuT0j5JYoMHuxR7GNkOHi68gVzWrX6cuYkFLZ734Knsa6RJD0GDZpGZMpfugfJ718bUJmpgFeLR+dUsaGiUo0q74NA3qqFn+8DM/P/YuxndCrnZBFBBy8hul4quQKOiDzdisyiFk4fP+k+yYIAYL5B6j3qEOqs7nVeE7r9KngBOZF5pB/OTESGcIV/J2DD6SrIbQNkLuXovNOiwMtAuXVxHca+CEliJdzHRPoOVpmXUWYWpr4Lq/4ugEFK4JNal9u2/8X6bF8v4WV/IO8Yft4YCbeDMQec/0bgs9h0caFq1TSCbZ2Yaic7eDLPwc/xSaKraJel/So9W+A==; 31:TYEndU7WIqEI39Qsc7/BUZVpruzUQAs3awmWCCg0nTfdf2K3a4zlxI1CqnuGaoIdX3GjbvSYNXW6kWZRdgvEtmMjy4Q9N3Eyf1puA3leazgLGtjlfbo9C9ZZRn0PKEMFRwpET74HJXzewYMNmoJlUaOOU+XFnEyUuNETd+5Ptda5NwtsaTMRzKfpVq+fMso5DalD04j8Dcn3YuUYf0Bf2AQpMo39CSOD3mTx2h31Bes= X-MS-TrafficTypeDiagnostic: DB6PR0801MB1974: X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 20:W7+uypzAp63sWDr//uiL70YbycvsQxXuN+fJL1lvQlfWlR0ugk+q5GGrzbkMVnZDSt+XgPZZHd5C8LgnmdX/YMrlXqlqpUFKv7D2OnUv8ufyplU3Vb1QVHnt5B177KAWPGBaN9UxRk6WRRTROWWz8UI3yx9/KICDKXKGeLv9JqFXV90N1+e3UZKgcj30KcZnOCcMijOC1YkeqiIQZ8kjJBZfSZnD6I/nyCjGyRRfegKftAVQcyuMYnXGqMFJNvg6ZC5CQPHUKgwRbNrKkum4LzX9l5pHGigns4wjg0x/OHAk7c0E/ssADTj7B2gG0qopHOsSOP37+boC2Bfk2MO3s/NIC6B4CKpzyA1gkRa6EPhSkSNOPD4gBxXGWb9JOzuvoZc4rMF9gbJBlzjwZFtNLice6bNFsMGwWMHhqRSN3IuEgJxsTqriM7i2qgh5yD/9d22Ges9En/NsQhdOmjUKVIkQaJOfZqGtUn7dFWIE/3nfBn5uaTsl+dC4+CzMGMEy; 4:144yksG9SQXUOkERkbZhuiGIodGEdB7rwiWso7+mPOzciJgrMJMELOKz288q2BdvVFxVZ4/TLiqdhzgaSqeqfmdIqchUmXNnpaIm2Rq98LJAjhhP75YcUCeaB0SC7mPJY6hUg9D6NNjNJRDMKKVP1OJv+x42q97MmK1cUHVw38xiZg0rgCHfUkOAWZrQpofqM9H4H7q9n2jCAq4uod1bjInQd5Cm3L6BwyGAiVA2brkOnsE8en6EqpFWwwvZoZ1Jg7hsTV8sCUS7AC6Mh2VeSA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3231254)(944501410)(52105095)(10201501046)(3002001)(93006095)(93001095)(149027)(150027)(6041310)(20161123564045)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:DB6PR0801MB1974; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0801MB1974; X-Forefront-PRVS: 07215D0470 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39850400004)(136003)(396003)(376002)(366004)(346002)(189003)(199004)(7736002)(26005)(53936002)(305945005)(4326008)(50466002)(39060400002)(478600001)(6506007)(386003)(186003)(6512007)(51416003)(6486002)(66066001)(47776003)(25786009)(76176011)(97736004)(2906002)(2351001)(52116002)(16526019)(11346002)(105586002)(36756003)(8936002)(69596002)(53416004)(3846002)(6116002)(106356001)(81156014)(81166006)(446003)(2361001)(7416002)(86362001)(54906003)(2616005)(6666003)(16586007)(956004)(316002)(486006)(48376002)(68736007)(1076002)(50226002)(8676002)(476003)(5660300001)(6916009); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0801MB1974; H:rkaganb.sw.ru; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0801MB1974; 23:eQM2ecE3PVN0XQJiWH9RghfVkqaUpQFeRmkaaVF?= =?us-ascii?Q?9lxz8e0agFUDgEEdSjCjvdaJP+5Rqp/n3UwTpfNF4wzHCE3iGRU7rkdoyC23?= =?us-ascii?Q?QX238WSI/NdHTzT7D+O/E/jAUl391eM4VC5/gx4h5LPqeuUAY2TL9T0PfWZ2?= =?us-ascii?Q?CT7lf0caq5/Fl8V22BXtozcIZ392epQJOv9C4AYd2tE6l9VaGLMlEAaqcSwl?= =?us-ascii?Q?YbgmnRqPpkLH9cDaviA6JnTFJGR/igNwD1TEHfnlrLimzhUrXxts074Txkly?= =?us-ascii?Q?lePubAsKo0snnQGZz7kaSxn0iwZ/M3X/7aYl6nHftbJdequfsXLCjFMVBEkV?= =?us-ascii?Q?/01RR46sY3BjXc3N60rlh9l2Zc6P7VvJhoVKC71eaJ6LaUeYQcaVOTIOrY0w?= =?us-ascii?Q?jz2v2dYXMxs93UKBaiSKcfwXAzdNmPPgbX+BfjG3gJATi9ejK0/lT00pzDoS?= =?us-ascii?Q?Ixz49ueOFObWt5kaxCA+mbrwtA6F2bZEmR75T1AzKbNujg0/m35waq9ty7Aj?= =?us-ascii?Q?zeWW+UuZ3aIci8w4BV54EGEwqJLLXAw+o1n/7QRfOSeZyKDi7cyMMnDLp+l6?= =?us-ascii?Q?coEoN+5A7xos4DYYIfibN1O6Jxq0hnTYaAhXytYWVIgoP7iGWB4zkqrjzWjz?= =?us-ascii?Q?3xFv0PdS5eeLdxkgi/Azr7iO61nQdKmX9NfxDfo8R+CL61A5pUoEBWWLmp8G?= =?us-ascii?Q?YspOixytJuiejvIo8H/Y8e3awZfvA1SOp4bXlmXCOCaVxyrb1Ls5CCykV0Qe?= =?us-ascii?Q?oxBqb9ABqoVejHsta3+Mj+lZezzjYLNeZI6kqU+jMUba1nYInZ1QNuSYqDSz?= =?us-ascii?Q?jOJKQQs92JyLVFKP6SJ6BnMfM3JNIpylKxDsk7DieaJi/qfBqsSMMO/MOBG6?= =?us-ascii?Q?uEzdqg5behzigrEh/F6IKnZXMl1jk49XDiDSyYleHsPb1y3Wpqhr0Php1tK7?= =?us-ascii?Q?K6qwAn4ovhjVmpr7Shcj62Q0kJyB+pEq2RUJYy+tln2byW4SStD4pdF3eD3z?= =?us-ascii?Q?NBz3OuBpAqLsujqeb5LQj6E1sSdATIwP3TFdzF8INtqD6a8KJaTlCwD2vKJk?= =?us-ascii?Q?2mICPPG8rSkucJtQBOWdjOW2z+T0FlDFV/ay7n8TI5nKZ/h4EIxlDtUXTEnc?= =?us-ascii?Q?5t2iVoQGEKyyStIwExoGuJCpaS2os2PoZcSJYN0NsAu7xlWFp1hFheZuDG+V?= =?us-ascii?Q?d4s1RMkGKNhyZeDUWZ5Cjnb1Qi95KCHqnudlGLAUpWSfRZ2Ji5jZZ1/oDESK?= =?us-ascii?Q?mO+49iXdabBYgoO2u6txc3RTl2VZVy32Hb926xbqiyp9MBRIRTR6r/Z5+GuA?= =?us-ascii?Q?vKoWdi5AyEhDO1XHV2Nz+s5KrRUx7wVOhU21DQnqwfGcc?= X-Microsoft-Antispam-Message-Info: +48SxdMAQzQ3dPncYJvzkefHqZlP8tU3e1RGNXO90nIGHz4atYL2E7gE+vUeYLCdKzj40OqelxXCBfgnuKNBupLVgAIcyzK6Oex8orvWcIZTJ34/TVNYqk6NfClUjP9LXxmj2NBfPXhBu2cX+CqsqiNrlFRvrr/QBavo7pd7a7BSJqvX49kZaErmJkZzOtqVHCFN6uFtK684T4bfs6Dt1MMXsUoRcxvE+e23rTtNrKBhreb5F2OQGu5mNasJe5td6ZcLj0nlrmWGbZsqmuuAD6cv7VUQo89bLQdZ/hGJxrzLGyspS38Nc3HT+gzsgSPxLJL2kCNbh69klmY0lrTVbMIb5iTAakh51Rn6lH+gNdU= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 6:jY7qW2ugNxlIvemHqxzg2/kwlKRGS6w93eFspO44UDN1j45vd9+6z/MBQNfGo1f++a6NjZ22yQbRkYDVSCZHmMUlW9FBi5q3IJcGfzd+7glUNL9kFG9s6ZJbsDJno89NuNhBAvlWrtuft4Su29W3SoS8asg4i+cb8sVJk7kbHdPPxZcrD42sE5K8pBi/JnEqjSu+xVkQtscwoN3vuVvgsrScg6AJ37JPlWzEOFfFofmFIb+pNk/LZ2kGDiisXJxYIGKNrymGZ3M+byGB71Q4RxjyCoCrQsxIY0eytHlbDPArOYEie/vkcBi8uetaHXGYq75yHskTgFRBc5HAkXm5RnKnkv9o8/Az7snIA6YDPnE1rgcfciT9TjqfuquYQGSFyVeQ17xlZpI/JURrm6ndVvVfaIv5dT/ydLGYcqzPh6+vcq6p+UwMBKusQgFNOAZWwZpyAPFZh7006X60RAlP8g==; 5:icC5XSUZ5D2YsM3V30Y5Q1cmRQvmxCqUaBGX+M1lxF/NUnt8vYvvb/H9MR0aa2D8K+5XaQJLr/mZU1wjIMhcFgr74FkZ/nE7qV+4Ln7C9OxVm1Wh6/Rr9l7BhWemtCLiSD+2BjIKTCclHiLu11qTZM9arLeJxmU9gtYtPebr9e8=; 24:buEhpynjvDOoMF2czYp9HEAuIfKMqVaa5PR0X+0jD5Dg2JtzLq4t+BnXcbh6IL4ldrYZoIqJPBgrAIgqu0gy2zpl66+yyJ/HCp/O90z5ZMQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 7:hBNXv5GE8DomDO1x4P71Xqq0AI0Qi5VIdo2XycND9+rxh2Imf+c9RxgacNpiyIx1ry8rcI3abriabtc4siBu5ZwnI+0XSEoHmvu+8SNWa2nShHUiuAoVBsgWRW8WyTndaJc4re/xVf1On1b4CuBtseSZKbGbXcPYuO9nKyIsdXeBkz43+xmQ5uG7urMXl13u4bZhMNPegBnh+qwl3APZOITS8IQFs1z668AiDqjd74OvMsdKJgzP98Imx2/2Itq5; 20:OtKgoc5XbNar17J+QgekAvNWd2w/Y0hweGhZmZRnYleH6dBjkc8onFbhRLkTWn3Ki40shjF0lKRnYGqnOPPmNy5TT55RBTSWGV7RkMsGJN86dkPCDQjck+vHVX7c7CLYmgbXEyZip11Cv64C7qiX33mJqhhoTrYE/W4lBUTkq/I= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jul 2018 16:58:52.9293 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f6ccd8f8-888f-4dfc-3ac3-08d5e03d1838 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1974 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.2.103 Subject: [Qemu-devel] [PATCH 1/6] hyperv_testdev: refactor for better maintainability 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: Vijayabhaskar Balakrishna , Eduardo Habkost , "Michael S. Tsirkin" , Konrad Rzeszutek Wilk , Venu Busireddy , Liran Alon , Igor Mammedov , Si-Wei Liu , Paolo Bonzini , Boris Ostrovsky , Karl Heubaum , Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Make hyperv_testdev slightly easier to follow and enhance in future. For that, put the hyperv sint routes (wrapped in a helper structure) on a linked list rather than a fixed-size array. Besides, this way HvSintRoute can be treated as an opaque structure, allowing for easier refactoring of the core Hyper-V SynIC code in followup pathches. Signed-off-by: Roman Kagan --- hw/misc/hyperv_testdev.c | 116 +++++++++++++++++++-------------------- 1 file changed, 55 insertions(+), 61 deletions(-) diff --git a/hw/misc/hyperv_testdev.c b/hw/misc/hyperv_testdev.c index bf6bbfa8cf..de07d7e8c3 100644 --- a/hw/misc/hyperv_testdev.c +++ b/hw/misc/hyperv_testdev.c @@ -12,6 +12,7 @@ */ =20 #include "qemu/osdep.h" +#include "qemu/queue.h" #include #include "hw/hw.h" #include "hw/qdev.h" @@ -20,12 +21,17 @@ #include "target/i386/hyperv.h" #include "kvm_i386.h" =20 -#define HV_TEST_DEV_MAX_SINT_ROUTES 64 +typedef struct TestSintRoute { + QLIST_ENTRY(TestSintRoute) le; + uint8_t vp_index; + uint8_t sint; + HvSintRoute *sint_route; +} TestSintRoute; =20 struct HypervTestDev { ISADevice parent_obj; MemoryRegion sint_control; - HvSintRoute *sint_route[HV_TEST_DEV_MAX_SINT_ROUTES]; + QLIST_HEAD(, TestSintRoute) sint_routes; }; typedef struct HypervTestDev HypervTestDev; =20 @@ -39,88 +45,76 @@ enum { HV_TEST_DEV_SINT_ROUTE_SET_SINT }; =20 -static int alloc_sint_route_index(HypervTestDev *dev) +static void sint_route_create(HypervTestDev *dev, + uint8_t vp_index, uint8_t sint) { - int i; + TestSintRoute *sint_route; =20 - for (i =3D 0; i < ARRAY_SIZE(dev->sint_route); i++) { - if (dev->sint_route[i] =3D=3D NULL) { - return i; - } - } - return -1; -} + sint_route =3D g_new0(TestSintRoute, 1); + assert(sint_route); =20 -static void free_sint_route_index(HypervTestDev *dev, int i) -{ - assert(i >=3D 0 && i < ARRAY_SIZE(dev->sint_route)); - dev->sint_route[i] =3D NULL; + sint_route->vp_index =3D vp_index; + sint_route->sint =3D sint; + + sint_route->sint_route =3D kvm_hv_sint_route_create(vp_index, sint, NU= LL); + assert(sint_route->sint_route); + + QLIST_INSERT_HEAD(&dev->sint_routes, sint_route, le); } =20 -static int find_sint_route_index(HypervTestDev *dev, uint32_t vp_index, - uint32_t sint) +static TestSintRoute *sint_route_find(HypervTestDev *dev, + uint8_t vp_index, uint8_t sint) { - HvSintRoute *sint_route; - int i; + TestSintRoute *sint_route; =20 - for (i =3D 0; i < ARRAY_SIZE(dev->sint_route); i++) { - sint_route =3D dev->sint_route[i]; - if (sint_route && sint_route->vp_index =3D=3D vp_index && - sint_route->sint =3D=3D sint) { - return i; + QLIST_FOREACH(sint_route, &dev->sint_routes, le) { + if (sint_route->vp_index =3D=3D vp_index && sint_route->sint =3D= =3D sint) { + return sint_route; } } - return -1; + assert(false); + return NULL; } =20 -static void hv_synic_test_dev_control(HypervTestDev *dev, uint32_t ctl, - uint32_t vp_index, uint32_t sint) +static void sint_route_destroy(HypervTestDev *dev, + uint8_t vp_index, uint8_t sint) { - int i; - HvSintRoute *sint_route; + TestSintRoute *sint_route; =20 - switch (ctl) { - case HV_TEST_DEV_SINT_ROUTE_CREATE: - i =3D alloc_sint_route_index(dev); - assert(i >=3D 0); - sint_route =3D kvm_hv_sint_route_create(vp_index, sint, NULL); - assert(sint_route); - dev->sint_route[i] =3D sint_route; - break; - case HV_TEST_DEV_SINT_ROUTE_DESTROY: - i =3D find_sint_route_index(dev, vp_index, sint); - assert(i >=3D 0); - sint_route =3D dev->sint_route[i]; - kvm_hv_sint_route_destroy(sint_route); - free_sint_route_index(dev, i); - break; - case HV_TEST_DEV_SINT_ROUTE_SET_SINT: - i =3D find_sint_route_index(dev, vp_index, sint); - assert(i >=3D 0); - sint_route =3D dev->sint_route[i]; - kvm_hv_sint_route_set_sint(sint_route); - break; - default: - break; - } + sint_route =3D sint_route_find(dev, vp_index, sint); + QLIST_REMOVE(sint_route, le); + kvm_hv_sint_route_destroy(sint_route->sint_route); + g_free(sint_route); +} + +static void sint_route_set_sint(HypervTestDev *dev, + uint8_t vp_index, uint8_t sint) +{ + TestSintRoute *sint_route; + + sint_route =3D sint_route_find(dev, vp_index, sint); + + kvm_hv_sint_route_set_sint(sint_route->sint_route); } =20 static void hv_test_dev_control(void *opaque, hwaddr addr, uint64_t data, uint32_t len) { HypervTestDev *dev =3D HYPERV_TEST_DEV(opaque); - uint8_t ctl; + uint8_t sint =3D data & 0xFF; + uint8_t vp_index =3D (data >> 8ULL) & 0xFF; + uint8_t ctl =3D (data >> 16ULL) & 0xFF; =20 - ctl =3D (data >> 16ULL) & 0xFF; switch (ctl) { case HV_TEST_DEV_SINT_ROUTE_CREATE: + sint_route_create(dev, vp_index, sint); + break; case HV_TEST_DEV_SINT_ROUTE_DESTROY: - case HV_TEST_DEV_SINT_ROUTE_SET_SINT: { - uint8_t sint =3D data & 0xFF; - uint8_t vp_index =3D (data >> 8ULL) & 0xFF; - hv_synic_test_dev_control(dev, ctl, vp_index, sint); + sint_route_destroy(dev, vp_index, sint); + break; + case HV_TEST_DEV_SINT_ROUTE_SET_SINT: + sint_route_set_sint(dev, vp_index, sint); break; - } default: break; } @@ -139,7 +133,7 @@ static void hv_test_dev_realizefn(DeviceState *d, Error= **errp) HypervTestDev *dev =3D HYPERV_TEST_DEV(d); MemoryRegion *io =3D isa_address_space_io(isa); =20 - memset(dev->sint_route, 0, sizeof(dev->sint_route)); + QLIST_INIT(&dev->sint_routes); memory_region_init_io(&dev->sint_control, OBJECT(dev), &synic_test_sint_ops, dev, "hyperv-testdev-ctl", 4); --=20 2.17.1 From nobody Tue Nov 4 15:30:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=virtuozzo.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1530551525848470.5867043130471; Mon, 2 Jul 2018 10:12:05 -0700 (PDT) Received: from localhost ([::1]:34407 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fa2Mv-0000JQ-2U for importer@patchew.org; Mon, 02 Jul 2018 13:12:05 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59388) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fa2AJ-0007nt-58 for qemu-devel@nongnu.org; Mon, 02 Jul 2018 12:59:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fa2AF-00042J-B3 for qemu-devel@nongnu.org; Mon, 02 Jul 2018 12:59:03 -0400 Received: from mail-db5eur01on0093.outbound.protection.outlook.com ([104.47.2.93]:14944 helo=EUR01-DB5-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fa2AF-00041L-0b for qemu-devel@nongnu.org; Mon, 02 Jul 2018 12:58:59 -0400 Received: from rkaganb.sw.ru (185.231.240.5) by DB6PR0801MB1974.eurprd08.prod.outlook.com (2603:10a6:4:75::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.26; Mon, 2 Jul 2018 16:58:55 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pax2d68xuYZyaTxOSJWnO9DiqXNwqJmRO5b2znuh7c4=; b=A5gMZfjZp3fKayv1Rz2rJQqelMQBQY02AQBtAxDlcuWEWVVzauiu7ytLZXBperMVOYEFyZgDSr598Poz8ZSfnQKh+XNlCjHoL+WeyrfGEpRSam6BHw69keq6SUm65LVdbJcoGXtRxIKYOikPd6v6r6e81udk7njOrCGrstgYwr8= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=rkagan@virtuozzo.com; From: Roman Kagan To: qemu-devel@nongnu.org Date: Mon, 2 Jul 2018 19:58:38 +0300 Message-Id: <20180702165842.11423-3-rkagan@virtuozzo.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180702165842.11423-1-rkagan@virtuozzo.com> References: <20180702165842.11423-1-rkagan@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [185.231.240.5] X-ClientProxiedBy: VI1PR08CA0234.eurprd08.prod.outlook.com (2603:10a6:802:15::43) To DB6PR0801MB1974.eurprd08.prod.outlook.com (2603:10a6:4:75::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ff6ec750-dc5a-40c1-af1d-08d5e03d197b X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600053)(711020)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020); SRVR:DB6PR0801MB1974; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 3:ZraJ5NVq1OWpNW/jj+pG3KiY5Rhc/wFByiXKqQWuuO9j64GsV/2f3jKXsERkzrEGqY0+NTTO3mOkr0dvmkVPVxXdu9uchpSmIAR81da4pGwJg0QO44ospsr8x409zW6XUhijUm+h+95ASbVqBCIASRzrihcNPhwzthJT8LXNzu4do/i0IPag6wWGnD6kTFcQhLpfn75wukl3UBSvLrezW91WZcLazHvU0X6X889MY7CwHovBUzwXZFOO8z4H/vB2; 25:De4hdl/2Z+GOJFlcnOB2TgUERf+rxctKZ3EV+RbkvOZcrLD7rRptY3aNgV89L/fAnXEAQ8lU8legYWhbhQ7M2ShnyaypEWKqxXw3h7I08MZNfakzu6d5hQ8d6LJCeJLUTbHDKHmglTfiAZ21CVknl2norDqC7+/f5Ga3a4lbwk1oXX9RS6JW0oojXG33hDfTJNhhyRIeRlXXLyPLBRRgM110BzvSx1tl7TvDlGEqPhVYot0RfjXrhQveWDa9dKzmdaADJe2u3CxdiASQBqF8DTzLulUXUD5AOqyoC6j6XO5vFHjc1rrfRqyfbyFnb/+lKkjRuaVL9SD3M2m52KnTqw==; 31:Tg5wVrJzXucyhTR9iYjXnnvISxRE+VxTBLuxYSHmjmVJ6GeJt64FczyEhkL5otN4O0jzLE4z2kv8z4TH3zvbWYJ/3glTyws2RSExz7CduRpNbacNsQOJN2jGsnE1cxrIsNMgy7dtLesBVo81TxyLrQl/mmf7hGYDGzbJnw1oRgBR/mKCIHBSKbjUt6HmBgIj5vEVdcADiLKmdq0T7e7XIeEySjlXM78dWElJDJ+xfig= X-MS-TrafficTypeDiagnostic: DB6PR0801MB1974: X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 20:SKCYOpsi0hncZ9tg5sLm6Rnma+AoEECOAz6GtAchEtb5JtsNQMTBlG7QX+iF2hOU296p24ID57y8dEc6mKc3f5mxsww4gR9uKK2t4Cw4ux4M5oqPG2p3zijjtriqCblzmgq0kzGu20PPpmXiqNPwKnBqYUumAfTbxN5ku+TWOWbSjvGhsFucWrzYfjAxJwc5ROSerfGjSqYE1xiYqII14bL2ni3dSak/MZOBUbrOnc1A9xtqwoFH5ChMRK8f+DuOKsdZFgadxYvL926Zx6/37OyrXsdT6iY2bOwY2otOndsWZZG2CzxsCbRBjF9ZP7MAx5Cv2OzzGNZv85611GIKq0V31jGtaPcoV02+oSA825Uw7a83/FI45pfEw83aw6FR/xhFmzEWnKKdGiQfAujChJ43OK12Rv6sffKDd0bblCyAvF1vkX7s0NXXirhOb+kdK+Ym2TaC6ctpf73+zpVXs3JpojBiqcXgzDNtbbtr0rilj8rlsr7JqVRIvxVeUkYF; 4:zQrC6ByOK45gDUt6GSbAOwbptJDAf9ZbxiLD9CTi/H9L69AIMgxh421cCLI5gaQC2hnoUTLVIZxT1xnOW2Qzq3wMv8EngAEM/k7mqw1EXrLHnj9J0odkYePSUhqo46X0TQZV4ZMe0Xnzc5Uu+9s+Ok+vmEfgvdSoSwjOWkUhbACdzWmAa87pFiUtZp1gM01zsAzvu1EbEf6cYmvWCgiNmJ5CFZX2tQJey109+OXlZeeDPzQ8hWWODdr4y/wI0Dl1gDfqQlO8F7umy3usYvRqBg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3231254)(944501410)(52105095)(10201501046)(3002001)(93006095)(93001095)(149027)(150027)(6041310)(20161123564045)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:DB6PR0801MB1974; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0801MB1974; X-Forefront-PRVS: 07215D0470 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39850400004)(136003)(396003)(376002)(366004)(346002)(189003)(199004)(14444005)(7736002)(26005)(53936002)(305945005)(4326008)(50466002)(39060400002)(478600001)(6506007)(386003)(186003)(6512007)(51416003)(6486002)(66066001)(47776003)(25786009)(76176011)(97736004)(2906002)(2351001)(52116002)(16526019)(11346002)(105586002)(36756003)(8936002)(69596002)(53416004)(3846002)(6116002)(106356001)(81156014)(81166006)(446003)(2361001)(7416002)(86362001)(54906003)(2616005)(6666003)(16586007)(956004)(316002)(486006)(48376002)(68736007)(1076002)(50226002)(8676002)(476003)(5660300001)(6916009); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0801MB1974; H:rkaganb.sw.ru; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0801MB1974; 23:UWSGmUF1KV2mB9CBpducW83JFvkR3KbIYKJLiWb?= =?us-ascii?Q?mF0+ImMB6gzpBj7JhjlOBsWacsLNY5UMZdpJ8K2Kg9Lmy5/sGvbNrCnmA/UG?= =?us-ascii?Q?Slx+3EPRTgaOoKOOqOxeL6NH/xVdBzBFJb3aWQMY9lNMcHMMhVqrJOA2cqym?= =?us-ascii?Q?+hkwiJyvrnxuegc7JFfWGOV2evvyx2YcdIrCNVhkwiFAzAL1fsC3OOu/+Xzc?= =?us-ascii?Q?rqOwBvyH2P71Cxw2YSnG+bA+sVF5e2qnTn7CcJ+G2IacwSdXEm+VcPQDOX3+?= =?us-ascii?Q?s8YrKbFPLrZ1wGJiOxGaf4P+dq7EQ9a57m054L9upQ60bpn5kudCsEuAq6xa?= =?us-ascii?Q?mwI6+s0Ad0dqTZqzztjqgjytXib+x31s2zTOWnZ861beAF1HpZ44HKH6HvQj?= =?us-ascii?Q?WybVN0nzOFtqAnytYPsyDg7uHDbHulpxIsqp6OTIdoDY3IB8zgBI4C36WMlf?= =?us-ascii?Q?r7yFicHIpVW/QJunV3EqviNv9neU8L3G41b3nLPFHkpehM+OWsWu3bIongYW?= =?us-ascii?Q?FQkQPUHFKSS9GbDA6Zvx7Koh0mPEx4beNxmmnN4UR0yk071TR3vDmlrhj+c8?= =?us-ascii?Q?/UObmydqACdWuv3QLW04HIbZHeFProoOhP5fVwTiom79fD2Riz2aRpb8aR2C?= =?us-ascii?Q?Mbfjk6CxdR8BrCKM0Ri5h9Vv9OmvvrBN3B9Jn5XlQ1wvktVPLtAWqHCRFEPK?= =?us-ascii?Q?a0bpVKyLuXEAM2VI4YZ/uqbgffEYTh8d1pQfNEahLVKre/mq5dFIACdNygd8?= =?us-ascii?Q?pUWVwcLRsjTp4Sz/YYr2gr+U6SxIZ9Mz6cETVmVYW/Nv6aF2Qzjxo9GheGbA?= =?us-ascii?Q?EbNzKQjEfSVvirfKQHaVd4tCjUu0mYtGfAXbSWtme2+j7zceaDFJwkFOQZd5?= =?us-ascii?Q?isapXXXyMsRoi65PT74B9Mp3Y5gWpy0zeSPZcPz+tOvNTPqivaLfe1q9ipAc?= =?us-ascii?Q?bH0Mk72gYMPbivtaMfuyRA2xhBQJxf4cf5shnU/RipR64ItaPQSGgSOXf1mL?= =?us-ascii?Q?tiaL/5fH6jZngyqFhdsBzgD5F9rbVGdZSIFRmAx5THBxv0970P3fuImBrIJd?= =?us-ascii?Q?uDy3zLxoXmSqri5rIIxmIOwxpJZqw6/QP2DvVjcPXmU20wBDFp9ku63YOSDG?= =?us-ascii?Q?xbRJkNO0qKgsV85NQ1Q4knelr4cdfBKInLhgH3uvy3nVIvErPFYX/Rp6fw+W?= =?us-ascii?Q?wFvkgJZMr7M8UTiiQlHtKBX0H/81gZGPkDWimNTqLtnWwqozUaHMIEWM/yl+?= =?us-ascii?Q?snPJO4fEF08jBuMn1RNUce59ATZQDeZV6SIdHv4/aV33IspI2xEjmBENEmpe?= =?us-ascii?Q?u7A5uv2V/DZUahCiE5v0cR9fjWCIonlfDP6sEqqAHeOOB6AhG7RykO+kAHMj?= =?us-ascii?Q?iVHO+WQ=3D=3D?= X-Microsoft-Antispam-Message-Info: YVHvz1C46mJ2ulF16mXr7rSDXo0DjDnnd6r0wwZUapUL4B7C8xc+1kkubFUFwoa74pwrjYJZYpDj/5KsaFsRdO4w0495aK0naPHpDsxob6VEzcHj8FUzPOtI+SBEQ7h2vgh4BmU2q3Ny0CZPcJcrie31E/r0ODGTCkjAZf8aYlenpovAAJLNi9FAuJQI76oTp6eZTgCoQRL7xsc9dOCTNQRqlXQ7vCQu1iU3V3JW7edDrLMjqwyqxQz4gZmgf0bI/9KPYgEFjP6VWOIFtVfVXwZDlbeqqlOf5RlGS14nG1M4233ncj6h4jkeO6Lv1Fow7TjmzOQ7o6NvEf7jGsoynUYi1WAv2sF1O2ye0YuRlf0= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 6:4etf2J4NDRc7ZUKivv90QezEmZgcWuTlgfmqEKgqDGfMwY3AQTsEaeNoEoluv9fqnVqAVNhlu3ekjsyeEF2jHXx6xqcQ5WWi36qISIjiAEsKGO9nalHLM3G3gNv5J8Qi0mx8xfmc+UTjyGuXijGpjiMgOImlCrfM4khDjwKM0Fpbl0JM9L/N6ZcpqYahgTkMPx+Bgc1c0XZL/wHxlvQ8PO09KxKVYt+0SAkfWk69td4LBv3AAr2s+AiIJFJNAlIRzNd5ynB28paj5GTA7b0cb5fIcr3ovwdky6Y8QEwNSfWT/4Avoyi/x8gcjcE7US42BsogSz7hxYn55ekC/Wood2SshlpzC5qQ4Cam8WFzUGPvHOQXnLVpo/AcDElJSMeCn5pxrq1OptB+/tCQnhrnfUdyWTEW9gYB3TrZrYPxbb6mBHZf3jx73TRWbNPLA65QVlv04akdgcqAoDY1urO7Qg==; 5:yUGsas9xfvS9F5Ph0zsg9C1OZyvAtdjSQFzGme4C8dJ8Om3SI2c6c0A0FW8Zww43L/aITBUhjxQzMLt4opO5Kx/LKGv9uWHedPoT6wtZGlt7OyNC348adH59H+LzldwAxOuInTvYCv4PPLgBNfL6Vi8ed6WTFcxn4RN+5mzgDNU=; 24:qoHXujvA6A27ILzzvbBrv//ROQc88A9m0WsMgWedSIC24w5oBqhTjFKnczOZk3CXUdSUx66c6eECf0pyO084YxVLfFbQJkVLYHJETlWzwoM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 7:gIU64Qqno/d8vaZgTk95DmNLqqFONaQLYjsi6DXAzaffB5l8F9h29DuaXMaVKIG/5c0sRrDW/YZ/4thuuumTX2NgsXdiJ0YMOB1XLQ0gNxPMZ+Z1G6Q2O498zxTAQdkAMe18TsuUkBRnKzswNuTIFWhdrBFI74buOu23vNVzL8mf5/1bKZCOBDi/6+Y2+C3JCSfXke7n6Cs7fZsn3gDmLqah+m0vFVgeRMM28toD7787oDQ92nNKiQ6rLHxyMb/7; 20:BNBPoeO7Oqi8sSi7yTv9YITqfYSvCR2mnHalo8QKD5N7JxvM3GN4sB1i7j0FvcQ2kpYFe/naY0j4m0qme9G94EuNHK3g4hi2Zz4EG+fvX1Qn9MdoYyXXWwSzlEwAlOike8ZRjqhVTrnbXe/cX+1Yqo+Eli08GN/mSMzpZPcsT1w= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jul 2018 16:58:55.0501 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ff6ec750-dc5a-40c1-af1d-08d5e03d197b X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1974 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.2.93 Subject: [Qemu-devel] [PATCH 2/6] hyperv: cosmetic: g_malloc -> g_new 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: Vijayabhaskar Balakrishna , Eduardo Habkost , "Michael S. Tsirkin" , Konrad Rzeszutek Wilk , Venu Busireddy , Liran Alon , Igor Mammedov , Si-Wei Liu , Paolo Bonzini , Boris Ostrovsky , Karl Heubaum , Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Signed-off-by: Roman Kagan --- target/i386/hyperv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/i386/hyperv.c b/target/i386/hyperv.c index 3065d765ed..47368b77c0 100644 --- a/target/i386/hyperv.c +++ b/target/i386/hyperv.c @@ -88,7 +88,7 @@ HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index, = uint32_t sint, HvSintRoute *sint_route; int r, gsi; =20 - sint_route =3D g_malloc0(sizeof(*sint_route)); + sint_route =3D g_new0(HvSintRoute, 1); r =3D event_notifier_init(&sint_route->sint_set_notifier, false); if (r) { goto err; --=20 2.17.1 From nobody Tue Nov 4 15:30:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=virtuozzo.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1530551164765236.4948353919665; Mon, 2 Jul 2018 10:06:04 -0700 (PDT) Received: from localhost ([::1]:34362 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fa2H6-0004Du-3C for importer@patchew.org; Mon, 02 Jul 2018 13:06:04 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59442) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fa2AM-0007rM-Kk for qemu-devel@nongnu.org; Mon, 02 Jul 2018 12:59:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fa2AI-00045X-Ow for qemu-devel@nongnu.org; Mon, 02 Jul 2018 12:59:06 -0400 Received: from mail-eopbgr80097.outbound.protection.outlook.com ([40.107.8.97]:59505 helo=EUR04-VI1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fa2AI-000440-D5 for qemu-devel@nongnu.org; Mon, 02 Jul 2018 12:59:02 -0400 Received: from rkaganb.sw.ru (185.231.240.5) by DB6PR0801MB1974.eurprd08.prod.outlook.com (2603:10a6:4:75::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.26; Mon, 2 Jul 2018 16:58:57 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5dhf6hfCBJS0hmk+iXlerSBCbX/RlcSkS0vmyMWZLIA=; b=aeMHmwUt/LapKJVVbWVorxZt4LB86ltQUF6F2XF/g794TO4HGixJ0OCiWs3xWvqzxDLi/o0J1Zds0oRNnth2CLdm0BYq6dtA4CevwDPv4+mh3Um2uRfSF6n8zgCndNk5hmCt9KHtEsoDq1BhJjzfh9x/elSK7Ladl0vgHRZpuzo= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=rkagan@virtuozzo.com; From: Roman Kagan To: qemu-devel@nongnu.org Date: Mon, 2 Jul 2018 19:58:39 +0300 Message-Id: <20180702165842.11423-4-rkagan@virtuozzo.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180702165842.11423-1-rkagan@virtuozzo.com> References: <20180702165842.11423-1-rkagan@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [185.231.240.5] X-ClientProxiedBy: VI1PR08CA0234.eurprd08.prod.outlook.com (2603:10a6:802:15::43) To DB6PR0801MB1974.eurprd08.prod.outlook.com (2603:10a6:4:75::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e6b6d92c-23e9-4130-91b1-08d5e03d1b4a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600053)(711020)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020); SRVR:DB6PR0801MB1974; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 3:4xoYgiOj/yeNdngRqDsWnwHjbuhPJX6hlxevUlNqZ8Bp80IHlpvBA0hf4meRjBGT7JpT5UCVUdzvbeGQXvBhrgdC/ImfE3J4A7mWCltw9Lm8q8y0d9k9sbbdXrjuDn9x7UMdR0qxaorWCP3w6ucjADG7IEl5+bUG4fT8U4HQO7WPshHbnQNsr5KS4sf/hT/pWvb5IgoByy06CbCHPbWH/58AvWukCsIdrk/iFmSMMMm5Y3S0sD55bXDcl6I+1TFE; 25:AtZ1eq1WoQyfohgBCW8ZEBhXlfErOgHU7Gp4S5w6xzt57A5w+tYjiQK1WZYcTE1TCED7GfdNID0LRO5KLz0RIDaWmZDy0BJX/6EQnRrpcVRlFK7PXgWZHPwMXdn+yKXEqw2upUeeHWwSB0JDve9+5eyQfsNSC33zSeXYD9YiqWcIMUAWaAudgq5anpBV3FKyhnJjfp8mRfM5MxsVAedbXWZdsoinjRnTZPO2PDpaHQkg/Yrs025QIf9HXSXXWFIQ/pCfsTlbGpjKaD6/B1Ccvp9mJTZpk/JcbpnyFYorcwZ8N4zuubUgN+bwEz5bvqTp1tabK77yt0USQXPcxb5RKw==; 31:TbF+8ZBLA/j+Wq9Tt80lSZUIIwsls6iLLsZLAlvWDcMBq4uZVvz/o0el7KawRfHXxPV+j1BKWR7izDOovp/SSFHp3vAT8ULvSNQOGzxia4mH0Hu+a0Mxets0Tv6nxUKtRzTzTF+e+fDRHn7uweuS6V6aR127OwNc617o8ZSV6suQg4sUw6MJIT8vFsdj0k+N+JPDnDVvPbGgk7TmtlbZ01vaNbAVQ2sXnVYOzrjIQJY= X-MS-TrafficTypeDiagnostic: DB6PR0801MB1974: X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 20:H4IIlTcGP6spVHpENdzHCok/D96NRLLXwiJzaHnZFrQsGfiTMNaJIPTffDVWSwjWUuw1M9BRF68jeZAouT2Vn6L3g0uaztWvvrgYelTDc+aoefsPuxbDxbPdnBVDtMXzc3M7lF5qVADW7HggBYdqN3qtzCb9IDP6Vwtm59xOjdT5vv6sRxJ4ucwIHUU8LuoA0HthLAhzjWy2hkTm6fXTFaVgHGgaSOKjg0of1ByDCQeKAwxAXdASyuYhSi/14zBl69ftOVq8n37H/7u+RqKiMkJVvqU3WbSSZjAF3Rx8aU9mBlFMO0j/yVk7Z1+/OaC2tycZk70GFYplhhVQB8za/0ZFUb/ffWtYZB5DXVMUbp/D/cR69L54oIcbsTBh/k90C4HizgDjtsvodJnuR0tNsyGBtFLpWt3CeVdpns6RcIDBW2fwra1BSzXEoHNniiQUCrdPyRok6WgvrqhKkIZ7tOm3T4Ac6GMg02bX1XD30CtCWzzlEOL7IINgr4g7w51J; 4:rtQKnl5e5+1fSYGQ+MVQps+KjNUoBIWQgfVhqiD0dlIfUqt0y5HmKYFUm16zaYlSd9ORM6t2vHLYV0z6KZz8+jU6wutXOC8CVY1H4c4+XAUBImfZ/qGZAQdQpO7c0PXYb33eQE4Umf+barcnj8mj7DSYfDDtOJXaxLaB70zhGIAl655IJE3M1ekGlEDJPLVV3KVv2gdtPNJeQxlagmmrI5jQ3t/B+jBs7f4IQ9b00nzh9mgEB5OvJr2ZefnlIRdp6tTekgdZFu/TRtUmo/leww== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3231254)(944501410)(52105095)(10201501046)(3002001)(93006095)(93001095)(149027)(150027)(6041310)(20161123564045)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:DB6PR0801MB1974; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0801MB1974; X-Forefront-PRVS: 07215D0470 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39850400004)(136003)(396003)(376002)(366004)(346002)(189003)(199004)(7736002)(26005)(53936002)(305945005)(4326008)(50466002)(39060400002)(478600001)(6506007)(386003)(186003)(6512007)(51416003)(6486002)(66066001)(47776003)(25786009)(76176011)(97736004)(2906002)(2351001)(52116002)(16526019)(11346002)(105586002)(36756003)(8936002)(69596002)(53416004)(3846002)(6116002)(106356001)(81156014)(81166006)(446003)(2361001)(7416002)(86362001)(54906003)(2616005)(6666003)(16586007)(956004)(316002)(486006)(48376002)(68736007)(1076002)(50226002)(8676002)(476003)(5660300001)(6916009)(575784001); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0801MB1974; H:rkaganb.sw.ru; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0801MB1974; 23:6eQUNuF0L/8l7FaGUQQyFJg5yrW/gdFcLBeZnnZ?= =?us-ascii?Q?7Ar4ZmfEC7muT7gKrialSOMJ9coQXpxHTasTgPCFwKy+JT8fVKGiTLgWWzU+?= =?us-ascii?Q?y4kno93TyyjHHja7FFVBX0lVoJ/8HVz6nXQeKE+KlJuf9pgP/apLTXAykyBY?= =?us-ascii?Q?2ySM4pH50LREQRtYzQUH/pRBdZAayU8u8c802st4AJ18LLa071mVgRsxgx8I?= =?us-ascii?Q?prEj6tckohGha0KZIXc5Mluc2ncSMIXOQhMPy8OROxI3ZEKyUkPwqXk/RBzu?= =?us-ascii?Q?oXifLt15SxX1kqWuBIQ/00XCjTxLEdaZsOs7gCJcj5hX4quQ0IAGEk0DthqR?= =?us-ascii?Q?s1i+hDtID0UD62uMmKZntAS2XT1yG78KxaN71pbdyeC1RQLYO3gJI372mtoH?= =?us-ascii?Q?f9Qzl/kKCfFPaczHJ8Z4hpIk/yGqWcFm9wMCjtEKqku7e3lXhaJOzMC/paar?= =?us-ascii?Q?2OxsR260FNhNOY8KdPpE7KOcy/GlAM/dG6gtGgzbGB04aG6lK12ubgA+fV4e?= =?us-ascii?Q?2l79qAPWMitOLgO9lQzgxswsIRj+dTc3QXxFN6qSuypNz3Xzb+oj7c25pkn8?= =?us-ascii?Q?T04SzpTp/I7ar9Ju6bAe372j9TSm6B9FCKKX0b3sSDcjRBcFCjD80C2RQY/I?= =?us-ascii?Q?r462hcKaXKJ3sdytduXgXHD9zBFkTOpRLKTTxgxrgtZrS9wvphXI3IgYdOkT?= =?us-ascii?Q?DmInS0NMf9kCaMI/RKWkJll/HxPlPqWCJgO7QBkirE133yJMykLGhzcB61+m?= =?us-ascii?Q?NO4n0BmI6azVESwMfjvg5mgKmrvFpRtreitNFAbFRiNMugPxvekB6NX5KK+T?= =?us-ascii?Q?KW79PV3HIXSHWQqw1pgshznNWZ3XWQEv4MKHJ2VqpXHB1pwf3oeEYc7NTL8F?= =?us-ascii?Q?Zflkk7agSRLt0OgOrrgQOqOF93WEncs5kmOm1aO344zdvHOd+5Q5lGdVW5N2?= =?us-ascii?Q?Te9YD2My1lyU3Pnl/T651XaCraBe83AuhbPwDnEJkg6nC7NtiZ6cxlDPNOlE?= =?us-ascii?Q?Pp28RRd5s9lOkSfhl6129+HyxmW7mBWJKSZzD4kQym0N7tdwbiHsGkD2Mu0E?= =?us-ascii?Q?SWCGe3Pr05q0zrnlZ97KheToPPiOCYq0xEqRAbPwfNoQto+WanVQByUdxvPQ?= =?us-ascii?Q?dEfdvQQRVKQmeSxUuK0jsMWc0kWiYJMoWSH+II5tazWXERVJPxRuyDDbfrvH?= =?us-ascii?Q?fJWYK7m85ZTfA153/CtO9jq0gNlp7EqqYpHF6A6r6ywBPKbfic0UkbOEh2D6?= =?us-ascii?Q?P1qUvMa/jLbUsCXx80o0TBQeD2P61DuEjhvW70N4OD9+sej451pUuZYxlxJ7?= =?us-ascii?Q?mX9iWFAizlJeauKTZOK/eKiVmm6ZB8wTPQ1CK4BtHNQJj3lf11eXP5ywRSXf?= =?us-ascii?Q?6A58e1w=3D=3D?= X-Microsoft-Antispam-Message-Info: 9gMmLMpwwl1tb5Pi3G61JmHSGG99dgCkBfb+t/AAx5YV3vYw2JHOHYyuNEjVv32QI+OzVGVtG9rVhH8mh1R6ph+cJOahJS0xOHy77/NXLgMVhoSCVo9c1BdS1AOXSa71cJT5nnFJAFireuSb747a1PTllFJViWH7uyN0Ad4khFKDg+d1G9i8mXmXU3Dkr4Why4d2x7T4yxf2WFmWprJ4T8Y5H5LvmfFNh6f7nv6lUzv+Fiksdh5DX3gdlgJqc3xLaBkwp13+SJbKPKC4yf0L0dR8xeeseL/inqk4R6gKLc0HsN2DCgbLD8zQ4HmvhInmAiLHtnwgnfKeJpmMhSWXvRmTLvEoBGtAiJe0yN72y4E= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 6:WnMdUO9/SJFJi7uFX6SZsWkuxT8oxDqYIHVQD7u0W9rLkCR83t5pGf6L2z0IbgHGIo0daUpIZrveaogDYfPqDe9o8LJlB2PK+z3W9RWtJpuMHaAn5GvXZJbLksvPA9RvtsghFhic3uAr4yO3bV/fawEXnzllNo3Fvco/TCQV+KDhWIMkBCpuIvFJ1P2axf2yYVM+yl1MKm9yb19JleAM3zD6KUtHWkP7MgycWoOf3NVwuUiIsYQpHYUZVItpxPNlM6NiTWbXqlOv26n8+3N/phk8+eIkAUoByfmR6OxAbQd0wPMQY4j6Kj576EUfa3xRNJ01AV5imgvRDhC6rjiq4Vh9c/uTrGG/kPAMW5FYLlIO/rrIobMTXLTcY848zLoPzfI9UTUuFAhn4VOsVm57eprB0M2plNWWxVNjE+6yXVa9xzBmd6wZYiaJGI7i4ftzsALw3QELZ4Crv4Oo3fR3dw==; 5:ZVHTYsXtKRBku4QbYDL7oMwFhHYIFLoQhlZ1I2n9W47PXGC2v4MpxoKcBjlC0z1Jb4zOOu6yzHCqmu5SsRq8Jj2DGqUXoFn2p1kb1wRp46CAKTKrjZ1Uo7OQpECMdOxH0WokNEEISArWVaiVXLAB9gQVIZFbLxB/+p2/wd5ZVRo=; 24:53veB2uS+vsSPKwxgljK1qsniJpAiEOVFwOxPVdATOn6td6xI+PkcYMg4vV8CX7MFLt26DwcjaHPsOgMdGGsDBML7DcVpJuEsmjuhfN+bsw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 7:4joBrHZgo5C56qrYIGXwC/1nLX3dVy8ptKgo4+RkjkQOQA+YfJnCkdfld4OThbZ0OigrlWM9gVNoQa8NbaXKEq1GYp++Pl8AlR15Igb09TtvxzObm9iRmsFBg0pZDX8VlRci9SUsqHqWfjdNMED4s9E5ih7keuq5Rwbn3RDMoQ2+Rw9x8wtX531truhMIVgJGsZZN5/JwI9J/cdXMlNk/8LZ9J3p2OOgwtcpFn4UFJbzKHJ+qJmc3iHwDElsPmpK; 20:J7N1ISNIa0Ry3KawoITULjShb82a5jouDu0MbtgR6phbA4RIqieIy3yrOxXZjdpK/LPDkZvrHtTjM+tVdX6Lz915M5nDjffvWlpV0LQyvSRsgCix9Ve/E4eh5iZm+ifri6s9+5IOQCqT7B4rfgHIo+QgiizakLj/hEy3gSfrOBg= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jul 2018 16:58:57.2680 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e6b6d92c-23e9-4130-91b1-08d5e03d1b4a X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1974 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.8.97 Subject: [Qemu-devel] [PATCH 3/6] hyperv: synic: only setup ack notifier if there's a callback 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: Vijayabhaskar Balakrishna , Eduardo Habkost , "Michael S. Tsirkin" , Konrad Rzeszutek Wilk , Venu Busireddy , Liran Alon , Igor Mammedov , Si-Wei Liu , Paolo Bonzini , Boris Ostrovsky , Karl Heubaum , Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" There's no point setting up an sint ack notifier if no callback is specified. Signed-off-by: Roman Kagan --- target/i386/hyperv.c | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/target/i386/hyperv.c b/target/i386/hyperv.c index 47368b77c0..acdb0ca9df 100644 --- a/target/i386/hyperv.c +++ b/target/i386/hyperv.c @@ -77,15 +77,14 @@ static void kvm_hv_sint_ack_handler(EventNotifier *noti= fier) HvSintRoute *sint_route =3D container_of(notifier, HvSintRoute, sint_ack_notifier); event_notifier_test_and_clear(notifier); - if (sint_route->sint_ack_clb) { - sint_route->sint_ack_clb(sint_route); - } + sint_route->sint_ack_clb(sint_route); } =20 HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index, uint32_t sint, HvSintAckClb sint_ack_clb) { HvSintRoute *sint_route; + EventNotifier *ack_notifier; int r, gsi; =20 sint_route =3D g_new0(HvSintRoute, 1); @@ -94,13 +93,15 @@ HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index= , uint32_t sint, goto err; } =20 - r =3D event_notifier_init(&sint_route->sint_ack_notifier, false); - if (r) { - goto err_sint_set_notifier; - } + ack_notifier =3D sint_ack_clb ? &sint_route->sint_ack_notifier : NULL; + if (ack_notifier) { + r =3D event_notifier_init(ack_notifier, false); + if (r) { + goto err_sint_set_notifier; + } =20 - event_notifier_set_handler(&sint_route->sint_ack_notifier, - kvm_hv_sint_ack_handler); + event_notifier_set_handler(ack_notifier, kvm_hv_sint_ack_handler); + } =20 gsi =3D kvm_irqchip_add_hv_sint_route(kvm_state, vp_index, sint); if (gsi < 0) { @@ -109,7 +110,7 @@ HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index= , uint32_t sint, =20 r =3D kvm_irqchip_add_irqfd_notifier_gsi(kvm_state, &sint_route->sint_set_notifier, - &sint_route->sint_ack_notifier,= gsi); + ack_notifier, gsi); if (r) { goto err_irqfd; } @@ -123,8 +124,10 @@ HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_inde= x, uint32_t sint, err_irqfd: kvm_irqchip_release_virq(kvm_state, gsi); err_gsi: - event_notifier_set_handler(&sint_route->sint_ack_notifier, NULL); - event_notifier_cleanup(&sint_route->sint_ack_notifier); + if (ack_notifier) { + event_notifier_set_handler(ack_notifier, NULL); + event_notifier_cleanup(ack_notifier); + } err_sint_set_notifier: event_notifier_cleanup(&sint_route->sint_set_notifier); err: @@ -139,8 +142,10 @@ void kvm_hv_sint_route_destroy(HvSintRoute *sint_route) &sint_route->sint_set_notifier, sint_route->gsi); kvm_irqchip_release_virq(kvm_state, sint_route->gsi); - event_notifier_set_handler(&sint_route->sint_ack_notifier, NULL); - event_notifier_cleanup(&sint_route->sint_ack_notifier); + if (sint_route->sint_ack_clb) { + event_notifier_set_handler(&sint_route->sint_ack_notifier, NULL); + event_notifier_cleanup(&sint_route->sint_ack_notifier); + } event_notifier_cleanup(&sint_route->sint_set_notifier); g_free(sint_route); } --=20 2.17.1 From nobody Tue Nov 4 15:30:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=virtuozzo.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1530551644929805.8315682715706; Mon, 2 Jul 2018 10:14:04 -0700 (PDT) Received: from localhost ([::1]:34425 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fa2Oq-0002MF-7W for importer@patchew.org; Mon, 02 Jul 2018 13:14:04 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59464) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fa2AO-0007w0-Oh for qemu-devel@nongnu.org; Mon, 02 Jul 2018 12:59:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fa2AK-00047F-SQ for qemu-devel@nongnu.org; Mon, 02 Jul 2018 12:59:08 -0400 Received: from mail-eopbgr80117.outbound.protection.outlook.com ([40.107.8.117]:8538 helo=EUR04-VI1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fa2AK-000465-GK for qemu-devel@nongnu.org; Mon, 02 Jul 2018 12:59:04 -0400 Received: from rkaganb.sw.ru (185.231.240.5) by DB6PR0801MB1974.eurprd08.prod.outlook.com (2603:10a6:4:75::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.26; Mon, 2 Jul 2018 16:59:00 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LV5juKlCqKRLJurNvTl9iqwA1kZ2X/IMGmpNHgA+dDA=; b=inM92m8HAfG6ge7RFD/fPC+b/4u61WKTxPeJYtVDxide5+HWKlmzpYRkrIagghsuP9Stxhd1ZNl+tjBbDHqEYBUrYF8ASe1M/YcqwQB2bCC3oGwBivwJsMb2Z+qP3NIS5Z5qtrqbyYzeXWyL4Uxsl0SxD1hTu/W4C23LRLRgwoM= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=rkagan@virtuozzo.com; From: Roman Kagan To: qemu-devel@nongnu.org Date: Mon, 2 Jul 2018 19:58:40 +0300 Message-Id: <20180702165842.11423-5-rkagan@virtuozzo.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180702165842.11423-1-rkagan@virtuozzo.com> References: <20180702165842.11423-1-rkagan@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [185.231.240.5] X-ClientProxiedBy: VI1PR08CA0234.eurprd08.prod.outlook.com (2603:10a6:802:15::43) To DB6PR0801MB1974.eurprd08.prod.outlook.com (2603:10a6:4:75::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 53bde794-5d8e-4937-feb9-08d5e03d1c91 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600053)(711020)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020); SRVR:DB6PR0801MB1974; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 3:RTg1cUawKfvfwepwpOZF7wASmSu9XsyR4FxYHDjRUwB2QqRBq5ZPA0rbKsSSXmI9HtqU1urlK5o5bT9JUIjSTz/WlhCN8oRHX0LwN4Y/8Jbkh/GlL1flvjzSJFzwM+bqIO6JLMPdVEkj+rRmeT6lXGyKzR7eq2KR+oOc2FAlZUey4UEPLXviw8eGnCAvXyu0CV3Yg++c7bTb0+JBz/JnMKKtAzy/V2aisdVEGyRtx8/TNLHNJcGLk47bVJdDGuCM; 25:I3SmFWrLAr22sFZ7X1Iv2GBIaOuz8Hdr7wTxIbsiIuIkngdxR6CFOgVW32RpTKSDPL8EVd8BI/T4MIt4KKd8S/uJ3qmRrUVJ051eaFySC/wp2hCmMGhw85ceOlQx4nn/PU2EjigO6oG5U3fq+/n2CUfsWuf9B5QXHwOb/vaDVKcDmRvNEmM/xzL1bORGVZ9eV4GjTMAjplhIHcTBjd63KqTLO9kY2m2JFnSiiRPC1bjxq9EL6hBW1hpqjqjAqMqjxx2c0dM0ik3pt8hMIE00+HcM8uuTkIByHyAlNfEyADCzV4PKvEMzelxU8ij27o0FwyQeF3+76b3vRlnl6hisfA==; 31:k6pjtxyOmuHgiJ5ZOx3ysKq9D3pY5pS8S/bB/gKlxAxkmKO3xZe8A+hCGEDZKuJAGkvKFOYcEg8qgj/5iOW/rO5hZKDRsHQ1kC5C8W1gxwMqy3b/qS8FThnjAefA1nfjGXIQJqaC2oWbTbn2iJxeqIEdug3/Au5XfDgjxwVnt8CI07jLwpi72vTH2ZNgBnVmxCPjs4tS3nukkw4akszT35wHqSJz9lpZ7aK377uLJcE= X-MS-TrafficTypeDiagnostic: DB6PR0801MB1974: X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 20:B5RAvzy71GbO1Cf1zDozAM8xWg2ha9/0JM9HmrzXoweyUqeu8LtIIcGNQLPz4vJOtsDso1D491LDUsHmU2OQ2GUUHndyv8rLFkjKnLah9VOU/D/yij43lgIXuP6iOu6Yak1zrmon/3gVw7IEq9oXpZCpyWjwoWKEz7+6jaEMB+tUgBzOFwFYZcYoL4R0K/zSzH943V6WxHCustPCiF+xLYN6s/hexyCrRDe/T8Shbx0yMwKu4ojvbWqjwRFAOWXv+DCSQ+XAzXEJ3fsG0frT6x1FZi+fwDwUJivYhgCMofgBMAtevU6P5e8DmgWqlYc3Js6sIQUeSoO/fmQgd/UyidCb6J31hjR8Qjk4trp1RG9guHQO69jEbwC9DRfsXRi12rtPJJ0EYmF9ZW/cJdP9gx/saB7KzfEMUVfGoCMVH8WelNtozOsFXEAeE25vvzVzMZN5+8tigyah5bKnBomYM5cCXEmwe9vOI7k9ZtOFHRCKkc8TMZJwN7h1gvony/G9; 4:rodDWSox9uQ9TfeMCSgngBSAVk/K80KzqcBCmMozo5xH8+34C3m5VIR5xNmWGnGYGK3IkFIwUQo6I8U0aElXDbMFzZ4pa2avB7Cjt6FZi//ZTbuEYBp1FZXDY+qdNXgZQxa6aAOW5ysVo1PTc4zXMeIVyq1OzrBPYRR5HNxEsZ4wcWDNH38tnVtB6qDMwxrzUKjzJmmHw7obZ6nC/iVZiNjgg88QH4zDgvJw4B5LF/wOPefoAZAQyik0hGf98l5rgEtiCUQrYIGtQqJqQYR7UQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3231254)(944501410)(52105095)(10201501046)(3002001)(93006095)(93001095)(149027)(150027)(6041310)(20161123564045)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:DB6PR0801MB1974; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0801MB1974; X-Forefront-PRVS: 07215D0470 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39850400004)(136003)(396003)(376002)(366004)(346002)(189003)(199004)(7736002)(26005)(53936002)(305945005)(4326008)(50466002)(39060400002)(478600001)(6506007)(386003)(186003)(6512007)(51416003)(6486002)(66066001)(47776003)(25786009)(76176011)(97736004)(2906002)(2351001)(52116002)(16526019)(11346002)(105586002)(36756003)(8936002)(69596002)(53416004)(3846002)(6116002)(106356001)(81156014)(81166006)(446003)(2361001)(7416002)(86362001)(54906003)(2616005)(6666003)(16586007)(956004)(316002)(486006)(48376002)(68736007)(1076002)(50226002)(8676002)(476003)(5660300001)(6916009)(575784001); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0801MB1974; H:rkaganb.sw.ru; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0801MB1974; 23:Q/UBuUThiAUeckYjCCP7ahXRbb4zCpSFtJs9f8/?= =?us-ascii?Q?Uj2+UFcBGhU9Zoo94krDj28lxX1JH/eVBCYBVzTyInN7SHorJQfoUMSF/R7C?= =?us-ascii?Q?PRt+2qXQv2EHA8ApsrRXxwQfxslw6Qn3B3vYpCqJxZB1pM7P/9DWBR0fZtm6?= =?us-ascii?Q?RNr/ucjid/oqEJyxGnD54DcTTS+wjTZgqTP3oc+IZvmHuA1I1BetMvhKPJsz?= =?us-ascii?Q?w9JmBMPC58Ato//5+89OgOnPiXGRWRgqGeLbpDo4enM24CjAdknQxLJiFrMS?= =?us-ascii?Q?LDUs22nv/8N/LBLlcjOp5j6gtwmSdjRhKzSt4j/J+pQZt6eYTlzoq++dM8Wy?= =?us-ascii?Q?8lqqq/oTZydpOGLzUbUUzEFg8+0SGKnkEFhxmIT4Vy+Uvm6XLZMGfVygwWu1?= =?us-ascii?Q?32VoHRhzlladcAap50jJmBSqiDBcqAzzU2p4RvAyzdacjUJm41OOzxu+MMok?= =?us-ascii?Q?GOMMNwf0v9SKIVM7cE2887PKnYyQlgFFzI/+/K6ccWuru30NmTGoBof/j3dd?= =?us-ascii?Q?6iJVoN8CblepeLTkPoKd5E5WtE2rufDobr+FAeO7GewQTefEZlWavWcynCyC?= =?us-ascii?Q?xukbEbMXL1AV5jFk6W5p3fxePXdh4ahK22C1ZnCrOA0MRZTRPTGsl0BoKVkR?= =?us-ascii?Q?01NtK1uA1XdypRipXAcyW9px3/fyqB4BDXposU2jIYqWjIxGwjp6tTO9b58R?= =?us-ascii?Q?tFvVkZWeh55f4Q0XqRqfypT4RJqnZkEkNNa2qzjgTBRycCqUtGCFLe0h/Y+9?= =?us-ascii?Q?rGxEn7RF2P7AekZeqO2vsFrPMOQhqmmThzfGiF0Y0n2vVxCYfAUCol63B4MN?= =?us-ascii?Q?6oaLQz4kujrjQAeVTykSwsL3SIH+mWbS0GJVWcRAFJcjdbg1dUhEci+db2Xl?= =?us-ascii?Q?sXPRHJhItLVZlWyDSaY4o+W5TWhdy6KvvPCgxhCmT9TIuXMFiOXY2Cehx24x?= =?us-ascii?Q?L96gZYPfgD38IGEoEhOh2C6vCmW98ymJDZ+gHQrXEV8oWZY03TdN5ylnKgmf?= =?us-ascii?Q?Upl8gJss1vPA7VsMorF4x5NT7xPdKGVa8FL5RWGrg5Zva3aIwCyh1IiNEqSz?= =?us-ascii?Q?K7Q95ucpSbzItkqV6h5J43DA1yaHwKMvHSzsnrnvA8Zhjz15BfUFHGGLyStU?= =?us-ascii?Q?ZYTNinnf5K87t+UXOfr42pP/RjlRc5dvBA2AJpLjc3EGgRG+LdRaKDsOIfqO?= =?us-ascii?Q?LROfXu09HVy399itC5e2aBWEY08PBCYewj0jPolaWRzcVSVX6qSWf077XmFb?= =?us-ascii?Q?diLu1O1egnrbt7D6pJTM1e0JCQ+4dgj6o/Mt7AiSnDVbT0Ydb1d13ktb5BGc?= =?us-ascii?Q?n8WM4fXg46oSnianybzqxLSP7lwMU5ecS/mznT+3E1qo10lWE/hc6vH4tb/n?= =?us-ascii?Q?kzPrrWw=3D=3D?= X-Microsoft-Antispam-Message-Info: aZScy0rg4nmYDqucIaGoI+t31jjlXUoEvQZuEkIGhzXA5LfjDXEV+F879tGKyxdWh1uNpSrUaa3uyhFDz6wRp98mdFo2eFQuH2goEBFaqs31S7pgTOYr0d8++qa+GhCY6czKwt5AiiU3kDwbb/xlCQsY7A/cEi7YqGcm2AaplNOCkVh1MT9wsGuqe2ibqFQaLcjJlYLbfJg6pmNvObYfcCOw/Luq0Fo7tYILtP1PeR/NWyhUsSdjw4cLJjBvVVRXUrBAYGqpV/kWG6AlQbuURx3j36Jy5VdHkR2vhPRlyqiuAkseUxV+xdsiDQ1zBzaP05S4tHbjB0Mx0ItjicmvcpAPL78bRqwOnuFIiDS5TWE= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 6:TGSc7jboDBbuyu0a8XqUjNOyvuWuCbwVrc9uykCKxeyEYdG7WDouUmGuvYnjMQJR4Lwcmaf4kU06lXn3UBEZvlJ45V4Dtw+yIDMe0DQLp66/WbSc1LAmDjbAlsKIsjVaSU1MuPfE9ODk5fSFygbeFawKURVCZElOvmozOcx65fsfd1oEfkaESO0KUcYVGB2ow3pZI2Mu+VCHxYsod34cZAg7yFYJ+KYtu5z4sXh5VtU5E3yIS9Y01x8Vlpu4BX9sNw5mUmIblHjMgKNgrQNkuqNhY3ALNy+50ZA5YdxDbR1RZeJ4XAZTfPE17NuvkB0RnmaN1LOKW7UvWYIRjTHNMPKMVCr17XG/sl9W/kAf9lOlcKR23y4MLHA1s1PQQQuR3+9XXmzuOox8fsNbHamocGSA4vt7lANN/av9yW30k4gztSztgHafsR2RsKnS1qQeHp1ORiwOFeH3Tb7Ua9w0Ww==; 5:PvVE+DmyEcJk7+U3E6ZFDvYOFsHt0n/NSkK08Bml6OdhNHSai9O+yAmzTdcSYOu0/VeFIH7VhfwrVigsoujJbQT8KB76sOis64e0ZkvAJOL7iYypIgbEYscuPx0jdkPndTWB8XINe2XKhAFCjnVxytG5TdEUQbrFbb7Fh+gjBk0=; 24:wwkBZDBKiEV8Nzr/OAUFEvkyYWSou+UthQ3lcLyJkI6dRkcuwcSC95kFo3h62g0MD8CP+Z4oFsgOrX1kMrK6GKksllToFenhtr4i28epLnM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 7:Hsvum3OaWvQYL5c7lrcLWWVJQvnxhVm+3iuO31/6rJQbhSDFM+7bNb4FcFN6HoEiFAT+wPNq3AGZj9US0kE1DBkRdrSCswvoA/tn4zcMX3KnXT07FDcMMz26O6cI5f/GXPBvJVNhvALp4gPeoAaRyJCiiTyXx71i8SqCqPnlKf3eP5Wd1jWIjlfa88Im+LCFS+Mqy9YvTDYZ/OMQTaeY9BOPZr2+BU8LqtALmwXE/4ffSbRiLMCTrnt1D3xQ42oN; 20:YhlFlaX8hP1Kz5Z12cwjvzzTVRVE3XfkhfO3mg2ZOM35WXM9MrR9RWTmM/NrCu+X7anNFZ6HlIZs5PrEzxbsZdWdooqYPrpwTbHnnOlNbtdNCxk13VC5droT4ItYbKqb6mQIh/oA2bxU/HLstoeZv1N+pQAD4x4MLwRA0B52JsA= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jul 2018 16:59:00.2285 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 53bde794-5d8e-4937-feb9-08d5e03d1c91 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1974 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.8.117 Subject: [Qemu-devel] [PATCH 4/6] hyperv: allow passing arbitrary data to sint ack callback 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: Vijayabhaskar Balakrishna , Eduardo Habkost , "Michael S. Tsirkin" , Konrad Rzeszutek Wilk , Venu Busireddy , Liran Alon , Igor Mammedov , Si-Wei Liu , Paolo Bonzini , Boris Ostrovsky , Karl Heubaum , Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Make sint ack callback accept an opaque pointer, that is stored on sint_route at creation time. This allows for more convenient interaction with the callback. Besides, nothing outside hyperv.c should need to know the layout of HvSintRoute fields any more so its declaration can be removed from the header. Signed-off-by: Roman Kagan --- target/i386/hyperv.h | 14 +++----------- hw/misc/hyperv_testdev.c | 2 +- target/i386/hyperv.c | 16 ++++++++++++++-- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/target/i386/hyperv.h b/target/i386/hyperv.h index 00c9b454bb..93f7300dd6 100644 --- a/target/i386/hyperv.h +++ b/target/i386/hyperv.h @@ -19,21 +19,13 @@ #include "qemu/event_notifier.h" =20 typedef struct HvSintRoute HvSintRoute; -typedef void (*HvSintAckClb)(HvSintRoute *sint_route); - -struct HvSintRoute { - uint32_t sint; - uint32_t vp_index; - int gsi; - EventNotifier sint_set_notifier; - EventNotifier sint_ack_notifier; - HvSintAckClb sint_ack_clb; -}; +typedef void (*HvSintAckClb)(void *data); =20 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit); =20 HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index, uint32_t sint, - HvSintAckClb sint_ack_clb); + HvSintAckClb sint_ack_clb, + void *sint_ack_clb_data); =20 void kvm_hv_sint_route_destroy(HvSintRoute *sint_route); =20 diff --git a/hw/misc/hyperv_testdev.c b/hw/misc/hyperv_testdev.c index de07d7e8c3..50dfa6af64 100644 --- a/hw/misc/hyperv_testdev.c +++ b/hw/misc/hyperv_testdev.c @@ -56,7 +56,7 @@ static void sint_route_create(HypervTestDev *dev, sint_route->vp_index =3D vp_index; sint_route->sint =3D sint; =20 - sint_route->sint_route =3D kvm_hv_sint_route_create(vp_index, sint, NU= LL); + sint_route->sint_route =3D kvm_hv_sint_route_create(vp_index, sint, NU= LL, NULL); assert(sint_route->sint_route); =20 QLIST_INSERT_HEAD(&dev->sint_routes, sint_route, le); diff --git a/target/i386/hyperv.c b/target/i386/hyperv.c index acdb0ca9df..11fd1add2c 100644 --- a/target/i386/hyperv.c +++ b/target/i386/hyperv.c @@ -16,6 +16,16 @@ #include "hyperv.h" #include "hyperv-proto.h" =20 +struct HvSintRoute { + uint32_t sint; + uint32_t vp_index; + int gsi; + EventNotifier sint_set_notifier; + EventNotifier sint_ack_notifier; + HvSintAckClb sint_ack_clb; + void *sint_ack_clb_data; +}; + uint32_t hyperv_vp_index(X86CPU *cpu) { return CPU(cpu)->cpu_index; @@ -77,11 +87,12 @@ static void kvm_hv_sint_ack_handler(EventNotifier *noti= fier) HvSintRoute *sint_route =3D container_of(notifier, HvSintRoute, sint_ack_notifier); event_notifier_test_and_clear(notifier); - sint_route->sint_ack_clb(sint_route); + sint_route->sint_ack_clb(sint_route->sint_ack_clb_data); } =20 HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index, uint32_t sint, - HvSintAckClb sint_ack_clb) + HvSintAckClb sint_ack_clb, + void *sint_ack_clb_data) { HvSintRoute *sint_route; EventNotifier *ack_notifier; @@ -116,6 +127,7 @@ HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index= , uint32_t sint, } sint_route->gsi =3D gsi; sint_route->sint_ack_clb =3D sint_ack_clb; + sint_route->sint_ack_clb_data =3D sint_ack_clb_data; sint_route->vp_index =3D vp_index; sint_route->sint =3D sint; =20 --=20 2.17.1 From nobody Tue Nov 4 15:30:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=virtuozzo.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1530551779451163.6268292987619; Mon, 2 Jul 2018 10:16:19 -0700 (PDT) Received: from localhost ([::1]:34443 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fa2Qw-0005dR-Qj for importer@patchew.org; Mon, 02 Jul 2018 13:16:14 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59485) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fa2AQ-0007xb-Qm for qemu-devel@nongnu.org; Mon, 02 Jul 2018 12:59:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fa2AM-00048c-VQ for qemu-devel@nongnu.org; Mon, 02 Jul 2018 12:59:10 -0400 Received: from mail-eopbgr80098.outbound.protection.outlook.com ([40.107.8.98]:13312 helo=EUR04-VI1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fa2AM-00047o-IS for qemu-devel@nongnu.org; Mon, 02 Jul 2018 12:59:06 -0400 Received: from rkaganb.sw.ru (185.231.240.5) by DB6PR0801MB1974.eurprd08.prod.outlook.com (2603:10a6:4:75::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.26; Mon, 2 Jul 2018 16:59:02 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YaMqlj5x28q9zvO9ESgZHi5WvK0p3pWJbDefBw+EBOA=; b=Z5aURR3ssAf6tDAWsPJvEZe7NooPT5ngGsZUg/jrT/la0p+/8wLtx/lNkUmUL5hW3LhRgTLjAn0o6TaP4vxqeGYXnj9GQMRtD6ccXCL4h4t0CF8WV8AJAUcuiU9ynbVUQ/6xIQ/XZB7zTfjv0ZMcmUUMCQTCYTIn6eFkYi9KA6I= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=rkagan@virtuozzo.com; From: Roman Kagan To: qemu-devel@nongnu.org Date: Mon, 2 Jul 2018 19:58:41 +0300 Message-Id: <20180702165842.11423-6-rkagan@virtuozzo.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180702165842.11423-1-rkagan@virtuozzo.com> References: <20180702165842.11423-1-rkagan@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [185.231.240.5] X-ClientProxiedBy: VI1PR08CA0234.eurprd08.prod.outlook.com (2603:10a6:802:15::43) To DB6PR0801MB1974.eurprd08.prod.outlook.com (2603:10a6:4:75::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2da3e8b3-9686-42d4-7aa0-08d5e03d1dd1 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600053)(711020)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020); SRVR:DB6PR0801MB1974; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 3:0gKAkBlfuQHtZ//9C/HjiKdpzfjdUA4SfZAndSJ5eohFQ/OmL+GT/12Cb+aEyjUlaf1zxqLT65QCQtOJY4mh7ucwFHYa6HTUAEoQ2H3NMsSHetMm/XiBPYAqNgoFJTqRgbD3NtsoDjeLVOObLiQXurlfjWY4bfr87v6zgqzx2rHNsBCH8IYDswUCEJ7NZ427d1RSpoL9FO5GcZi2LHJjsm+MWaTP3jwYR67LAKDrIdDa54OOlWEBw4lm8+wgLj+H; 25:Yyz3ebBMdd+2+RW+caqQFYvtrRgXf3aiom7h8vT9mf9Kd5VFVJtsWSED8+W4C1/mf67J1GTOGizexl72jibaS97TDX/SmauYv0UZXXtOHlXaA6TRVwKkkLW9mWS2mOKLuPAGY3gS5WnXsr3/AO0jvw2TgKmJmgxDS/yvnSN7NW6HvhNTafiqBPX7aC86tGkLXFiDUYief7GPYtnnUPJRjUDGXYSKICLytiHBgYWd0Jw/PXh5oeBdViGe2aI6DJo+gvYdytdAU0So11+Pok7rQ7J1Gfm2G/cGP1WMyfposSRillzoGryvK5kAj8HQPtFbMHdFoo0OJKBkUCXhHb6+rA==; 31:X87w0CjR/vzU5CRTFGNoFidY9kwtaKvL0qK+nxL6DAtjNFa0kHggfD4VStzwkYUFoKX9+xEJW0TX4qDu3AzaO/0IVoV3yAakZ3HKkqlYcROxDMVc/JhKJG5StG873597JX6bxDgMEakMqGiSa+aciJx3yibJb1QWeL2BixlYLYWhBYulD7Wv7h5WCt/g3RsTJCzjsa5yZHECOuXeOJtAhCl0fSqBG0QdlUyHh57LxCw= X-MS-TrafficTypeDiagnostic: DB6PR0801MB1974: X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 20:SHQp3ds/Rv28rpgUBnmNW9g/51JjKz9smwmh8yP1DgqVy8x+yAEvLTF86DEzCwDiWgFzp67lLgghy7QoTC5NgVMHuFfqC8KGAaMgoB29D7x19TNvQX4Jnaqp9LmR+7buhX9V/0SBneaSg1sNS/Bn1epRuOJybQrIxv9Po4ftPdH5uOiEuwFshpQ1sK9iOSFNq7RPmQDhBUwNT9qKj/v2NgnDapjkNlSsF6FQZFE73X2EEaQX81Xq3zVKo2S+JQ1cHpYO4g4F98Nmm3nmN2EJiR54b085RUY6zp2DIYbuSshFzyoJqF/i16M462c19r5QZE9ldA409e8wnyUKi0EKUCMS1ZJhQiScrukgIJKNsDDxP2oehugUeeQogaDDalUEv6gCEYzGNGITxkosQEd9aSXfBzvpL4pzk0uvJcUv0rv+dYHX4mW4jyCEzl761tdO9HDBS27VPWt+XVKl/e5GaA1ONfrFHndL9r/NkX/Pk4MXNvthMl5iIqOhbDk11T74; 4:qkAf2sV2CRh54zYJ427isISaDuNQDC2k3r5Kp5iY3iAkQshSkRYfExjSYFuBmGu2rrV5vLKpjU1ySNuk1PUPE1lrxmxLFqRZB+C7jYu0q62ssZHSR6Phl6wRD96d/FdjIlHcFKfHvuueHyPfzXwjiNchrsU8EnFD87oUheOvUPUrC7WflwDKAAL+ocfOry5ywlb2mtWbSsvbDR6LCWyr5szugcLzAam1BIHfbmR8HOfzlq9kvRp1LhmzGMky+5+c3aWLTSN1U2DOKWMsjY2A+A== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3231254)(944501410)(52105095)(10201501046)(3002001)(93006095)(93001095)(149027)(150027)(6041310)(20161123564045)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:DB6PR0801MB1974; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0801MB1974; X-Forefront-PRVS: 07215D0470 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6029001)(39850400004)(136003)(396003)(376002)(366004)(346002)(189003)(199004)(7736002)(26005)(53936002)(305945005)(4326008)(50466002)(39060400002)(478600001)(6506007)(386003)(186003)(6512007)(51416003)(6486002)(66066001)(47776003)(25786009)(76176011)(97736004)(2906002)(2351001)(52116002)(16526019)(11346002)(105586002)(36756003)(8936002)(69596002)(53416004)(3846002)(6116002)(106356001)(81156014)(81166006)(446003)(2361001)(7416002)(86362001)(54906003)(2616005)(6666003)(16586007)(956004)(316002)(486006)(48376002)(68736007)(1076002)(50226002)(8676002)(476003)(5660300001)(6916009); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0801MB1974; H:rkaganb.sw.ru; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0801MB1974; 23:cYADXBBKlvnf0vdvWig1CHuPc+LuhN6ZDjYW5FS?= =?us-ascii?Q?L469i6VR40eaed/OZKFfbFuWYE1KZzWy+FjPhG6uhN/sooBwJuc+RvstHNXq?= =?us-ascii?Q?LrR4/U9ZQJsyZnOZdhU1VjPrpZcIIsnVP9+aaKIB1djhZNOHccsvZ3gqlHNr?= =?us-ascii?Q?+/6KtaTo9PUyuJ16MxPymK4oumUix4O3a3zBfIWslht/MTb2zPg2Y4GgSQ7w?= =?us-ascii?Q?rroxl13P/mKG1zsVaTevQG6U078sK77xrpmvIEp9Tz8a/fTWraNIneV8rJsE?= =?us-ascii?Q?k9jahp3NkYwNaTPVZrCm8SXe7MS/ib9efCNAeIFi4PLM+y83rKF6uukTiPKv?= =?us-ascii?Q?mv7KIRl1s4vQUWLbRhLkn/LDJPGvw9iLNGzlqnlS7oxSLCVLcodxZU2jkpUi?= =?us-ascii?Q?gM7d91OTqXHP6KlbzoXvY9SdrMAZ1q8rViHTnsxqHij5tUeQYAFEOyzUNJot?= =?us-ascii?Q?6JnGKu9P/ibkFrjy0qUCJ0+YLIOz3fvlIRDOaXmNnA5GZ3JKr7qIAcU84pgq?= =?us-ascii?Q?wuwfejtr2Ysd+E8CCzEzNknn0KQ0p04eYIgPP8AAZAHlI1snteBQxME0r8go?= =?us-ascii?Q?o09zG60H303tqcC60ClMgsbqHdS9rn18GBpGsvIIfalb/7jQOhEju7noCkh1?= =?us-ascii?Q?U8Pw0cm59MhM/9xXr3fS1h2szA2Dwhvy7b77LV86vmPzd3v0O58dJYjUWAM1?= =?us-ascii?Q?gOQoBhBjougCn4RJ2n8ORo1pZB5HGHL9+P7luFrgvZ12KZ9H8sS11p4Nd9Ad?= =?us-ascii?Q?N0HRTxKwU60LI0qjjDgXU+xLnse+OSc1akluUNXEeBco2UdOhT22/aoIsxK3?= =?us-ascii?Q?1n5DEk9nDZIgl/8Vxxkj1QFNWWgPtP/uDiNoX/lkw6EuPr17/IiNw/hUZZN5?= =?us-ascii?Q?1mBlr+GUIpJMkpVEuBvsA5rLwDlVvxOJDQNtsb8onyR+TVL+zsUXC2r2i7Z6?= =?us-ascii?Q?Vzt9V1w0Vml8ueZ81Qoixsp+03mIv0rMK5d7DmZudES9eTpugMvAsngyr1q1?= =?us-ascii?Q?kI5jspYNRBYpFHJbSPmvlY0S3Z8r3bbdlDTIV8KzgK/9IVWHxck6LirD8icN?= =?us-ascii?Q?v+KHeX33RtK3XqQIHubC3Ld8E6Gg6BSDVCHwoQjh528ijU4Ul4yq7PyUU+rL?= =?us-ascii?Q?FFnuBCQ5ZBosVLzTXY+STJ1AjTytczFONk1gMDOyHjECmcQyLejFNEqRq7vo?= =?us-ascii?Q?BGAa++hZb8lYPuzmWSZM4oZ5F20N/DLRhP2AXQBVBG/ZNoQ5GwvUzaFoSGkr?= =?us-ascii?Q?ZNNCg7RvHOjQa1+lm6LG9xeZyzj/XCd0w26ab/DGycdR8HnB8k2PBRmlTZHK?= =?us-ascii?Q?hKbtSI7mJC5xq8pd31s2IU09bSwPdVkVLKxqxegvphP7G4ABtINlGIsGZ2Ea?= =?us-ascii?Q?C1oJVOA=3D=3D?= X-Microsoft-Antispam-Message-Info: h+1xsNltgPC+3yv4szmDM17Y+7gVcBMI4Zs2dOY0GmJ7f36P/9V8v0OlGHna3LrNPrPX3bizhOifC7mmaeBW2b99Ey2fGCpNNzJt3Aqfnv1kL6KRdqQJVkODp0O05Dk/exoLmwcbfXQCc/te9hQKvMQaVP4j86cye9APuvrbu0jE2OfeCtkqg1QFvzs5XIHiNNO/W3Ni9hXAEJ9WGqxcuQM+51Ja/JmXBdxTL4G5miMOaj+EgDVA0W1mNnu2rTrnxmNX+eVu9qM1gug/TwjsQGybYH/QCoNG96ugj/JkB5Fct6iy2gDmx82s9qoawFotObfgEyZmpsrCHO6rso95HcrjonjGqZCFfyO1f8Qpgv0= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 6:XPGd4Wfczn0taLfKlf+ENSgEydGjAOHqKfvGLcpqaRtSwAr0/oXIo3VKTZNbdHsjRfDTC7Leu8SDZhwGJJrAqPzmFfOL1qf1FrgWY1nVR5siqa4oFrhk2jVMKYhcKvKov4YUsfUaxzRT8gPzazcM2SuR8Q42pxywilaapdu7MAOm7ymgZCRoUmzGacn503PXs+bn7kGYQ6ru60oKVJree7241OUCghLN56jHUInkoYcTT3g3OLNGXevcOXXMGeTVa1+3Rc2K55TgUCJuTP11YLl9cC0zkcg4hSu354ncwM632gE+1p4f8Wm1YsdBRzvK0YSCF/uZ8rhoUqmIOLRe3GYe5CbFPbOd7QT7WUPfGkaJnBrBQJ23MvJ+XVUBiSBlDxfCDDhhrBaTe0VsuukmcKGEDEG1qKZ8Lo7d3JJxW265AQVyJq0aNBknV7qHRAHYJvsQtWCwShzS+Y2UpvL+4Q==; 5:3A81uBiZ/e4RwVASmMX/ryTfB7mYZjGxe4YB161jILuSzjRbZIJdwWHFMO0xYtV5S4R9f9vFGWlwyQbPTsfU2KSwlEX6P1R+F8vyCPNLhIECQ3TNpXqiZeLhJruvVtAFdGYuyX/U2UjOfxuXZGlBzV7GBqi5egBDbgmMPsZySmI=; 24:rQPHg9b8Vz7zbkUt5w7D4KSE4eUPV7+RqLVkMUNbglBDPq5wdC0bF5q3kFG0MuJDNIpWZ4Jolqw+cNmnd1j5gdrVUJr0238/H+IEelgf5hY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 7:Pox0GCgbrw4PIvFVVJKwrt/iB9k1iVSKupWMJDP2sJrdMFHmCx02RE4Yib7oRkDGNrI05ycCWVkqo3zepQiRsUx7ScVsAa/g8BLVTLBOVvg5WWTwB6EH7U3o7viokS/uHgL0yrJvYL0OMI/3+0s4zj/DaKAnatGsXIAxoeYOMxoKU9WZfpFGn9ObDl4BSFySeZ776iGwhGz+UfzjSCbZhHH0kmgoJ7RahP6POWK4udD4kDowwAfXGPkhR6x1mR8T; 20:gnvv+5KGQCc/pGiKlY02IAdpIP/7nOT/Szr/BRr71ubR21H6MSjx+m/BXHHVvzkz3B3QFvf8wVARTDHwGUKNDn/e5WeN6qir9GFeDSYqI3+DS+AVYd8jCwcxtAN7ldfWMU064auql4Ktj51z4ksPSVgJ1K3taR/e3AFweMiLIYs= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jul 2018 16:59:02.3243 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2da3e8b3-9686-42d4-7aa0-08d5e03d1dd1 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1974 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.8.98 Subject: [Qemu-devel] [PATCH 5/6] hyperv: address HvSintRoute by X86CPU pointer 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: Vijayabhaskar Balakrishna , Eduardo Habkost , "Michael S. Tsirkin" , Konrad Rzeszutek Wilk , Venu Busireddy , Liran Alon , Igor Mammedov , Si-Wei Liu , Paolo Bonzini , Boris Ostrovsky , Karl Heubaum , Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Use X86CPU pointer to refer to the respective HvSintRoute instead of vp_index. This is more convenient and also paves the way for future enhancements. Signed-off-by: Roman Kagan --- target/i386/hyperv.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/target/i386/hyperv.c b/target/i386/hyperv.c index 11fd1add2c..0ce8a7aa2f 100644 --- a/target/i386/hyperv.c +++ b/target/i386/hyperv.c @@ -18,7 +18,7 @@ =20 struct HvSintRoute { uint32_t sint; - uint32_t vp_index; + X86CPU *cpu; int gsi; EventNotifier sint_set_notifier; EventNotifier sint_ack_notifier; @@ -97,6 +97,12 @@ HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index,= uint32_t sint, HvSintRoute *sint_route; EventNotifier *ack_notifier; int r, gsi; + X86CPU *cpu; + + cpu =3D hyperv_find_vcpu(vp_index); + if (!cpu) { + return NULL; + } =20 sint_route =3D g_new0(HvSintRoute, 1); r =3D event_notifier_init(&sint_route->sint_set_notifier, false); @@ -128,7 +134,7 @@ HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index= , uint32_t sint, sint_route->gsi =3D gsi; sint_route->sint_ack_clb =3D sint_ack_clb; sint_route->sint_ack_clb_data =3D sint_ack_clb_data; - sint_route->vp_index =3D vp_index; + sint_route->cpu =3D cpu; sint_route->sint =3D sint; =20 return sint_route; --=20 2.17.1 From nobody Tue Nov 4 15:30:18 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=virtuozzo.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1530551214878720.3254143763832; Mon, 2 Jul 2018 10:06:54 -0700 (PDT) Received: from localhost ([::1]:34363 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fa2Hu-0004oz-2r for importer@patchew.org; Mon, 02 Jul 2018 13:06:54 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59482) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fa2AQ-0007xP-NI for qemu-devel@nongnu.org; Mon, 02 Jul 2018 12:59:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fa2AO-00049W-Rr for qemu-devel@nongnu.org; Mon, 02 Jul 2018 12:59:10 -0400 Received: from mail-db5eur01on070c.outbound.protection.outlook.com ([2a01:111:f400:fe02::70c]:55516 helo=EUR01-DB5-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fa2AO-00048w-I7 for qemu-devel@nongnu.org; Mon, 02 Jul 2018 12:59:08 -0400 Received: from rkaganb.sw.ru (185.231.240.5) by DB6PR0801MB1974.eurprd08.prod.outlook.com (2603:10a6:4:75::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.26; Mon, 2 Jul 2018 16:59:04 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OM3JJuZ1TxousfhSzslfB8Tz3pjfxyoj1jGiDjJqIZE=; b=VszyNrqiRw61Mi2YAshLDeLP3UaUMVZya4j02rXhQt7JyweoPJI7yw0pMl9OVRXnuI3ecigYcbihhXgD98Ro42H5t+mEceAkV3iXZwhhaG113beFEFfXGn1AsCEm6l2yEpkN8fQYQFJOlo+ugMZQPbGYo7glRviwZTbAVi3G4h8= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=rkagan@virtuozzo.com; From: Roman Kagan To: qemu-devel@nongnu.org Date: Mon, 2 Jul 2018 19:58:42 +0300 Message-Id: <20180702165842.11423-7-rkagan@virtuozzo.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180702165842.11423-1-rkagan@virtuozzo.com> References: <20180702165842.11423-1-rkagan@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [185.231.240.5] X-ClientProxiedBy: VI1PR08CA0234.eurprd08.prod.outlook.com (2603:10a6:802:15::43) To DB6PR0801MB1974.eurprd08.prod.outlook.com (2603:10a6:4:75::19) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fc8e9057-df31-4096-5cbf-08d5e03d1f19 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(5600053)(711020)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020); SRVR:DB6PR0801MB1974; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 3:iaXgjrfCmDtzEjbhl++GT4+U1j0xdIWyaBXr0Zu9GFDSkHRMFaFJXKTpND8Ew6E1BOAbAYHG26ELPc1wmbe/xLiHO3QvB0YYFnGtS/ys7LUjYYU5Nd4t3lKjrfL6MVN/DPVmPi+qBSLYhj9fYYYeSAVCjLJ3vtxWJjSq2dDCtOyT9K7Psp23dfPBXOV0IpQXRBsAnRVk11RuYYmN91OMAJz6Xv5Z0M7keOphH5sfiMkG9IwEtDUtrevEHGJemzhT; 25:2yP0NGIdtxiWKp3BigvywsR8KECuVMK2cAkuQX1MjZxGP4HVysBPFK1AVR2V3WNq1i7nWh+mprQoPw66Jr+ZfhafsA35ckZ8XEpBFm8elO1VJRSAlSW7KdZhUppOgcbUcAwwLKWTfhVicez9JZ9wbMocyoEC7GJ9iTlK85GwWrGSNmoQ/I1ah4zMHngcl6bpgr/c6IiFi1H+s5Equ7IoarMFnxSklcUz54zvtGAGMiJWxf8NpijWH5WszVypDm6XIBcXNOY/eOBuUFmqnYbQ46UgEfgQNfpk1klf09z1s4mH64lLm4WqALJ3UULHZuPDVYh60y4vvQfUjGoVCVtmWA==; 31:uXi+v3zhA57RDhqtdpjReQsqm1dMxzPqvCQzeErZbIuwZBdi/HEwGpUwpoDEZi5JhNPkqLbHn1SjK7hfgmMBxufVpiCm/MN8qXb0tgKsnN3s7pMerznluaBoEnBe4+w9coustoaDm+fYupJNRdI6wa1bFfp6rWNbx3r6XSu2kJXaZ/Mtk+2vMgP9E8l1c/gBvvgXE25wQjmwso2g+mfFCbj1sKr+/WZ+VxQ8ldkjo4A= X-MS-TrafficTypeDiagnostic: DB6PR0801MB1974: X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 20:gtfjLWXoNatqpqhPV/8i3RIJK43T1995d53gdP8JQeSjCkJ1y6nVFqh0FzXJZVUmCr52eCccneA8dAjjrponjFumGlQ7dtP9Yj9kPK3bH5AlrxKGCUzzfL47sifqyWP1h+2uGezxaFgkjc1zDprzrIRhQeBX+8iEUR7TDT5mPkbHCz6Mg8CJNrMSZAI9m5gurWps0PwVOhtD0kLcM8XBaFdkMZv5uCA8TDHbNqcDftqjxKbIGEjeh7iZROLsDjc6sC68lPdhI8GL2A71hiAUaSHvhUV5WNNYz9DhPaxbdRZAFn+OdAu5seM1j+aksA4QjT8RuRGcTB+vOc9nK3KjF5nCSkczhVjbPF0zIrLVEQLFnlupRRlCVHCkS0IxdDSC2RMdZgeSiIRtDc7Jpv595ZGnMyfupNzGTvoVGldBRwk4tMBfeRA+pAGwe8GAj9JRAabAU5KYjGG/JrrsRgieHiMJcv5Dm9qzaTEtO6oyBWGq6LNdTNZcEiR+UBwxhXow; 4:B3pk4g+SfBYby5VpJqIF5ZLjKA1R+l9r0ITIJvjxKP2MhjfWW/5pkbjiXopJ1Ws0BVdwQmBVFPuf4NvOLwCEYtEK9BailAhSLEJbA2W+ebXLaiWhs8nCjzACL2rLXA9lYnN4vyKgfGLp2gIc89i6H9OMdZoUZRTP09Vvbla21O1mBJTpFSSIqVmuiu+XcevzUzDq13gk6cJHOp81z5NUL2Ay+KsiCjEV/r6YRyxux4W04dobrVrTUf1v4Z7Yo6GUBd8cqjTI/3tbtsTXPnBEOCn9IBIvCvUIEKXbr5glQRgbAp2ghxjZzSdo7dQ/0ExY X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(60795455431006); X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3231254)(944501410)(52105095)(10201501046)(3002001)(93006095)(93001095)(149027)(150027)(6041310)(20161123564045)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011)(7699016); SRVR:DB6PR0801MB1974; BCL:0; PCL:0; RULEID:; SRVR:DB6PR0801MB1974; X-Forefront-PRVS: 07215D0470 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6029001)(39850400004)(136003)(396003)(376002)(366004)(346002)(189003)(199004)(7736002)(26005)(53936002)(305945005)(4326008)(50466002)(39060400002)(478600001)(6506007)(386003)(186003)(6512007)(51416003)(6486002)(66066001)(47776003)(25786009)(76176011)(97736004)(2906002)(2351001)(52116002)(16526019)(11346002)(105586002)(36756003)(8936002)(69596002)(53416004)(3846002)(6116002)(106356001)(81156014)(81166006)(446003)(2361001)(7416002)(86362001)(54906003)(2616005)(6666003)(16586007)(956004)(316002)(486006)(48376002)(68736007)(1076002)(50226002)(8676002)(476003)(5660300001)(6916009); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0801MB1974; H:rkaganb.sw.ru; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0801MB1974; 23:6G2Yj9vBfT0nNLPJB9gFFFNzgfVlOcOBdVCARpD?= =?us-ascii?Q?EDfCJku50k8tuJ+70ru76u5f/w2TPosLw6qYPq/tBi1zWpw6UckUlC0oVVEq?= =?us-ascii?Q?slff45NuLsCNxzNKIx3GbTiox1L3Jk7ijUd76SJ/25TSStjnNLGwmBTy4BTr?= =?us-ascii?Q?3nnAgeYdGcngIvm1f42E4oPOHXOI1hoEbV9b8vEKRJM2YcRA26k2zYyzFV+6?= =?us-ascii?Q?39lcjZjbYsE5a1N28OmqGU5R1XdGO5Us3AwUg+3UV6Jky8Ug+jSc8Lm58/An?= =?us-ascii?Q?jIbFgv3tPoB9RJhj6ODtKc1tKuPkBwDDe5unijKmgdTbKdO4xTdlTYw/jFUW?= =?us-ascii?Q?V4zNVxSEZauGkuBNfazCYahA1kHVtK9cqAVTPIIJfwxVcbbO+h42O4dCknKu?= =?us-ascii?Q?JgsPEBYcPbyKbS0gVxSIbif98EzTQTKayItzpfeBF37YHd2irA8CKEi2MOc3?= =?us-ascii?Q?O5DuAgvna+kfusE64d+jHlrWTrfQoLUBT2XeZi9gO8m2GuH5A7GzMkcQgaRR?= =?us-ascii?Q?odmI/G0zq9ZU6Bk1YhGkT380qx+DZ8rwYZJ0rFcHiTf5EIA6IGcCqxE/q3mT?= =?us-ascii?Q?iW1VYk7oY1YjGAt1xgFzBub00UphrXLvdTnP0kTIvxUQKwQRFM8Q7n4xh2s7?= =?us-ascii?Q?tUpaMLJrlUgwjUCiSxAqnGQtv0M+RKWoaAzUZ3fIlhj24TXNhjdtIysc4L0+?= =?us-ascii?Q?Sao7EwYZzs/VgTsVORPzSkIY6MMXQBK+row+9yUvD1Tn3Cn0ihuQXV+CCStY?= =?us-ascii?Q?91QT6NFeiFtB81b2iRVH9u85vB9GSoRSZH7Emm7Q5NcedVTewXJARsowgbvW?= =?us-ascii?Q?4BlkLvBAwk0GLBC4KgHM8ZDbIAbKYPwlZSRpuKdXmit0KKzwHlj+MXYLVzkJ?= =?us-ascii?Q?kLDjcGISjJg8xDj6r1WyReA0CuEWNcFjIaYhZlWhKhNn8u8nFGGJSZUNlv9M?= =?us-ascii?Q?f2t3KYD/dmmMboUNkyZ98ZEwZJErEkiFn96CgTKnFFq5G6Zt8tseVjkNn1yW?= =?us-ascii?Q?evFXeR0ID528hQGu8s809gmg8GbMVLyvFnRLQk85b/4+6Zp+yoD6qCkr26gD?= =?us-ascii?Q?Fus+DB36jbS16EURVHklq5i6DS0+2CW8QAjdfyHKhEKLFbUCksL4LQ4F/iJG?= =?us-ascii?Q?Ju6St7OPWEAAwt0j27Rhr7X44wUze+y0t6N6/WSyYIv3m+HdgKV91OFgzpHW?= =?us-ascii?Q?7CduSyv/Je4+HNQ4lQZdvTlqri9nTMtw2ic1J0xcgyPxoT46hYlR6pCdpVPU?= =?us-ascii?Q?7rIIPRjY8IJmUHiu0eq8yZ2K3x9FWgb6tZEY1Ex3IxBTODusJOicbQTtHpsd?= =?us-ascii?Q?PwghAq+2hmVn/qQWnY3xJ8sMIqIOqs1sGKj+SOaKNnMdlfU2YmaZSuXHMCmI?= =?us-ascii?Q?fxRhl9w=3D=3D?= X-Microsoft-Antispam-Message-Info: 0WUJ0x1JPyLK3fxhsKPlZ6AgpE9iAfTk00AyJnHgPvfJ0GyjgtEHBrrL28vjYe02jgBG3Zc551oa9+HXwxEPZJ1m4zb+oNzgfhC+tD209uxhqtaVZRhjJbiWBfUQa+a0CwancihtgZ63VtrlQHAT/Ny0aKlcBSzKm8p+BkmtgdY3aWp4a4p4VuGBxZDWKmV2SUhAzEWUeXAwtd8q0KCGjJYJZO5lHoe6LiBbJ1bXT9pExqyqZphhdMHFQfDaKktW8IAT7fw0tMou1iMAf57RE+Wa3ca+dK3CGU5u4T2TEZJU+75NPJFe4JJv1IoQpNcDqFkrU8X1kmLQWEMGOieFjI/AFzkqoA5hJAUFKLfCJUU= X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 6:0fRn1afFfnK9ZNs3bG/XJ5jV1+dKmJE0n2lF19O9s85Q81w9nFIUwJaSOTIBfTN4cK+UlhDbU4cdQZyPiYvvQsNoOX2sxXk7xIY/8jPo9D0lVuBQ8taBPYIVpl8++62VzNbVqwBO3nYTHrbBXnseqKX33dKMUO+jssObAmE2B6aXRbMqSq3Vf4dLqJjd2nmfw86is+MoOSAeAwsq7gQWy5LgFFC38KYA8LgzOox6lM9AnvzA1308rpm2EzanDK3kLAaO64+y27qK6+euT1HQjCjAr+pyEas6zP3VWAQ0/J70bqilznTxZGWWGmmlNYugxotGxG2R+WEr8tsric59wZ6iBVLuqGNi1DXzItSuI7ryOQ0kc4nyRd5DUR2lgOz0cfG7MI3B7NlyJT0/pKiqs7R+T/sWIlPt77XTbZPQPDW3i43q1zGe6s7GcNOj8E7hT7Bn6Lb2MZBL0uk7DlRvsg==; 5:MS7iZk5FEtPb2jPqQIW/i0zdv0Q796ZJng4Dc+5QrU+7LwRYvMYcVgaGgkPV3HUWlZNMKii6eqYM07G9PoASdWi6pt40oC2s13hHROFCLRA2JWSmEVOnackezRltnqymSXw/6THUOVMRXTJNkXTPIE0VuBsTWIeo8tpl5jw172Y=; 24:c89zQm7MmJB9b0npGZnhTC1f7cKmpWqFl7o4ESoIwGGOIRPNnhiMp7eKHDM5z8lGztoylPm+YfvMcNxZVTnCgUBcPO3SArRiuiWLgR7ERuY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0801MB1974; 7:liqeNQIj1WpUNzx8GAZ0kBeE8s5CccOhy54uAQQuDKwERv7CaOAKPZn/+OEdTYdbOFxZxgsZV6HT51JHVDgxjiQmaCpgYM3L8Sbt/1q/O/zWRYeKYeGZuBv2tN4ShDHaaa/TjcKcsvH++eAaYyORKmook62QtAVIYbZs4jca+QVRK5yD9hARY491uirlKcJVsUKnfMBeiujEdCQbJHrOqeLZTYnXpb3oDWM+zhgNHHFjahGTc5V+mRf/Zzrv9DJ9; 20:pf0ncvu7I5R72XDnaAt6OolXI4YdzL1BQHPDteW0GvpnDwwaXQpJp8fcPsoKvuUutB9Y1igGgA4mxZhbEX64BW13e2aqvrn5Ulnl2uUrhEMB9/JtNFzYR+47rzkHQ+9Nekd/MhxUGAFDJMdiIjaGgB+WlXxT+nkkUFbr8TsfAwc= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jul 2018 16:59:04.4721 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fc8e9057-df31-4096-5cbf-08d5e03d1f19 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1974 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 2a01:111:f400:fe02::70c Subject: [Qemu-devel] [PATCH 6/6] hyperv: make HvSintRoute reference-counted 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: Vijayabhaskar Balakrishna , Eduardo Habkost , "Michael S. Tsirkin" , Konrad Rzeszutek Wilk , Venu Busireddy , Liran Alon , Igor Mammedov , Si-Wei Liu , Paolo Bonzini , Boris Ostrovsky , Karl Heubaum , Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Multiple entities (e.g. VMBus devices) can use the same SINT route. To make their lives easier in maintaining SINT route ownership, make it reference-counted. Adjust the respective API names accordingly. Signed-off-by: Roman Kagan --- target/i386/hyperv.h | 10 +++++----- hw/misc/hyperv_testdev.c | 4 ++-- target/i386/hyperv.c | 25 +++++++++++++++++++++---- 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/target/i386/hyperv.h b/target/i386/hyperv.h index 93f7300dd6..af5fc05ea4 100644 --- a/target/i386/hyperv.h +++ b/target/i386/hyperv.h @@ -23,11 +23,11 @@ typedef void (*HvSintAckClb)(void *data); =20 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit); =20 -HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index, uint32_t sint, - HvSintAckClb sint_ack_clb, - void *sint_ack_clb_data); - -void kvm_hv_sint_route_destroy(HvSintRoute *sint_route); +HvSintRoute *hyperv_sint_route_new(uint32_t vp_index, uint32_t sint, + HvSintAckClb sint_ack_clb, + void *sint_ack_clb_data); +void hyperv_sint_route_ref(HvSintRoute *sint_route); +void hyperv_sint_route_unref(HvSintRoute *sint_route); =20 int kvm_hv_sint_route_set_sint(HvSintRoute *sint_route); =20 diff --git a/hw/misc/hyperv_testdev.c b/hw/misc/hyperv_testdev.c index 50dfa6af64..d29201b5ee 100644 --- a/hw/misc/hyperv_testdev.c +++ b/hw/misc/hyperv_testdev.c @@ -56,7 +56,7 @@ static void sint_route_create(HypervTestDev *dev, sint_route->vp_index =3D vp_index; sint_route->sint =3D sint; =20 - sint_route->sint_route =3D kvm_hv_sint_route_create(vp_index, sint, NU= LL, NULL); + sint_route->sint_route =3D hyperv_sint_route_new(vp_index, sint, NULL,= NULL); assert(sint_route->sint_route); =20 QLIST_INSERT_HEAD(&dev->sint_routes, sint_route, le); @@ -83,7 +83,7 @@ static void sint_route_destroy(HypervTestDev *dev, =20 sint_route =3D sint_route_find(dev, vp_index, sint); QLIST_REMOVE(sint_route, le); - kvm_hv_sint_route_destroy(sint_route->sint_route); + hyperv_sint_route_unref(sint_route->sint_route); g_free(sint_route); } =20 diff --git a/target/i386/hyperv.c b/target/i386/hyperv.c index 0ce8a7aa2f..4d8ef6f2da 100644 --- a/target/i386/hyperv.c +++ b/target/i386/hyperv.c @@ -24,6 +24,7 @@ struct HvSintRoute { EventNotifier sint_ack_notifier; HvSintAckClb sint_ack_clb; void *sint_ack_clb_data; + unsigned refcount; }; =20 uint32_t hyperv_vp_index(X86CPU *cpu) @@ -90,9 +91,9 @@ static void kvm_hv_sint_ack_handler(EventNotifier *notifi= er) sint_route->sint_ack_clb(sint_route->sint_ack_clb_data); } =20 -HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index, uint32_t sint, - HvSintAckClb sint_ack_clb, - void *sint_ack_clb_data) +HvSintRoute *hyperv_sint_route_new(uint32_t vp_index, uint32_t sint, + HvSintAckClb sint_ack_clb, + void *sint_ack_clb_data) { HvSintRoute *sint_route; EventNotifier *ack_notifier; @@ -136,6 +137,7 @@ HvSintRoute *kvm_hv_sint_route_create(uint32_t vp_index= , uint32_t sint, sint_route->sint_ack_clb_data =3D sint_ack_clb_data; sint_route->cpu =3D cpu; sint_route->sint =3D sint; + sint_route->refcount =3D 1; =20 return sint_route; =20 @@ -154,8 +156,23 @@ err: return NULL; } =20 -void kvm_hv_sint_route_destroy(HvSintRoute *sint_route) +void hyperv_sint_route_ref(HvSintRoute *sint_route) { + sint_route->refcount++; +} + +void hyperv_sint_route_unref(HvSintRoute *sint_route) +{ + if (!sint_route) { + return; + } + + assert(sint_route->refcount > 0); + + if (--sint_route->refcount) { + return; + } + kvm_irqchip_remove_irqfd_notifier_gsi(kvm_state, &sint_route->sint_set_notifier, sint_route->gsi); --=20 2.17.1