Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit db405988 authored by Rusty Russell's avatar Rusty Russell
Browse files

virtio: use KVM_S390_VIRTIO_RING_ALIGN instead of relying on pagesize



This doesn't really matter, since s390 pagesize is 4k anyway.

Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
Acked-by: default avatarChristian Borntraeger <borntraeger@de.ibm.com>
parent 2966af73
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -50,6 +50,10 @@ struct kvm_vqconfig {
#define KVM_S390_VIRTIO_RESET		1
#define KVM_S390_VIRTIO_SET_STATUS	2

/* The alignment to use between consumer and producer parts of vring.
 * This is pagesize for historical reasons. */
#define KVM_S390_VIRTIO_RING_ALIGN	4096

#ifdef __KERNEL__
/* early virtio console setup */
#ifdef CONFIG_S390_GUEST
+6 −3
Original line number Diff line number Diff line
@@ -188,7 +188,8 @@ static struct virtqueue *kvm_find_vq(struct virtio_device *vdev,
	config = kvm_vq_config(kdev->desc)+index;

	err = vmem_add_mapping(config->address,
			       vring_size(config->num, PAGE_SIZE));
			       vring_size(config->num,
					  KVM_S390_VIRTIO_RING_ALIGN));
	if (err)
		goto out;

@@ -209,7 +210,8 @@ static struct virtqueue *kvm_find_vq(struct virtio_device *vdev,
	return vq;
unmap:
	vmem_remove_mapping(config->address,
			    vring_size(config->num, PAGE_SIZE));
			    vring_size(config->num,
				       KVM_S390_VIRTIO_RING_ALIGN));
out:
	return ERR_PTR(err);
}
@@ -220,7 +222,8 @@ static void kvm_del_vq(struct virtqueue *vq)

	vring_del_virtqueue(vq);
	vmem_remove_mapping(config->address,
			    vring_size(config->num, PAGE_SIZE));
			    vring_size(config->num,
				       KVM_S390_VIRTIO_RING_ALIGN));
}

/*