qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v14 08/11] virtio-iommu-pci: Introduce the x-dt-binding optio


From: Michael S. Tsirkin
Subject: Re: [PATCH v14 08/11] virtio-iommu-pci: Introduce the x-dt-binding option
Date: Sun, 9 Feb 2020 15:58:57 -0500

On Fri, Feb 07, 2020 at 06:04:05PM -0500, Peter Xu wrote:
> On Fri, Feb 07, 2020 at 05:24:54AM -0500, Michael S. Tsirkin wrote:
> > On Fri, Feb 07, 2020 at 11:05:40AM +0100, Jean-Philippe Brucker wrote:
> > > Hi Eric,
> > > 
> > > On Fri, Feb 07, 2020 at 10:32:00AM +0100, Eric Auger wrote:
> > > > At the moment, the kernel only supports device tree
> > > > integration of the virtio-iommu. DT bindings between the
> > > > PCI root complex and the IOMMU must be created by the machine
> > > > in conformance to:
> > > > 
> > > > Documentation/devicetree/bindings/virtio/iommu.txt.
> > > > 
> > > > To make sure the end-user is aware of this, force him to use the
> > > > temporary device option "x-dt-binding" and also double check the
> > > > machine has a hotplug handler for the virtio-iommu-pci device.
> > > > This hotplug handler is in charge of creating those DT bindings.
> > > > 
> > > > Signed-off-by: Eric Auger <address@hidden>
> > > > Suggested-by: Michael S. Tsirkin <address@hidden>
> > > [...]
> > > > @@ -39,6 +42,21 @@ static void virtio_iommu_pci_realize(VirtIOPCIProxy 
> > > > *vpci_dev, Error **errp)
> > > >      VirtIOIOMMUPCI *dev = VIRTIO_IOMMU_PCI(vpci_dev);
> > > >      DeviceState *vdev = DEVICE(&dev->vdev);
> > > >  
> > > > +    if (!dev->dt_binding) {
> > > > +        error_setg(errp,
> > > > +                   "Instantiation currently only is possible if the 
> > > > machine "
> > > > +                   "creates device tree iommu-map bindings, ie. ACPI 
> > > > is not "
> > > > +                   "yet supported");
> > > > +        error_append_hint(errp, "use 
> > > > -virtio-iommu-pci,x-dt-binding\n");
> > > 
> > > "use -device virtio-iommu-pci,x-dt-binding"?
> > > 
> > > Can the option be safely removed as soon as we implement a topology
> > > description for the remaining platforms?  Or will we need to carry it
> > > forever for backward-compatibility (ie. ensure that an old command-line
> > > invocation that contains this option still works)?
> > > 
> > > Thanks,
> > > Jean
> > 
> > I'd worry that if we actually document it then users will come to
> > depend on it for sure, even though it starts with x-.
> 
> I thought x- parameters can be dropped directly with totally no
> grarantee...  Otherwise how do we differenciate x- with the common
> parameters, and how do we introduce remove-prone parameters?
> 
> Thanks,

It's all about not breaking users. Yes we document that x-
interfaces are unstable. But that documentation is only 
good for well-behaved users such as libvirt. End-users
tend not to read the docs and the subtleties of
stable/unstable interface are lost on them, so we really must never
actively ask end users to set an x- flag.


> -- 
> Peter Xu




reply via email to

[Prev in Thread] Current Thread [Next in Thread]