Index: uspace/lib/virtio/virtio-pci.h
===================================================================
--- uspace/lib/virtio/virtio-pci.h	(revision 2d4faf72095d8a2e6177801b3ee4b7029e1e1734)
+++ uspace/lib/virtio/virtio-pci.h	(revision eda41a9e0e7610502846190f37d909f994d6a1e5)
@@ -149,4 +149,7 @@
 	 */
 	void **buffers;
+
+	/** Address of the queue's notification register */
+	ioport16_t *notify;
 } virtq_t;
 
@@ -163,5 +166,5 @@
 
 	/** Notification base address */
-	ioport16_t *notify_base;
+	void *notify_base;
 	/** Notification offset multiplier */
 	uint32_t notify_off_multiplier;
Index: uspace/lib/virtio/virtio.c
===================================================================
--- uspace/lib/virtio/virtio.c	(revision 2d4faf72095d8a2e6177801b3ee4b7029e1e1734)
+++ uspace/lib/virtio/virtio.c	(revision eda41a9e0e7610502846190f37d909f994d6a1e5)
@@ -119,4 +119,10 @@
 	    num, q->virt, (void *) q->phys, q->size);
 
+	/* Determine virtq's notification address */
+	q->notify = vdev->notify_base +
+	    pio_read_16(&cfg->queue_notif_off) * vdev->notify_off_multiplier;
+
+	ddf_msg(LVL_NOTE, "notification register: %p", q->notify);
+
 	return rc;
 }
@@ -171,5 +177,5 @@
 	pio_write_8(&cfg->device_status, status);
 
-	/* 6. Test if the device supports our feature subset */ 
+	/* 6. Test if the device supports our feature subset */
 	status = pio_read_8(&cfg->device_status);
 	if (!(status & VIRTIO_DEV_STATUS_FEATURES_OK))
