virtio-ccw: introduce ccw specific queue limit
Cc: Alexander Graf <agraf@suse.de> Cc: Cornelia Huck <cornelia.huck@de.ibm.com> Cc: Christian Borntraeger <borntraeger@de.ibm.com> Cc: Richard Henderson <rth@twiddle.net> Signed-off-by: Jason Wang <jasowang@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
8ad176aaed
commit
8dfbaa6ac4
@ -67,7 +67,7 @@ static int virtio_ccw_hcall_notify(const uint64_t *args)
|
||||
if (!sch || !css_subch_visible(sch)) {
|
||||
return -EINVAL;
|
||||
}
|
||||
if (queue >= VIRTIO_PCI_QUEUE_MAX) {
|
||||
if (queue >= VIRTIO_CCW_QUEUE_MAX) {
|
||||
return -EINVAL;
|
||||
}
|
||||
virtio_queue_notify(virtio_ccw_get_vdev(sch), queue);
|
||||
|
@ -170,7 +170,7 @@ static void virtio_ccw_start_ioeventfd(VirtioCcwDevice *dev)
|
||||
return;
|
||||
}
|
||||
vdev = virtio_bus_get_device(&dev->bus);
|
||||
for (n = 0; n < VIRTIO_PCI_QUEUE_MAX; n++) {
|
||||
for (n = 0; n < VIRTIO_CCW_QUEUE_MAX; n++) {
|
||||
if (!virtio_queue_get_num(vdev, n)) {
|
||||
continue;
|
||||
}
|
||||
@ -205,7 +205,7 @@ static void virtio_ccw_stop_ioeventfd(VirtioCcwDevice *dev)
|
||||
return;
|
||||
}
|
||||
vdev = virtio_bus_get_device(&dev->bus);
|
||||
for (n = 0; n < VIRTIO_PCI_QUEUE_MAX; n++) {
|
||||
for (n = 0; n < VIRTIO_CCW_QUEUE_MAX; n++) {
|
||||
if (!virtio_queue_get_num(vdev, n)) {
|
||||
continue;
|
||||
}
|
||||
@ -266,7 +266,7 @@ static int virtio_ccw_set_vqs(SubchDev *sch, uint64_t addr, uint32_t align,
|
||||
{
|
||||
VirtIODevice *vdev = virtio_ccw_get_vdev(sch);
|
||||
|
||||
if (index >= VIRTIO_PCI_QUEUE_MAX) {
|
||||
if (index >= VIRTIO_CCW_QUEUE_MAX) {
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
@ -291,7 +291,7 @@ static int virtio_ccw_set_vqs(SubchDev *sch, uint64_t addr, uint32_t align,
|
||||
virtio_queue_set_vector(vdev, index, index);
|
||||
}
|
||||
/* tell notify handler in case of config change */
|
||||
vdev->config_vector = VIRTIO_PCI_QUEUE_MAX;
|
||||
vdev->config_vector = VIRTIO_CCW_QUEUE_MAX;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -573,7 +573,7 @@ static int virtio_ccw_cb(SubchDev *sch, CCW1 ccw)
|
||||
ccw.cda,
|
||||
MEMTXATTRS_UNSPECIFIED,
|
||||
NULL);
|
||||
if (vq_config.index >= VIRTIO_PCI_QUEUE_MAX) {
|
||||
if (vq_config.index >= VIRTIO_CCW_QUEUE_MAX) {
|
||||
ret = -EINVAL;
|
||||
break;
|
||||
}
|
||||
@ -1025,7 +1025,7 @@ static void virtio_ccw_notify(DeviceState *d, uint16_t vector)
|
||||
return;
|
||||
}
|
||||
|
||||
if (vector < VIRTIO_PCI_QUEUE_MAX) {
|
||||
if (vector < VIRTIO_CCW_QUEUE_MAX) {
|
||||
if (!dev->indicators) {
|
||||
return;
|
||||
}
|
||||
|
@ -17,10 +17,13 @@
|
||||
#include "hw/s390x/adapter.h"
|
||||
#include "hw/virtio/virtio.h"
|
||||
|
||||
#define ADAPTER_ROUTES_MAX_GSI 64
|
||||
#define VIRTIO_CCW_QUEUE_MAX ADAPTER_ROUTES_MAX_GSI
|
||||
|
||||
typedef struct AdapterRoutes {
|
||||
AdapterInfo adapter;
|
||||
int num_routes;
|
||||
int gsi[VIRTIO_PCI_QUEUE_MAX];
|
||||
int gsi[ADAPTER_ROUTES_MAX_GSI];
|
||||
} AdapterRoutes;
|
||||
|
||||
#define TYPE_S390_FLIC_COMMON "s390-flic"
|
||||
|
Loading…
Reference in New Issue
Block a user