qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v2 5/6] block/nvme: Implement .bdrv_dma_map and .bdr


From: Fam Zheng
Subject: [Qemu-devel] [PATCH v2 5/6] block/nvme: Implement .bdrv_dma_map and .bdrv_dma_unmap
Date: Thu, 23 Feb 2017 17:18:44 +0800

Forward these two calls to the IOVA manager.

Signed-off-by: Fam Zheng <address@hidden>
---
 block/nvme.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/block/nvme.c b/block/nvme.c
index f38b5e1..cfb93ce 100644
--- a/block/nvme.c
+++ b/block/nvme.c
@@ -1021,6 +1021,20 @@ static void nvme_aio_unplug(BlockDriverState *bs)
     }
 }
 
+static void nvme_dma_map(BlockDriverState *bs, void *host, size_t size)
+{
+    BDRVNVMeState *s = bs->opaque;
+
+    nvme_vfio_dma_map(s->vfio, host, size, false, NULL);
+}
+
+static void nvme_dma_unmap(BlockDriverState *bs, void *host)
+{
+    BDRVNVMeState *s = bs->opaque;
+
+    nvme_vfio_dma_unmap(s->vfio, host);
+}
+
 static BlockDriver bdrv_nvme = {
     .format_name              = "nvme",
     .protocol_name            = "nvme",
@@ -1046,6 +1060,9 @@ static BlockDriver bdrv_nvme = {
 
     .bdrv_io_plug             = nvme_aio_plug,
     .bdrv_io_unplug           = nvme_aio_unplug,
+
+    .bdrv_dma_map             = nvme_dma_map,
+    .bdrv_dma_unmap           = nvme_dma_unmap,
 };
 
 static void bdrv_nvme_init(void)
-- 
2.9.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]