From mboxrd@z Thu Jan 1 00:00:00 1970 From: Scott Wood Subject: Re: RFC: vfio / device assignment -- layout of device fd files Date: Thu, 1 Sep 2011 15:26:01 -0500 Message-ID: <4E5FEA59.7070201@freescale.com> References: <9F6FE96B71CF29479FF1CDC8046E15031B3313@039-SN1MPN1-002.039d.mgd.msft.net> <20110901200037.GP10989@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Cc: Yoder Stuart-B08248 , "alex.williamson@redhat.com" , Benjamin Herrenschmidt , Wood Scott-B07421 , "kvm@vger.kernel.org" , "Joerg.Roedel@amd.com" , "qemu-devel@nongnu.org" , Alexander Graf , "avi@redhat.com" , David Gibson To: "Michael S. Tsirkin" Return-path: Received: from tx2ehsobe002.messaging.microsoft.com ([65.55.88.12]:19227 "EHLO TX2EHSOBE003.bigfish.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757862Ab1IAU0J (ORCPT ); Thu, 1 Sep 2011 16:26:09 -0400 In-Reply-To: <20110901200037.GP10989@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 09/01/2011 03:00 PM, Michael S. Tsirkin wrote: > That's a very rich interface, and easy to get wrong. > AFAIK the only reason vfio uses read/write for PCI was to avoid inventing > a custom interface. But if you do, it looks like a set of ioctls would > be much easier? You can even fit the existing uio infrastructure if you like. How would it be easier than producing/parsing a static data structure? What would it look like? > Here's another idea: all the information is likely already available > in sysfs. The only major thing that is likely available elsewhere is PCI config space, and that was not new to this proposal. Most other material is specifically related to the vfio/dtio interface (e.g. offsets into the file handle, arguments to the "get irq fd" ioctl, mapping of dtio regions/interrupts to device tree nodes), and could not be "useful to more than just vfio". > A way to query where the device is in sysfs > would give you *a ton* of information, including the type etc, For PCI, the user has domain/bus/dev/fn which should be sufficient to find that, if desired. For device-tree devices, there's a device tree path provided for each region/interrupt. -Scott