From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36850) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YQsVo-0000pd-G3 for qemu-devel@nongnu.org; Thu, 26 Feb 2015 02:05:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YQsVk-0006CD-5n for qemu-devel@nongnu.org; Thu, 26 Feb 2015 02:05:32 -0500 Received: from mx1.redhat.com ([209.132.183.28]:38589) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YQsVj-0006Bw-UK for qemu-devel@nongnu.org; Thu, 26 Feb 2015 02:05:28 -0500 From: Jason Wang Date: Thu, 26 Feb 2015 15:04:41 +0800 Message-Id: <1424934286-7099-7-git-send-email-jasowang@redhat.com> In-Reply-To: <1424934286-7099-1-git-send-email-jasowang@redhat.com> References: <1424934286-7099-1-git-send-email-jasowang@redhat.com> Subject: [Qemu-devel] [PATCH V2 06/11] virtio-s390: switch to bus specific queue limit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: mst@redhat.com, Jason Wang , Alexander Graf , Christian Borntraeger , Cornelia Huck , Richard Henderson Instead of depending on marco, switch to use a bus specific queue limit. Left is AdapterRouters->gsi[], this could be done in the future if we want to increase s390's queue limit really. Cc: Alexander Graf Cc: Richard Henderson Cc: Christian Borntraeger Cc: Cornelia Huck Signed-off-by: Jason Wang --- hw/s390x/s390-virtio-bus.c | 6 +++--- include/hw/s390x/s390_flic.h | 2 +- include/hw/virtio/virtio.h | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/hw/s390x/s390-virtio-bus.c b/hw/s390x/s390-virtio-bus.c index d48590a..4e2bbbc 100644 --- a/hw/s390x/s390-virtio-bus.c +++ b/hw/s390x/s390-virtio-bus.c @@ -331,7 +331,7 @@ static ram_addr_t s390_virtio_device_num_vq(VirtIOS390Device *dev) VirtIODevice *vdev = dev->vdev; int num_vq; - for (num_vq = 0; num_vq < VIRTIO_PCI_QUEUE_MAX; num_vq++) { + for (num_vq = 0; num_vq < virtio_get_queue_max(vdev); num_vq++) { if (!virtio_queue_get_num(vdev, num_vq)) { break; } @@ -438,7 +438,7 @@ VirtIOS390Device *s390_virtio_bus_find_vring(VirtIOS390Bus *bus, QTAILQ_FOREACH(kid, &bus->bus.children, sibling) { VirtIOS390Device *dev = (VirtIOS390Device *)kid->child; - for(i = 0; i < VIRTIO_PCI_QUEUE_MAX; i++) { + for(i = 0; i < virtio_get_queue_max(dev->vdev); i++) { if (!virtio_queue_get_addr(dev->vdev, i)) break; if (virtio_queue_get_addr(dev->vdev, i) == mem) { @@ -707,7 +707,7 @@ static void virtio_s390_bus_class_init(ObjectClass *klass, void *data) bus_class->max_dev = 1; k->notify = virtio_s390_notify; k->get_features = virtio_s390_get_features; - k->queue_max = VIRTIO_PCI_QUEUE_MAX; + k->queue_max = VIRTIO_S390_QUEUE_MAX; } static const TypeInfo virtio_s390_bus_info = { diff --git a/include/hw/s390x/s390_flic.h b/include/hw/s390x/s390_flic.h index 489d73b..7a3ada2 100644 --- a/include/hw/s390x/s390_flic.h +++ b/include/hw/s390x/s390_flic.h @@ -20,7 +20,7 @@ typedef struct AdapterRoutes { AdapterInfo adapter; int num_routes; - int gsi[VIRTIO_PCI_QUEUE_MAX]; + int gsi[VIRTIO_S390_QUEUE_MAX]; } AdapterRoutes; #define TYPE_S390_FLIC_COMMON "s390-flic" diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h index 04ad532..8f4da77 100644 --- a/include/hw/virtio/virtio.h +++ b/include/hw/virtio/virtio.h @@ -94,6 +94,7 @@ typedef struct VirtQueueElement #define VIRTIO_PCI_QUEUE_MAX 64 #define VIRTIO_CCW_QUEUE_MAX 64 +#define VIRTIO_S390_QUEUE_MAX 64 #define VIRTIO_NO_VECTOR 0xffff -- 1.9.1