From: Long Li <lon...@microsoft.com> The interrupt and monitor pages mapped from Hyper-V via kernel are always 4k in sizes. Use Hyper-V page size to map them.
Fixes: 831dba47bd ("bus/vmbus: add Hyper-V virtual bus support") Cc: sta...@dpdk.org Signed-off-by: Long Li <lon...@microsoft.com> --- drivers/bus/vmbus/linux/vmbus_uio.c | 2 +- drivers/bus/vmbus/vmbus_common_uio.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/bus/vmbus/linux/vmbus_uio.c b/drivers/bus/vmbus/linux/vmbus_uio.c index 8edec869ac..fbafc5027d 100644 --- a/drivers/bus/vmbus/linux/vmbus_uio.c +++ b/drivers/bus/vmbus/linux/vmbus_uio.c @@ -268,7 +268,7 @@ static int vmbus_uio_map_subchan(const struct rte_vmbus_device *dev, } file_size = sb.st_size; - if (file_size == 0 || (file_size & (rte_mem_page_size() - 1))) { + if (file_size == 0 || (file_size & (HYPERV_PAGE_SIZE - 1))) { VMBUS_LOG(ERR, "incorrect size %s: %zu", ring_path, file_size); diff --git a/drivers/bus/vmbus/vmbus_common_uio.c b/drivers/bus/vmbus/vmbus_common_uio.c index d55aee6537..c6e7e07302 100644 --- a/drivers/bus/vmbus/vmbus_common_uio.c +++ b/drivers/bus/vmbus/vmbus_common_uio.c @@ -204,7 +204,7 @@ vmbus_uio_map_resource(struct rte_vmbus_device *dev) } dev->int_page = (uint32_t *)((char *)uio_res->maps[HV_INT_PAGE_MAP].addr - + (rte_mem_page_size() >> 1)); + + (HYPERV_PAGE_SIZE >> 1)); dev->monitor_page = uio_res->maps[HV_MON_PAGE_MAP].addr; return 0; } -- 2.34.1