summaryrefslogtreecommitdiff
path: root/kernel/virtio_disk.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/virtio_disk.c')
-rw-r--r--kernel/virtio_disk.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/virtio_disk.c b/kernel/virtio_disk.c
index 6620037..3406478 100644
--- a/kernel/virtio_disk.c
+++ b/kernel/virtio_disk.c
@@ -199,6 +199,8 @@ virtio_disk_rw(struct buf *b)
buf0.reserved = 0;
buf0.sector = sector;
+ // buf0 is on a kernel stack, which is not direct mapped,
+ // thus the call to kernelpa().
desc[idx[0]].addr = (uint64) kernelpa((uint64) &buf0);
desc[idx[0]].len = sizeof(buf0);
desc[idx[0]].flags = VRING_DESC_F_NEXT;