Received: by 2002:a05:6358:45e:b0:b5:b6eb:e1f9 with SMTP id 30csp146809rwe; Tue, 30 Aug 2022 23:30:44 -0700 (PDT) X-Google-Smtp-Source: AA6agR7EPNLtPwn9g88guMgEVRB6Y0ITdnWe+GIw3ZQH6ZA4LAEHojCAruMW81khD3wy7YK4dTj0 X-Received: by 2002:a17:907:e89:b0:741:9f6d:fb88 with SMTP id ho9-20020a1709070e8900b007419f6dfb88mr7930726ejc.597.1661927444035; Tue, 30 Aug 2022 23:30:44 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1661927444; cv=pass; d=google.com; s=arc-20160816; b=q8x1atovcObDFw0VmffHfCP+IZ7Zf34SiGPbDIOIReh2xwtul4X0cJesfDZtusBLWN bcf3DWT90YwCUy6xgf77PyIuE+isotpUgEqI1yeOfeSd1LX7RgYEFGe1F2DlXLpZy6yM efW60w7xomUTCwCtGPD22lEPzL53SJsXBKAV5eUvjnpVF6ENdM/eiw1AdLydSxxHnN8S eCtBSUxuJ8Paev9tfC625mwKG+1W+SYabFjIt0JgG5N28piBcCbV/SWXntAZbzmzXEfE IvhvJQX5x83uifXUcE3HZkemIf8YReydu0YvI3k9T2GdOQsd9eZkJo6FVsZa15kL5sW0 vKfQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=xIrqZaChcAxyEpEUlCYfEGoCiTXu+1VW5ZiGMS2v0k4=; b=tfVWlpxKyQbQyNwB3U62Kfzr964nNDA25k6QBcv2Py+qrmy5AUGPl56S20Z95GJRJo 9ucgfJ90hIHlamb1iAiyMeQEdZ9tr2cOuujiR/G8me7lXPGSy0wn+W4sZt6z64ZSBOAJ sTXVS0yW6iaJ0hv+GKQkXc+0F569oI6q0r11NtD7hbDabR2hNUirnevk4ld4Qruxfuvl LASioo1TzMqdrJXdcs3XXED5L9483fsikjQdrhvl+ccVqXVizFZfHVen8Ngs8/3Ix4i8 EU1uEJVE8nuq7Sok0oud+mDayxUa5lMNrQ7IK+M47pqJpO27gsvX6kA0hN+EtRpJKUv1 +NeQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=XvvIL732; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=intel.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f13-20020a0564021e8d00b004487e66b7aesi6910113edf.584.2022.08.30.23.30.17; Tue, 30 Aug 2022 23:30:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=XvvIL732; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=intel.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230064AbiHaGLF (ORCPT + 99 others); Wed, 31 Aug 2022 02:11:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46962 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229822AbiHaGK4 (ORCPT ); Wed, 31 Aug 2022 02:10:56 -0400 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A3B984F666; Tue, 30 Aug 2022 23:10:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661926255; x=1693462255; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Pkqc8/mTfO9ZiZWwI5u1CPZCNDoK9Lhxq3T5l6T09aQ=; b=XvvIL7321leZnq5fxgAgLVVEaUEIyl+yqs00OtV8dkFWg+UE84sdctz6 C7Y+/spmjXC4q/1sCV86ER8cXIIqROLWOhgU0b6vmhr6rqCJMcyw70Row 2uL0GzmmAuue2StEEKOqwUa8dIephfk/cOMPyoAOwW3UzGN1TBZzTwtL4 bQ7u1NGY9BdHROaX2jKXTTY20W00cBNTEWJxCMou9YPpniWWtbN4rkZ9u 4FecujNegmP/51ZbvOCCFZXZQRR08HxnFrPueSpxEXE8vqLFh7UcSXEBX sThu4YPqnAGfEHcHxTgeX6wzYb21bdU3jl914AEeyJWRj3etbnAukf2VC Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10455"; a="282353863" X-IronPort-AV: E=Sophos;i="5.93,277,1654585200"; d="scan'208";a="282353863" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Aug 2022 23:10:55 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,277,1654585200"; d="scan'208";a="588920413" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga006.jf.intel.com with ESMTP; 30 Aug 2022 23:10:55 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 30 Aug 2022 23:10:54 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 30 Aug 2022 23:10:54 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Tue, 30 Aug 2022 23:10:54 -0700 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (104.47.73.170) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Tue, 30 Aug 2022 23:10:53 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZB7cErs+ylMYEehxpIcW7PFXjayAWfE5Xl0H0PKm2MrqBvHbpApl4CrSogShoO6sCiE+S7dY/V5jQbDt7qdpoYB24rRNATk2jdxjDg0MP+6FZ3sZT098ARAnRt0nElb1ust48yy7fw0zNNRhLuIWyqCaD4GTHct3qjHVBZmaQC5N7675XDlVpuUrny5nOR9t3gsrxSvw2skdTjj3mqVWUuRSiO1VkvufdhmAbjYmC9oyLj5RbJ238DQb6OGXEk2YnyrcsZvA2l7hZ/dr1NA/tmUNKTluDUbdEP7i/edtypI+XG6r3Q51Fex0nmxl051q6NHTv4tXWi/0BT7KD2RkBQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xIrqZaChcAxyEpEUlCYfEGoCiTXu+1VW5ZiGMS2v0k4=; b=f8TEbV7bEXsA0FDlaYcKfqO4tRwkHRgS/nlnzNU+uCshurofuKuarjxXb2j++4BKN7chkgRI6y0A6QIqUuNBySdUI9pdU8e6l6wz7zEfAlQWuc8BpiZ/ZQDHi7RUGvuddY8bROIX1MZhqqXw95k4y3U0OE/gYChMgaHRwByavP7lg7W03gd1P4qMrmWLqfEk2hj3fJmQVNqPcI/6HjBIEs47OSOYA9Otz6anmeIDEfsT4ZKoJYn+/PFtoRDmlHlxtHYnAFPqciJf1UypE9psOot6roWNzVyvY8E+dJnlU2GsxRu/Nu3s3d0lm8uJBsJnk7S3Z6XhE6g6GOaRXIvPgQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from BN9PR11MB5276.namprd11.prod.outlook.com (2603:10b6:408:135::18) by MN2PR11MB3725.namprd11.prod.outlook.com (2603:10b6:208:f9::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.15; Wed, 31 Aug 2022 06:10:51 +0000 Received: from BN9PR11MB5276.namprd11.prod.outlook.com ([fe80::a435:3eff:aa83:73d7]) by BN9PR11MB5276.namprd11.prod.outlook.com ([fe80::a435:3eff:aa83:73d7%5]) with mapi id 15.20.5588.010; Wed, 31 Aug 2022 06:10:51 +0000 From: "Tian, Kevin" To: Jason Gunthorpe , Alex Williamson CC: Zhenyu Wang , "Wang, Zhi A" , Jani Nikula , "Joonas Lahtinen" , "Vivi, Rodrigo" , Tvrtko Ursulin , David Airlie , Daniel Vetter , Eric Farman , Matthew Rosato , Halil Pasic , Vineeth Vijayan , "Peter Oberparleiter" , Heiko Carstens , Vasily Gorbik , Alexander Gordeev , Christian Borntraeger , Sven Schnelle , Tony Krowiak , Jason Herne , Harald Freudenberger , Diana Craciun , "Cornelia Huck" , Longfang Liu , "Shameer Kolothum" , Yishai Hadas , Eric Auger , Kirti Wankhede , Leon Romanovsky , Abhishek Sahu , "intel-gvt-dev@lists.freedesktop.org" , "intel-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , "linux-s390@vger.kernel.org" , "kvm@vger.kernel.org" , "Liu, Yi L" Subject: RE: [PATCH 15/15] vfio: Add struct device to vfio_device Thread-Topic: [PATCH 15/15] vfio: Add struct device to vfio_device Thread-Index: AQHYufqqXjqbWwGvv0ujITvL457lEa3ICPIAgAAacoCAAGT9wA== Date: Wed, 31 Aug 2022 06:10:51 +0000 Message-ID: References: <20220827171037.30297-1-kevin.tian@intel.com> <20220827171037.30297-16-kevin.tian@intel.com> <20220830161838.4aa47045.alex.williamson@redhat.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 296258f3-5005-490d-7e3e-08da8b178e1f x-ms-traffictypediagnostic: MN2PR11MB3725:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 20y6SP2dnZ/oM85Bf4P+zwX1EuS37oPAR2M8OoXcoh8LS6icERi3OoDlFeu2ZRuqZA7OJuA8MP/R2gONJCpDLWYuSTBZXWuOASaXaPqCTwapZal37h/MEwPplIxaOiKrcZg/dM2fYcC8xgPhh8/81tHWhk1z3d1Xu5tbB+S62BaAkrE2K6LoBLzQ0ENYNhs2rE5891OgVoskQ0QEHWvcFjf54WWDreXrOMwE+uVGUJtn27G+rTet2prcbaEsw6PanHEMJlPMHekUWYUQQ90pcI9xoQobByKQLyX97zylBq54v7NkdTILoYY5aT9aqQeozM8tUfSI0qraivtjlA9e86GgiB58mZYi1j1AsXQS7tqjAzERShpDqScDFAo8cLDel2/APSnJm9AS+/B90ohIs5+of9Yqnk+TvU2YN9oHAAAq5ioJq9G1harVe8invWx7IZcwnzob1MCH/2nCk8PoXeH1lZm3NhruqAx0QgmnY+zunPljjZq3/uqaU4rwU004q3qYpf2Nfh+nrX9dsy5Csky+vptfdhmq8YZGLqWSBSHU/KMazyMi1S/WIyIIj5ozwUDiPEPJhVddntPJ5pvPHV2bL4izm+PvZ/Z/C7krdYjZ+knjk6SRkRGEneGCQKpS4dwtP2TbOWm6pwJQB78vEYpBVDT+VPqA2DERDZnlYNrlfPd84roqjTmZZxdYEgh8qmaosCbviPCv8Lkua4Ygm5zN6SKx/cnoeZPfI1i2CdEZRllerClwSU3szy48pbEbnpcmOWqxssCImuBnWE8sNA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5276.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(376002)(396003)(136003)(346002)(366004)(39860400002)(186003)(316002)(54906003)(66946007)(71200400001)(66556008)(4326008)(66476007)(8676002)(110136005)(64756008)(76116006)(66446008)(86362001)(478600001)(5660300002)(52536014)(7416002)(82960400001)(38070700005)(8936002)(41300700001)(7406005)(7696005)(122000001)(26005)(38100700002)(2906002)(6506007)(33656002)(55016003)(83380400001)(9686003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?WXAVl2Y9AA38oxSE3yrBgHGjA1hMPl0yHi6Jn+l7IX7wpRR70jE5Izlypvc5?= =?us-ascii?Q?ucuFy9RfWBKwx9aQ1nZgHLyE7H+8iqtuoTNs+N4DsNzU/idcA0I6JUfdqdiY?= =?us-ascii?Q?GNlv4iwVBnAs4EZzlgy9qOT6fGeysS9BwU/7yE86qM2KTVvLY6YsM4VQjLhv?= =?us-ascii?Q?UN5aXiqe1Awfnwh1meoaDMVt81HFUEvELiIoqoT5LLhIUGDA+fz9fOM6Lx5j?= =?us-ascii?Q?en7YkHG/dx4SU1posDmKSisfQdlZ7Y0pT1wmRXtpDQ27560yxvis1bJUl+4s?= =?us-ascii?Q?mi1SuwZ5Mh82GzRdqnYhMvt45YGTrgtmxumiGR0MwOYEBfFHRaP4OGD/3zbe?= =?us-ascii?Q?UMZ5kpMEbmIeo9Ub4WmOH+9dgOOwwiD5uqMtNG5sBX032rsJfLccBZEuQL2c?= =?us-ascii?Q?8jj+9HMt3G52iWl9BX5XDLoo7/Covt7SUNHjrXyQAisG+YDnO6XSq/0zu/gv?= =?us-ascii?Q?5iyKef1PyFQvcc9LbDFsg98DA/Y37eX9l6pR6SiSsuOY/z3n5EJZhUCud3pa?= =?us-ascii?Q?M+WrLjGGGjFx+jIAeDGbmdQroPg4Ag1HK8mfSuSfiHneg3dhi9q48aYk+VX7?= =?us-ascii?Q?e9JOVQ1HtJmNytQV6m+GitTSKdJSUiJNFSowxAHc5bEzTh79wkE9BSUNAJpr?= =?us-ascii?Q?gq9oCe8NCywIrktjsg6xnQcJeXa3LZzRgUvfrICH4bu+xPtIpCWqiRcmZjCQ?= =?us-ascii?Q?yp2LeTniraEC0auqcvAG274ipyeZc+NY4gw69M2x1WF2ghCp7SS0LVoAHIDD?= =?us-ascii?Q?f/X8dBrktxnSnDEd+NRNgEL3b5TM8JEMt05zmvh7yMXXamILNP2xXuDApuj2?= =?us-ascii?Q?g1zGTvWfY1omTLIWAkwKXKqq05m3jVHvjstCNFJEjGlfDiPZ8zhhTzPLsu0k?= =?us-ascii?Q?GRSrjEBWcXShhI4Ww8l6J4Ag2JR0SzxyIUjq1QJ7/Itd8ESrBFa4ub0er04E?= =?us-ascii?Q?a5Nf6wCWmTbJmLpHPmoMBcg6ThIiKborpZLZn+Ms/UivofbfSlxIxZ93kOT/?= =?us-ascii?Q?KS+OiMakgqw+04UCzL2Y5gysOzv1295diKH7/ZnL20zEEc4M36Kdql7JhpG4?= =?us-ascii?Q?h9Y45K1zoY3um6ilcuzaiiIRH9HNCMClrLJB1OeNfTqaOKeENKWEH4Ftv9/U?= =?us-ascii?Q?+dlwyAztY+hQr5O25dBXPTcjdTdXj69AI1POkXa4JrksZ1fEVt4KjexBLe+h?= =?us-ascii?Q?KTKAtpYMlKY9DNTjjzeD/59EdmngzGmWNwmdbUg9cQxB79dLxLqmPjF1QKZO?= =?us-ascii?Q?HiA2/wp/BK9lbOekmUPWMExmvd3eh7k1Ms7ZEu0aKDz9eF0ksGxuIy2RBZlW?= =?us-ascii?Q?TlOUwsNCrPHzuCAObzs3B18zp39/BcKuniHPvuks9JCrjo+vb4X5PAHTdICM?= =?us-ascii?Q?Tr5/bin4jAQVEn+DHO8CaxTOW2TGuShUq90bgwCZ7+3kjjSkppz1cIYVm2BG?= =?us-ascii?Q?agk/wIU7qJkzFaLDDSwoiictQNK2MlvaVSVg8hOserIH8AfNM7HgPKAZL5sR?= =?us-ascii?Q?Tb2gFLf94cOK1d/tb/19NSpbxEvc5SiMF5TDtE9KamsjHdHNouCjPMSje0Oj?= =?us-ascii?Q?maWTtXf+PumyoDa+UliQvoN1KHKJ5xQHVEwziHM8?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5276.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 296258f3-5005-490d-7e3e-08da8b178e1f X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2022 06:10:51.1127 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: u8BURVAaephkP4WRMyzRlWqcREvTqjTiXd/Xb4WRPWB4GGNd0ntaJkT0FYSSA2R6QmnDPA7iQpXpVWbMKFAz/g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3725 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > From: Jason Gunthorpe > Sent: Wednesday, August 31, 2022 7:53 AM >=20 > On Tue, Aug 30, 2022 at 04:18:38PM -0600, Alex Williamson wrote: > > On Sun, 28 Aug 2022 01:10:37 +0800 > > Kevin Tian wrote: > > > > > From: Yi Liu > > > > > > and replace kref. With it a 'vfio-dev/vfioX' node is created under th= e > > > sysfs path of the parent, indicating the device is bound to a vfio > > > driver, e.g.: > > > > > > /sys/devices/pci0000\:6f/0000\:6f\:01.0/vfio-dev/vfio0 > > > > > > It is also a preparatory step toward adding cdev for supporting futur= e > > > device-oriented uAPI. > > > > Shall we start Documentation/ABI/testing/vfio-dev now? Thanks. >=20 > I always thought that was something to use when adding new custom > sysfs attributes? >=20 > Here we are just creating a standard struct device with its standard > sysfs? >=20 There is nothing special for vfio-dev/vfioX. But from pci device p.o.v this does introduce a custom node in the directory, which is probably what Alex referred to? Anyway if required following can be introduced: diff --git a/Documentation/ABI/testing/sysfs-devices-vfio-dev b/Documentati= on/ABI/testing/sysfs-devices-vfio-dev new file mode 100644 index 000000000000..dfe8baaf1ccb --- /dev/null +++ b/Documentation/ABI/testing/sysfs-devices-vfio-dev @@ -0,0 +1,8 @@ +What: /sys/...//vfio-dev/vfioX/ +Date: September 2022 +Contact: Yi Liu +Description: + This directory is created when the device is bound to a + vfio driver. The layout under this directory matches what + exists for a standard 'struct device'. 'X' is a random + number marking this device in vfio. At the start I thought it might make more sense to add it into an existing vfio ABI file. But looks it doesn't exist. Curious why nobody asked for ABI doc for /dev/vfio/vfio, /sys/class/vfio, e= tc... Thanks Kevin