[Qemu-devel] [PATCH] allocate pci id for mdpy

Gerd Hoffmann posted 1 patch 7 years, 9 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20180424063857.29246-1-kraxel@redhat.com
Test checkpatch passed
Test docker-build@min-glib passed
Test docker-mingw@fedora passed
Test s390x passed
docs/specs/pci-ids.txt | 1 +
include/hw/pci/pci.h   | 1 +
2 files changed, 2 insertions(+)
[Qemu-devel] [PATCH] allocate pci id for mdpy
Posted by Gerd Hoffmann 7 years, 9 months ago
mdpy is a sample pci device for vfio-mdev.  Not (yet) merged upstream,
patch available here:

https://www.kraxel.org/cgit/linux/commit/?h=vfio-sample-display&id=6fd86cff3d7df38ab89625b16fdd6434b1c18749

Cc: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 docs/specs/pci-ids.txt | 1 +
 include/hw/pci/pci.h   | 1 +
 2 files changed, 2 insertions(+)

diff --git a/docs/specs/pci-ids.txt b/docs/specs/pci-ids.txt
index bb99a0257e..4d53e5c7d9 100644
--- a/docs/specs/pci-ids.txt
+++ b/docs/specs/pci-ids.txt
@@ -62,6 +62,7 @@ PCI devices (other than virtio):
 1b36:000a  PCI-PCI bridge (multiseat)
 1b36:000b  PCIe Expander Bridge (-device pxb-pcie)
 1b36:000d  PCI xhci usb host adapter
+1b36:000f  mdpy (mdev sample device), linux/samples/vfio-mdev/mdpy.c
 
 All these devices are documented in docs/specs.
 
diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
index a9c3ee5aa2..990d6fcbde 100644
--- a/include/hw/pci/pci.h
+++ b/include/hw/pci/pci.h
@@ -101,6 +101,7 @@ extern bool pci_available;
 #define PCI_DEVICE_ID_REDHAT_PCIE_RP     0x000c
 #define PCI_DEVICE_ID_REDHAT_XHCI        0x000d
 #define PCI_DEVICE_ID_REDHAT_PCIE_BRIDGE 0x000e
+#define PCI_DEVICE_ID_REDHAT_MDPY        0x000f
 #define PCI_DEVICE_ID_REDHAT_QXL         0x0100
 
 #define FMT_PCIBUS                      PRIx64
-- 
2.9.3


Re: [Qemu-devel] [PATCH] allocate pci id for mdpy
Posted by Michael S. Tsirkin 7 years, 9 months ago
On Tue, Apr 24, 2018 at 08:38:57AM +0200, Gerd Hoffmann wrote:
> mdpy is a sample pci device for vfio-mdev.  Not (yet) merged upstream,
> patch available here:
> 
> https://www.kraxel.org/cgit/linux/commit/?h=vfio-sample-display&id=6fd86cff3d7df38ab89625b16fdd6434b1c18749
> 
> Cc: Alex Williamson <alex.williamson@redhat.com>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

Reviewed-by: Michael S. Tsirkin <mst@redhat.com>

I presume this should be merged together with the
device implementation in qemu, or do you want this
in tree sooner?

> ---
>  docs/specs/pci-ids.txt | 1 +
>  include/hw/pci/pci.h   | 1 +
>  2 files changed, 2 insertions(+)
> 
> diff --git a/docs/specs/pci-ids.txt b/docs/specs/pci-ids.txt
> index bb99a0257e..4d53e5c7d9 100644
> --- a/docs/specs/pci-ids.txt
> +++ b/docs/specs/pci-ids.txt
> @@ -62,6 +62,7 @@ PCI devices (other than virtio):
>  1b36:000a  PCI-PCI bridge (multiseat)
>  1b36:000b  PCIe Expander Bridge (-device pxb-pcie)
>  1b36:000d  PCI xhci usb host adapter
> +1b36:000f  mdpy (mdev sample device), linux/samples/vfio-mdev/mdpy.c
>  
>  All these devices are documented in docs/specs.
>  
> diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
> index a9c3ee5aa2..990d6fcbde 100644
> --- a/include/hw/pci/pci.h
> +++ b/include/hw/pci/pci.h
> @@ -101,6 +101,7 @@ extern bool pci_available;
>  #define PCI_DEVICE_ID_REDHAT_PCIE_RP     0x000c
>  #define PCI_DEVICE_ID_REDHAT_XHCI        0x000d
>  #define PCI_DEVICE_ID_REDHAT_PCIE_BRIDGE 0x000e
> +#define PCI_DEVICE_ID_REDHAT_MDPY        0x000f
>  #define PCI_DEVICE_ID_REDHAT_QXL         0x0100
>  
>  #define FMT_PCIBUS                      PRIx64
> -- 
> 2.9.3

