Index: uspace/drv/nic/virtio-net/virtio-net.c
===================================================================
--- uspace/drv/nic/virtio-net/virtio-net.c	(revision 85be731b3ee5f4d8ffd8dad6b7647896f3e0251e)
+++ uspace/drv/nic/virtio-net/virtio-net.c	(revision 9af56b6ddc463e4c39168db609125164f3cc6e90)
@@ -123,5 +123,5 @@
 	 * Discover and configure the virtqueues
 	 */
-	uint16_t num_queues = pio_read_16(&cfg->num_queues);
+	uint16_t num_queues = pio_read_le16(&cfg->num_queues);
 	if (num_queues != VIRTIO_NET_NUM_QUEUES) {
 		ddf_msg(LVL_NOTE, "Unsupported number of virtqueues: %u",
Index: uspace/lib/virtio/virtio-pci.c
===================================================================
--- uspace/lib/virtio/virtio-pci.c	(revision 85be731b3ee5f4d8ffd8dad6b7647896f3e0251e)
+++ uspace/lib/virtio/virtio-pci.c	(revision 9af56b6ddc463e4c39168db609125164f3cc6e90)
@@ -281,5 +281,5 @@
 	if (vdev->queues) {
 		for (unsigned i = 0;
-		    i < pio_read_16(&vdev->common_cfg->num_queues); i++)
+		    i < pio_read_le16(&vdev->common_cfg->num_queues); i++)
 			virtio_virtq_teardown(vdev, i);
 		free(vdev->queues);
Index: uspace/lib/virtio/virtio.c
===================================================================
--- uspace/lib/virtio/virtio.c	(revision 85be731b3ee5f4d8ffd8dad6b7647896f3e0251e)
+++ uspace/lib/virtio/virtio.c	(revision 9af56b6ddc463e4c39168db609125164f3cc6e90)
@@ -43,8 +43,8 @@
 {
 	virtq_desc_t *d = &vdev->queues[num].desc[descno];
-	pio_write_64(&d->addr, addr);
-	pio_write_32(&d->len, len);
-	pio_write_16(&d->flags, flags);
-	pio_write_16(&d->next, next);
+	pio_write_le64(&d->addr, addr);
+	pio_write_le32(&d->len, len);
+	pio_write_le16(&d->flags, flags);
+	pio_write_le16(&d->next, next);
 }
 
@@ -54,10 +54,10 @@
 	virtq_t *q = &vdev->queues[num];
 
-	uint16_t idx = pio_read_16(&q->avail->idx);
-	pio_write_16(&q->avail->ring[idx], descno);
+	uint16_t idx = pio_read_le16(&q->avail->idx);
+	pio_write_le16(&q->avail->ring[idx], descno);
 	write_barrier();
-	pio_write_16(&q->avail->idx, (idx + 1) % q->queue_size);
+	pio_write_le16(&q->avail->idx, (idx + 1) % q->queue_size);
 	write_barrier();
-	pio_write_16(q->notify, num);
+	pio_write_le16(q->notify, num);
 }
 
@@ -68,5 +68,5 @@
 
 	/* Program the queue of our interest */
-	pio_write_16(&cfg->queue_select, num);
+	pio_write_le16(&cfg->queue_select, num);
 
 	/* Trim the size of the queue as needed */
@@ -75,5 +75,5 @@
 		return ENOMEM;
 	}
-	pio_write_16(&cfg->queue_size, size);
+	pio_write_le16(&cfg->queue_size, size);
 	ddf_msg(LVL_NOTE, "Virtq %u: %u descriptors", num, (unsigned) size);
 
@@ -126,7 +126,7 @@
 	 * Write the configured addresses to device's common config
 	 */
-	pio_write_64(&cfg->queue_desc, q->phys);
-	pio_write_64(&cfg->queue_avail, q->phys + avail_offset);
-	pio_write_64(&cfg->queue_used, q->phys + used_offset);
+	pio_write_le64(&cfg->queue_desc, q->phys);
+	pio_write_le64(&cfg->queue_avail, q->phys + avail_offset);
+	pio_write_le64(&cfg->queue_used, q->phys + used_offset);
 
 	ddf_msg(LVL_NOTE, "DMA memory for virtq %d: virt=%p, phys=%p, size=%zu",
@@ -135,5 +135,5 @@
 	/* Determine virtq's notification address */
 	q->notify = vdev->notify_base +
-	    pio_read_16(&cfg->queue_notif_off) * vdev->notify_off_multiplier;
+	    pio_read_le16(&cfg->queue_notif_off) * vdev->notify_off_multiplier;
 
 	ddf_msg(LVL_NOTE, "notification register: %p", q->notify);
@@ -170,6 +170,6 @@
 
 	/* 4. Read the offered feature flags */
-	pio_write_32(&cfg->device_feature_select, VIRTIO_FEATURES_0_31);
-	uint32_t device_features = pio_read_32(&cfg->device_feature);
+	pio_write_le32(&cfg->device_feature_select, VIRTIO_FEATURES_0_31);
+	uint32_t device_features = pio_read_le32(&cfg->device_feature);
 
 	ddf_msg(LVL_NOTE, "offered features %x", device_features);
@@ -180,6 +180,6 @@
 
 	/* 4. Write the accepted feature flags */
-	pio_write_32(&cfg->driver_feature_select, VIRTIO_FEATURES_0_31);
-	pio_write_32(&cfg->driver_feature, features);
+	pio_write_le32(&cfg->driver_feature_select, VIRTIO_FEATURES_0_31);
+	pio_write_le32(&cfg->driver_feature, features);
 
 	ddf_msg(LVL_NOTE, "accepted features %x", features);
