Message ID | 1425534531-6305-7-git-send-email-jasowang@redhat.com |
---|---|
State | New |
Headers | show |
On Thu, 5 Mar 2015 13:48:43 +0800 Jason Wang <jasowang@redhat.com> wrote: > Cc: Amit Shah <amit.shah@redhat.com> > Signed-off-by: Jason Wang <jasowang@redhat.com> > --- > hw/char/virtio-serial-bus.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/hw/char/virtio-serial-bus.c b/hw/char/virtio-serial-bus.c > index 37a6f44..f280e95 100644 > --- a/hw/char/virtio-serial-bus.c > +++ b/hw/char/virtio-serial-bus.c > @@ -26,6 +26,8 @@ > #include "hw/virtio/virtio-serial.h" > #include "hw/virtio/virtio-access.h" > > +#define VIRTIO_SERIAL_BUS_QUEUE_MAX 64 > + > struct VirtIOSerialDevices { > QLIST_HEAD(, VirtIOSerial) devices; > } vserdevices; > @@ -942,7 +944,7 @@ static void virtio_serial_device_realize(DeviceState *dev, Error **errp) > } > > /* Each port takes 2 queues, and one pair is for the control queue */ > - max_supported_ports = VIRTIO_PCI_QUEUE_MAX / 2 - 1; > + max_supported_ports = VIRTIO_SERIAL_BUS_QUEUE_MAX / 2 - 1; Shouldn't this be determined via the VirtIODevice instead? Or be the maximum of those two values? > > if (vser->serial.max_virtserial_ports > max_supported_ports) { > error_setg(errp, "maximum ports supported: %u", max_supported_ports);
On Fri, Mar 6, 2015 at 8:27 PM, Cornelia Huck <cornelia.huck@de.ibm.com> wrote: > On Thu, 5 Mar 2015 13:48:43 +0800 > Jason Wang <jasowang@redhat.com> wrote: > >> Cc: Amit Shah <amit.shah@redhat.com> >> Signed-off-by: Jason Wang <jasowang@redhat.com> >> --- >> hw/char/virtio-serial-bus.c | 4 +++- >> 1 file changed, 3 insertions(+), 1 deletion(-) >> >> diff --git a/hw/char/virtio-serial-bus.c >> b/hw/char/virtio-serial-bus.c >> index 37a6f44..f280e95 100644 >> --- a/hw/char/virtio-serial-bus.c >> +++ b/hw/char/virtio-serial-bus.c >> @@ -26,6 +26,8 @@ >> #include "hw/virtio/virtio-serial.h" >> #include "hw/virtio/virtio-access.h" >> >> +#define VIRTIO_SERIAL_BUS_QUEUE_MAX 64 >> + >> struct VirtIOSerialDevices { >> QLIST_HEAD(, VirtIOSerial) devices; >> } vserdevices; >> @@ -942,7 +944,7 @@ static void >> virtio_serial_device_realize(DeviceState *dev, Error **errp) >> } >> >> /* Each port takes 2 queues, and one pair is for the control >> queue */ >> - max_supported_ports = VIRTIO_PCI_QUEUE_MAX / 2 - 1; >> + max_supported_ports = VIRTIO_SERIAL_BUS_QUEUE_MAX / 2 - 1; > > Shouldn't this be determined via the VirtIODevice instead? Or be the > maximum of those two values? Rethink about this. I think it's ok to use the transport limit through VirtIODevice here. Then there's no need for virtio serial to handle migration compatibility.
diff --git a/hw/char/virtio-serial-bus.c b/hw/char/virtio-serial-bus.c index 37a6f44..f280e95 100644 --- a/hw/char/virtio-serial-bus.c +++ b/hw/char/virtio-serial-bus.c @@ -26,6 +26,8 @@ #include "hw/virtio/virtio-serial.h" #include "hw/virtio/virtio-access.h" +#define VIRTIO_SERIAL_BUS_QUEUE_MAX 64 + struct VirtIOSerialDevices { QLIST_HEAD(, VirtIOSerial) devices; } vserdevices; @@ -942,7 +944,7 @@ static void virtio_serial_device_realize(DeviceState *dev, Error **errp) } /* Each port takes 2 queues, and one pair is for the control queue */ - max_supported_ports = VIRTIO_PCI_QUEUE_MAX / 2 - 1; + max_supported_ports = VIRTIO_SERIAL_BUS_QUEUE_MAX / 2 - 1; if (vser->serial.max_virtserial_ports > max_supported_ports) { error_setg(errp, "maximum ports supported: %u", max_supported_ports);
Cc: Amit Shah <amit.shah@redhat.com> Signed-off-by: Jason Wang <jasowang@redhat.com> --- hw/char/virtio-serial-bus.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)