Re: [Qemu-devel] [PATCH] allocate pci id for mdpy
Posted by Gerd Hoffmann 7 years, 9 months ago
On Thu, Apr 26, 2018 at 06:10:48PM +0300, Michael S. Tsirkin wrote:
> On Tue, Apr 24, 2018 at 08:38:57AM +0200, Gerd Hoffmann wrote:
> > mdpy is a sample pci device for vfio-mdev.  Not (yet) merged upstream,
> > patch available here:
> > 
> > https://www.kraxel.org/cgit/linux/commit/?h=vfio-sample-display&id=6fd86cff3d7df38ab89625b16fdd6434b1c18749
> > 
> > Cc: Alex Williamson <alex.williamson@redhat.com>
> > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> 
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> 
> I presume this should be merged together with the
> device implementation in qemu, or do you want this
> in tree sooner?

There isn't a device implementation in qemu.  It's a mdev device
provided by the kernel.  Can be used with qemu using vfio.

cheers,
  Gerd


Re: [Qemu-devel] [PATCH] allocate pci id for mdpy
Posted by Michael S. Tsirkin 7 years, 9 months ago
On Thu, Apr 26, 2018 at 05:31:48PM +0200, Gerd Hoffmann wrote:
> On Thu, Apr 26, 2018 at 06:10:48PM +0300, Michael S. Tsirkin wrote:
> > On Tue, Apr 24, 2018 at 08:38:57AM +0200, Gerd Hoffmann wrote:
> > > mdpy is a sample pci device for vfio-mdev.  Not (yet) merged upstream,
> > > patch available here:
> > > 
> > > https://www.kraxel.org/cgit/linux/commit/?h=vfio-sample-display&id=6fd86cff3d7df38ab89625b16fdd6434b1c18749
> > > 
> > > Cc: Alex Williamson <alex.williamson@redhat.com>
> > > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> > 
> > Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> > 
> > I presume this should be merged together with the
> > device implementation in qemu, or do you want this
> > in tree sooner?
> 
> There isn't a device implementation in qemu.  It's a mdev device
> provided by the kernel.  Can be used with qemu using vfio.
> 
> cheers,
>   Gerd

Why do we need a define in pci.h then?

-- 
MST

Re: [Qemu-devel] [PATCH] allocate pci id for mdpy
Posted by Alex Williamson 7 years, 9 months ago
On Thu, 26 Apr 2018 18:40:40 +0300
"Michael S. Tsirkin" <mst@redhat.com> wrote:

> On Thu, Apr 26, 2018 at 05:31:48PM +0200, Gerd Hoffmann wrote:
> > On Thu, Apr 26, 2018 at 06:10:48PM +0300, Michael S. Tsirkin wrote:  
> > > On Tue, Apr 24, 2018 at 08:38:57AM +0200, Gerd Hoffmann wrote:  
> > > > mdpy is a sample pci device for vfio-mdev.  Not (yet) merged upstream,
> > > > patch available here:
> > > > 
> > > > https://www.kraxel.org/cgit/linux/commit/?h=vfio-sample-display&id=6fd86cff3d7df38ab89625b16fdd6434b1c18749
> > > > 
> > > > Cc: Alex Williamson <alex.williamson@redhat.com>
> > > > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>  
> > > 
> > > Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> > > 
> > > I presume this should be merged together with the
> > > device implementation in qemu, or do you want this
> > > in tree sooner?  
> > 
> > There isn't a device implementation in qemu.  It's a mdev device
> > provided by the kernel.  Can be used with qemu using vfio. 
> 
> Why do we need a define in pci.h then?

