/* OK, tell virtio_ring.c to set up a virtqueue now we know its size
         * and we've got a pointer to its pages. */
-       vq = vring_new_virtqueue(lvq->config.num, vdev, lvq->pages,
-                                lg_notify, callback);
+       vq = vring_new_virtqueue(lvq->config.num, LGUEST_VRING_ALIGN,
+                                vdev, lvq->pages, lg_notify, callback);
        if (!vq) {
                err = -ENOMEM;
                goto unmap;
 
        if (err)
                goto out;
 
-       vq = vring_new_virtqueue(config->num, vdev, (void *) config->address,
+       vq = vring_new_virtqueue(config->num, KVM_S390_VIRTIO_RING_ALIGN,
+                                vdev, (void *) config->address,
                                 kvm_notify, callback);
        if (!vq) {
                err = -ENOMEM;
 
                  vp_dev->ioaddr + VIRTIO_PCI_QUEUE_PFN);
 
        /* create the vring */
-       vq = vring_new_virtqueue(info->num, vdev, info->queue,
-                                vp_notify, callback);
+       vq = vring_new_virtqueue(info->num, VIRTIO_PCI_VRING_ALIGN,
+                                vdev, info->queue, vp_notify, callback);
        if (!vq) {
                err = -ENOMEM;
                goto out_activate_queue;
 
 };
 
 struct virtqueue *vring_new_virtqueue(unsigned int num,
+                                     unsigned int vring_align,
                                      struct virtio_device *vdev,
                                      void *pages,
                                      void (*notify)(struct virtqueue *),
        if (!vq)
                return NULL;
 
-       vring_init(&vq->vring, num, pages, PAGE_SIZE);
+       vring_init(&vq->vring, num, pages, vring_align);
        vq->vq.callback = callback;
        vq->vq.vdev = vdev;
        vq->vq.vq_ops = &vring_vq_ops;
 
 struct virtqueue;
 
 struct virtqueue *vring_new_virtqueue(unsigned int num,
+                                     unsigned int vring_align,
                                      struct virtio_device *vdev,
                                      void *pages,
                                      void (*notify)(struct virtqueue *vq),