On Thu, 21 Jul 2016 11:24:45 +0200 Greg Kurz <gr...@kaod.org> wrote: > On Thu, 12 May 2016 11:45:58 +0200 > Greg Kurz <gk...@linux.vnet.ibm.com> wrote: > > Without presuming if we got there because of a user mistake or some > > more subtile bug in the tooling, it doesn't hurt to log somewhere that
s/subtile/subtle/ > > the device won't be functional. > > > > Signed-off-by: Greg Kurz <gk...@linux.vnet.ibm.com> > > --- > > Michael, > > This patch still applies to your tree. Please nack if this is not worth > being upstreamed. > > Cc'ing Connie for broader audience :) > > Cheers. > > -- > Greg > > > hw/virtio/virtio-pci.c | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c > > index 0f634d2d776e..a74978cb5e83 100644 > > --- a/hw/virtio/virtio-pci.c > > +++ b/hw/virtio/virtio-pci.c > > @@ -1639,6 +1639,10 @@ static void virtio_pci_device_plugged(DeviceState > > *d, Error **errp) > > uint32_t size; > > VirtIODevice *vdev = virtio_bus_get_device(&proxy->bus); > > > > + if (!legacy && !modern) { > > + error_report("Warning: device is unserviceable when both legacy > > and modern modes are disabled. At least one of the disable-modern or > > disable-legacy properties should be set to false."); > > + } Do you maybe want to fail this at the realize stage already? A device that is neither legacy nor modern should not exist at all. > > + > > config = proxy->pci_dev.config; > > if (proxy->class_code) { > > pci_config_set_class(config, proxy->class_code); > > > > >