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 <eric.au...@redhat.com>
> > > Suggested-by: Michael S. Tsirkin <m...@redhat.com>
> > [...]
> > > @@ -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,
--
Peter Xu