Because we want to allocate the device ID rather than squat on an
unused one and risk that it later conflicts with an another device.  Do
we track device ID allocations from the RH vendor ID other than here in
QEMU?  Thanks,

Alex

Re: [Qemu-devel] [PATCH] allocate pci id for mdpy
Posted by Michael S. Tsirkin 7 years, 9 months ago
On Thu, Apr 26, 2018 at 11:00:28AM -0600, Alex Williamson wrote:
> On Thu, 26 Apr 2018 18:40:40 +0300
> "Michael S. Tsirkin" <mst@redhat.com> wrote:
> 
> > On Thu, Apr 26, 2018 at 05:31:48PM +0200, Gerd Hoffmann wrote:
> > > On Thu, Apr 26, 2018 at 06:10:48PM +0300, Michael S. Tsirkin wrote:  
> > > > On Tue, Apr 24, 2018 at 08:38:57AM +0200, Gerd Hoffmann wrote:  
> > > > > mdpy is a sample pci device for vfio-mdev.  Not (yet) merged upstream,
> > > > > patch available here:
> > > > > 
> > > > > https://www.kraxel.org/cgit/linux/commit/?h=vfio-sample-display&id=6fd86cff3d7df38ab89625b16fdd6434b1c18749
> > > > > 
> > > > > Cc: Alex Williamson <alex.williamson@redhat.com>
> > > > > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>  
> > > > 
> > > > Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> > > > 
> > > > I presume this should be merged together with the
> > > > device implementation in qemu, or do you want this
> > > > in tree sooner?  
> > > 
> > > There isn't a device implementation in qemu.  It's a mdev device
> > > provided by the kernel.  Can be used with qemu using vfio. 
> > 
> > Why do we need a define in pci.h then?
> 
> Because we want to allocate the device ID rather than squat on an
> unused one and risk that it later conflicts with an another device.  Do
> we track device ID allocations from the RH vendor ID other than here in
> QEMU?  Thanks,
> 
> Alex

We have pci-ids.txt, yes. Unused macros just might get pruned down
the line. If you like, add a comment in pci.h saying 0xf is reserved for
mdpy.

-- 
MST

Re: [Qemu-devel] [PATCH] allocate pci id for mdpy
Posted by Gerd Hoffmann 7 years, 9 months ago
On Thu, Apr 26, 2018 at 06:40:40PM +0300, Michael S. Tsirkin wrote:
> On Thu, Apr 26, 2018 at 05:31:48PM +0200, Gerd Hoffmann wrote:
> > On Thu, Apr 26, 2018 at 06:10:48PM +0300, Michael S. Tsirkin wrote:
> > > On Tue, Apr 24, 2018 at 08:38:57AM +0200, Gerd Hoffmann wrote:
> > > > mdpy is a sample pci device for vfio-mdev.  Not (yet) merged upstream,
> > > > patch available here:
> > > > 
> > > > https://www.kraxel.org/cgit/linux/commit/?h=vfio-sample-display&id=6fd86cff3d7df38ab89625b16fdd6434b1c18749
> > > > 
> > > > Cc: Alex Williamson <alex.williamson@redhat.com>
> > > > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> > > 
> > > Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> > > 
> > > I presume this should be merged together with the
> > > device implementation in qemu, or do you want this
> > > in tree sooner?
> > 
> > There isn't a device implementation in qemu.  It's a mdev device
> > provided by the kernel.  Can be used with qemu using vfio.
> > 
> > cheers,
> >   Gerd
> 
> Why do we need a define in pci.h then?

Looks like a good way to make sure we don't hand out the ID twice as
docs/specs/pci-ids.txt is not fully in sync with include/hw/pci/pci.h.
1b36:000c and 1b36:000e are missing in docs/specs/pci-ids.txt.

cheers,
  Gerd