Fix virtio access size

We don't support 8-bytes PIO

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
diff --git a/lib/libhvcall/virtio.c b/lib/libhvcall/virtio.c
index 91d60d2..0a3e91b 100644
--- a/lib/libhvcall/virtio.c
+++ b/lib/libhvcall/virtio.c
@@ -49,7 +49,8 @@
 	int size = 0;
 
 	if (dev->type == VIRTIO_TYPE_PCI) {
-		ci_write_16(dev->base+VIRTIOHDR_QUEUE_SELECT, cpu_to_le16(queue));
+		ci_write_16(dev->base+VIRTIOHDR_QUEUE_SELECT,
+			    cpu_to_le16(queue));
 		eieio();
 		size = le16_to_cpu(ci_read_16(dev->base+VIRTIOHDR_QUEUE_SIZE));
 	}
@@ -69,10 +70,11 @@
 	struct vring_desc *desc = 0;
 
 	if (dev->type == VIRTIO_TYPE_PCI) {
-		ci_write_16(dev->base+VIRTIOHDR_QUEUE_SELECT, cpu_to_le16(queue));
+		ci_write_16(dev->base+VIRTIOHDR_QUEUE_SELECT,
+			    cpu_to_le16(queue));
 		eieio();
 		desc = (void*)(4096L *
-			  le32_to_cpu(ci_read_32(dev->base+VIRTIOHDR_QUEUE_ADDRESS)));
+		   le32_to_cpu(ci_read_32(dev->base+VIRTIOHDR_QUEUE_ADDRESS)));
 	}
 
 	return desc;
@@ -166,7 +168,6 @@
 	 default:
 		return ~0ULL;
 	}
-
 	switch (size) {
 	 case 1:
 		val = ci_read_8(confbase+offset);
@@ -178,7 +179,12 @@
 		val = ci_read_32(confbase+offset);
 		break;
 	 case 8:
-		val = ci_read_64(confbase+offset);
+		/* We don't support 8 bytes PIO accesses
+		 * in qemu and this is all PIO
+		 */
+		val = ci_read_32(confbase+offset);
+		val <<= 32;
+		val |= ci_read_32(confbase+offset+4);
 		break;
 	}