Message ID | 512E08FC.1020805@redhat.com |
---|---|
State | New |
Headers | show |
Il 27/02/2013 14:24, Gal Hammer ha scritto: > On 27/02/2013 14:35, Amit Shah wrote: >> On (Mon) 04 Feb 2013 [11:59:02], Michael S. Tsirkin wrote: >>> On Mon, Feb 04, 2013 at 10:42:32AM +0100, Paolo Bonzini wrote: >>>> Il 03/02/2013 13:11, Michael S. Tsirkin ha scritto: >>>>>>> static Property virtio_serial_properties[] = { >>>>>>> DEFINE_PROP_BIT("ioeventfd", VirtIOPCIProxy, flags, >>>>>>> VIRTIO_PCI_FLAG_USE_IOEVENTFD_BIT, true), >>>>>>> - DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, >>>>>>> DEV_NVECTORS_UNSPECIFIED), >>>>>>> + DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, 2), >>>>>>> DEFINE_PROP_HEX32("class", VirtIOPCIProxy, class_code, 0), >>>>>>> DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features), >>>>>>> DEFINE_PROP_UINT32("max_ports", VirtIOPCIProxy, >>>>>>> serial.max_virtserial_ports, 31), >>>>>>> >>>>>>> plus the backwards-compatibility stuff. >>>>>>> >>>>>>> Paolo >>>>> Makes sense, but the logic in virtio_serial_init_pci is >>>>> then dead code and should go away. >>>>> >>>> >>>> It won't be dead code for the backwards-compatible machine types (that >>>> use DEV_NVECTORS_UNSPECIFIED). >>>> >>>> Paolo >>> >>> Good point. Ack. Want to post this with proper signature etc? >> >> Gal, do you want to submit a patch for this? >> >> Amit >> > > Attached. You need to add backwards-compatibility properties in hw/pc.h. Paolo
diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c index a869f53..ba56ab2 100644 --- a/hw/virtio-pci.c +++ b/hw/virtio-pci.c @@ -975,6 +975,9 @@ static int virtio_serial_init_pci(PCIDevice *pci_dev) if (!vdev) { return -1; } + + /* backwards-compatibility with machines that were created with + DEV_NVECTORS_UNSPECIFIED */ vdev->nvectors = proxy->nvectors == DEV_NVECTORS_UNSPECIFIED ? proxy->serial.max_virtserial_ports + 1 : proxy->nvectors; @@ -1155,7 +1158,7 @@ static const TypeInfo virtio_net_info = { static Property virtio_serial_properties[] = { DEFINE_PROP_BIT("ioeventfd", VirtIOPCIProxy, flags, VIRTIO_PCI_FLAG_USE_IOEVENTFD_BIT, true), - DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, DEV_NVECTORS_UNSPECIFIED), + DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, 2), DEFINE_PROP_HEX32("class", VirtIOPCIProxy, class_code, 0), DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features), DEFINE_PROP_UINT32("max_ports", VirtIOPCIProxy, serial.max_virtserial_ports, 31),