From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0CDC346625 for ; Fri, 25 Apr 2025 04:08:15 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D68444028C; Fri, 25 Apr 2025 04:08:14 +0200 (CEST) Received: from out28-98.mail.aliyun.com (out28-98.mail.aliyun.com [115.124.28.98]) by mails.dpdk.org (Postfix) with ESMTP id 1C2F4400D7 for ; Fri, 25 Apr 2025 04:08:12 +0200 (CEST) Received: from localhost.localdomain(mailfrom:kyo.liu@nebula-matrix.com fp:SMTPD_---.cW5c8Iq_1745546890 cluster:ay29) by smtp.aliyun-inc.com; Fri, 25 Apr 2025 10:08:10 +0800 From: Kyo Liu To: kyo.liu@nebula-matrix.com, dimon.zhao@nebula-matrix.com Cc: Long Li , stable@dpdk.org Subject: [PATCH v1 07/10] bus/vmbus: use Hyper-V page size for mapping to UIO pages Date: Fri, 25 Apr 2025 02:07:55 +0000 Message-ID: <20250425020758.3794-7-kyo.liu@nebula-matrix.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250425020758.3794-1-kyo.liu@nebula-matrix.com> References: <20250425020758.3794-1-kyo.liu@nebula-matrix.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org From: Long Li 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: stable@dpdk.org Signed-off-by: Long Li --- 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.43.0