Signed-off-by: Yuval Shaia <address@hidden>
---
hw/rdma/rdma_backend.c | 3 +--
hw/rdma/rdma_rm.c | 16 ++++++++--------
hw/rdma/rdma_rm_defs.h | 10 +++-------
3 files changed, 12 insertions(+), 17 deletions(-)
diff --git a/hw/rdma/rdma_backend.c b/hw/rdma/rdma_backend.c
index 647e16399f..52981d652d 100644
--- a/hw/rdma/rdma_backend.c
+++ b/hw/rdma/rdma_backend.c
@@ -271,8 +271,7 @@ static int build_host_sge_array(RdmaDeviceResources
*rdma_dev_res,
return VENDOR_ERR_INVLKEY | ssge[ssge_idx].lkey;
}
- dsge->addr = (uintptr_t)mr->user_mr.host_virt + ssge[ssge_idx].addr -
- mr->user_mr.guest_start;
+ dsge->addr = (uintptr_t)mr->virt + ssge[ssge_idx].addr - mr->start;
dsge->length = ssge[ssge_idx].length;
dsge->lkey = rdma_backend_mr_lkey(&mr->backend_mr);
diff --git a/hw/rdma/rdma_rm.c b/hw/rdma/rdma_rm.c
index 415da15efe..7403d24674 100644
--- a/hw/rdma/rdma_rm.c
+++ b/hw/rdma/rdma_rm.c
@@ -165,15 +165,15 @@ int rdma_rm_alloc_mr(RdmaDeviceResources *dev_res,
uint32_t pd_handle,
length = TARGET_PAGE_SIZE;
addr = g_malloc(length);
} else {
- mr->user_mr.host_virt = host_virt;
- pr_dbg("host_virt=0x%p\n", mr->user_mr.host_virt);
- mr->user_mr.length = guest_length;
+ mr->virt = host_virt;
+ pr_dbg("host_virt=0x%p\n", mr->virt);
+ mr->length = guest_length;
pr_dbg("length=%zu\n", guest_length);
- mr->user_mr.guest_start = guest_start;
- pr_dbg("guest_start=0x%" PRIx64 "\n", mr->user_mr.guest_start);
+ mr->start = guest_start;
+ pr_dbg("guest_start=0x%" PRIx64 "\n", mr->start);
- length = mr->user_mr.length;
- addr = mr->user_mr.host_virt;
+ length = mr->length;
+ addr = mr->virt;
}
ret = rdma_backend_create_mr(&mr->backend_mr, &pd->backend_pd, addr, length,
@@ -214,7 +214,7 @@ void rdma_rm_dealloc_mr(RdmaDeviceResources *dev_res,
uint32_t mr_handle)
if (mr) {
rdma_backend_destroy_mr(&mr->backend_mr);
- munmap(mr->user_mr.host_virt, mr->user_mr.length);
+ munmap(mr->virt, mr->length);
res_tbl_dealloc(&dev_res->mr_tbl, mr_handle);
}
}
diff --git a/hw/rdma/rdma_rm_defs.h b/hw/rdma/rdma_rm_defs.h
index 226011176d..7228151239 100644
--- a/hw/rdma/rdma_rm_defs.h
+++ b/hw/rdma/rdma_rm_defs.h
@@ -55,16 +55,12 @@ typedef struct RdmaRmCQ {
bool notify;
} RdmaRmCQ;
-typedef struct RdmaRmUserMR {
- void *host_virt;
- uint64_t guest_start;
- size_t length;
-} RdmaRmUserMR;
-
/* MR (DMA region) */
typedef struct RdmaRmMR {
RdmaBackendMR backend_mr;
- RdmaRmUserMR user_mr;
+ void *virt;
+ uint64_t start;
+ size_t length;
uint32_t pd_handle;
uint32_t lkey;
uint32_t rkey;