From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BFF88CA0EE4 for ; Mon, 18 Aug 2025 05:42:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=wLTy8qIREH9mN3a8sIp0JU2ru7PxbV833PLSdki+/Nc=; b=FeXvJdzaM0/MBf ZIOamKI8GCxXh8pXoujNoQO4ZMsyjdECNUZqYRhLl/m2fTT7RToq0HgudgypWuHZU7zZzhPu7ShCP 6GCvuyyd+PXHV+YLZ65vpJcjcEFLpQ6Jb2ws810dvbUoNaWy17vf/isxSwM+U3JcBT4cjdOIEAaez Qa9v3HyJLVYzP9uo144lm4GNKRPUhJL8AyD/UOc8D7fmxpp2Ore+Qy0B5Q3g5rPflOdHAk+vPtRL0 z5rrvlR0uYWVOSUOqKGri97y8PVY+HI2e/n6T8T2ReTHfku5OgDM8sne/CNZ5MKqlG+g/WIw493Gq Uf8h3rn6czjFtPRAYdTw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1unsdi-00000006ZQd-122p; Mon, 18 Aug 2025 05:42:38 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1unsdh-00000006ZQR-2Mit; Mon, 18 Aug 2025 05:42:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:MIME-Version :Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:In-Reply-To:References; bh=W4lHP3UjuHeCBUcDEIF9ZeVamIkRm6NrjeDmREzHBUM=; b=koOuzd7gtEiuvbX6QWUdEEfxep wAoSpz+VU+Pvg8z5YcgXjpCuSUBt9vOfCZYlk2EHiOJdkxBoA0L97jRRXlMA08bhZvQREefopKM45 7fUXMPpddLtAY3wEzin8HeCmpDUj80aphi2Cq7MjsUt7sNP+ouV2apWc+n6iQPf+1Zr/njiwynjsA 9XaYUFDot8JKd7WB3rjbi0qN8uYGTArj+/9GuOkTUvtEvRFOmEgpo6PNgVMZmMXSuv6PWx/ptlUt0 9gJ+ZmGYWq7GiufiH/bvt9BgskruRB3jP+/R+3wcjclP+NpdaEVNvDxLSq+y0KUgNpXOEwzAQCi9W UE/CQv4A==; Received: from out30-131.freemail.mail.aliyun.com ([115.124.30.131]) by desiato.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1unsdd-0000000HGDo-03SR; Mon, 18 Aug 2025 05:42:35 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1755495738; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=W4lHP3UjuHeCBUcDEIF9ZeVamIkRm6NrjeDmREzHBUM=; b=Bw06UKccpjeqr3QGXKendqsuoZ4upfWC07EDlSUZNyTv+ry0pLXfAM2oL4nyomAVBWM74WLkZRF0F0c5dctIJ454Neh1G659OADELFbLykfqQXtkwgyK9Dq3g76FZ1LI+amflRyfHSNziddWLTU/Qqp8JmdV1lxO4C99atObuJw= Received: from localhost.localdomain(mailfrom:fangyu.yu@linux.alibaba.com fp:SMTPD_---0Wlvjb0u_1755495732 cluster:ay36) by smtp.aliyun-inc.com; Mon, 18 Aug 2025 13:42:14 +0800 From: fangyu.yu@linux.alibaba.com To: anup@brainfault.org, atish.patra@linux.dev, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr Cc: guoren@linux.alibaba.com, guoren@kernel.org, kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Fangyu Yu Subject: [PATCH V2] RISC-V: KVM: Write hgatp register with valid mode bits Date: Mon, 18 Aug 2025 13:42:07 +0800 Message-Id: <20250818054207.21532-1-fangyu.yu@linux.alibaba.com> X-Mailer: git-send-email 2.39.3 (Apple Git-146) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250818_064233_579295_927DC937 X-CRM114-Status: UNSURE ( 7.75 ) X-CRM114-Notice: Please train this message. X-BeenThere: kvm-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "kvm-riscv" Errors-To: kvm-riscv-bounces+kvm-riscv=archiver.kernel.org@lists.infradead.org From: Fangyu Yu According to the RISC-V Privileged Architecture Spec, when MODE=Bare is selected,software must write zero to the remaining fields of hgatp. We have detected the valid mode supported by the HW before, So using a valid mode to detect how many vmid bits are supported. Signed-off-by: Fangyu Yu --- Changes in v2: - Fixed build error since kvm_riscv_gstage_mode() has been modified. --- arch/riscv/kvm/vmid.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/riscv/kvm/vmid.c b/arch/riscv/kvm/vmid.c index 3b426c800480..5f33625f4070 100644 --- a/arch/riscv/kvm/vmid.c +++ b/arch/riscv/kvm/vmid.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -28,7 +29,7 @@ void __init kvm_riscv_gstage_vmid_detect(void) /* Figure-out number of VMID bits in HW */ old = csr_read(CSR_HGATP); - csr_write(CSR_HGATP, old | HGATP_VMID); + csr_write(CSR_HGATP, (kvm_riscv_gstage_mode << HGATP_MODE_SHIFT) | HGATP_VMID); vmid_bits = csr_read(CSR_HGATP); vmid_bits = (vmid_bits & HGATP_VMID) >> HGATP_VMID_SHIFT; vmid_bits = fls_long(vmid_bits); -- 2.49.0 -- kvm-riscv mailing list kvm-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kvm-riscv From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 35D0BCA0EFA for ; Thu, 21 Aug 2025 04:49:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=W+T8nrD2FFHYETsy4Cn4QSDiiRtpJZVm8Fd8VaORckU=; b=ZzJev93zrbPAWO QdZeGH7r1fNbyO284qW6mu79VOKCkEabkX72PpPYAQeyxROeBwrItuUSl1TOIbmrfoRoVWXQ+TKGb focvBMpPf8YCbto4ChH6SnitXUuC6/NOKOPIp6Bb4iQrhT9lHTYQfInfCqMO/A8i0DWNdYdP8LYEr wGX70/6o5kI/yX04sCmy8I0rB98bKebXItQOBtf4OmVxisiAhIyUJU29kss2fjw9Q3NKfFaQiOjKM vHyTEAkAjdnLjy35RhIF0miD0/xJDe/kef5das5QNFDT0DM3b3rHWcWHbklasHFce+ozpcVHsDS0R 94MXzpc+xERNXdhFk+TQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uoxET-0000000FpFO-41yp; Thu, 21 Aug 2025 04:49:01 +0000 Received: from tor.source.kernel.org ([172.105.4.254]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uovoN-0000000Fby8-1LZ5; Thu, 21 Aug 2025 03:17:59 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id A84C06144A; Thu, 21 Aug 2025 03:17:58 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B005CC113D0; Thu, 21 Aug 2025 03:17:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1755746278; bh=pIZZGYlHJcwUGIEu2mrA8wTduJ6lRtlRg1MiSy3SH4k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=jOooZLj+YY+aMj55dFok5m9llv1ugcrpy1AnF3OnHvsDm2gTVE352eR81/Z+EGf9q Cf2KY06W8UScjXMHJjJnNHU9TVGBFVI6AGPxfpeV6aeY+97FBlKcP+gxupn+L7PuQa r7gmWcgUNxb9JEtxRKEhnQwI/IglV/Nus7Q0208bSS+ArdxHHFxwMxoOG1VKjHstlI 0y28zXaPFNSQYyRf8HoncVQj+stLzg3iryXzJ4hRDZdJxXubJs9dPgUlJMJR7yhw60 Oe4SOqsA0CauzfF+3rp2Aae75vydTlh2G8BanL6PzBVH87nf9qE+jOalab4bSJRYBY Vif1tHQMLP+MQ== From: guoren@kernel.org To: guoren@kernel.org, troy.mitchell@linux.dev, anup@brainfault.org, atish.patra@linux.dev, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr Cc: fangyu.yu@linux.alibaba.com, guoren@linux.alibaba.com, kvm-riscv@lists.infradead.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org Subject: [PATCH V2] RISC-V: KVM: Write hgatp register with valid mode bits Date: Wed, 20 Aug 2025 23:17:19 -0400 Message-ID: <20250818054207.21532-1-fangyu.yu@linux.alibaba.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20250821031719.2366017-1-guoren@kernel.org> References: <20250821031719.2366017-1-guoren@kernel.org> Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 99F14CA0EE4 for ; Mon, 18 Aug 2025 05:42:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=V/Xvw3Ej+7ZPNCPsGP++tgMpKMekL0hhuM8UIwiPd5Y=; b=2ZxzVYUVFi37Yt jF7MIm78837f27APbAPlvfpkdaMJWzjexabx9AD8ZAonS3zJuWlOE1V1KdFXv3NzCW/4OxKLK28My iBQo2YXcFrVn6B/W32Cx4kULqj/3bJln7lIkBy6xx8a9cBT1CHrkRRDltDg4mkITpUX3M+GvdY4OT NXjbntvEwuq7DQ2RABwvL6nSsyhqxNI3pOsLK4Cm8a/bLWkv+BJzhoLHexWlkmaW+GG66u4AAQnYu E5QoEymQ1zI/yNPiGl3c2X1zlMfvfaUG+FqQDR8ZjghL9oKWgSYZoFIWHcuxd68JDhj+DKZsVdAtf dpa7pkCixetHi2UQ91xw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1unsdj-00000006ZQx-2OO3; Mon, 18 Aug 2025 05:42:39 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1unsdh-00000006ZQR-2Mit; Mon, 18 Aug 2025 05:42:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:MIME-Version :Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:In-Reply-To:References; bh=W4lHP3UjuHeCBUcDEIF9ZeVamIkRm6NrjeDmREzHBUM=; b=koOuzd7gtEiuvbX6QWUdEEfxep wAoSpz+VU+Pvg8z5YcgXjpCuSUBt9vOfCZYlk2EHiOJdkxBoA0L97jRRXlMA08bhZvQREefopKM45 7fUXMPpddLtAY3wEzin8HeCmpDUj80aphi2Cq7MjsUt7sNP+ouV2apWc+n6iQPf+1Zr/njiwynjsA 9XaYUFDot8JKd7WB3rjbi0qN8uYGTArj+/9GuOkTUvtEvRFOmEgpo6PNgVMZmMXSuv6PWx/ptlUt0 9gJ+ZmGYWq7GiufiH/bvt9BgskruRB3jP+/R+3wcjclP+NpdaEVNvDxLSq+y0KUgNpXOEwzAQCi9W UE/CQv4A==; Received: from out30-131.freemail.mail.aliyun.com ([115.124.30.131]) by desiato.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1unsdd-0000000HGDo-03SR; Mon, 18 Aug 2025 05:42:35 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1755495738; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=W4lHP3UjuHeCBUcDEIF9ZeVamIkRm6NrjeDmREzHBUM=; b=Bw06UKccpjeqr3QGXKendqsuoZ4upfWC07EDlSUZNyTv+ry0pLXfAM2oL4nyomAVBWM74WLkZRF0F0c5dctIJ454Neh1G659OADELFbLykfqQXtkwgyK9Dq3g76FZ1LI+amflRyfHSNziddWLTU/Qqp8JmdV1lxO4C99atObuJw= Received: from localhost.localdomain(mailfrom:fangyu.yu@linux.alibaba.com fp:SMTPD_---0Wlvjb0u_1755495732 cluster:ay36) by smtp.aliyun-inc.com; Mon, 18 Aug 2025 13:42:14 +0800 X-Mailer: git-send-email 2.39.3 (Apple Git-146) MIME-Version: 1.0 X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list X-BeenThere: kvm-riscv@lists.infradead.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "kvm-riscv" Errors-To: kvm-riscv-bounces+kvm-riscv=archiver.kernel.org@lists.infradead.org Message-ID: <20250821031719.SUVTfPVIGNtiV8DEC-toUnubNjv9V2fbK6e0Gb-00vg@z> From: fangyu.yu@linux.alibaba.com From: Fangyu Yu According to the RISC-V Privileged Architecture Spec, when MODE=Bare is selected,software must write zero to the remaining fields of hgatp. We have detected the valid mode supported by the HW before, So using a valid mode to detect how many vmid bits are supported. Signed-off-by: Fangyu Yu --- Changes in v2: - Fixed build error since kvm_riscv_gstage_mode() has been modified. --- arch/riscv/kvm/vmid.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/riscv/kvm/vmid.c b/arch/riscv/kvm/vmid.c index 3b426c800480..5f33625f4070 100644 --- a/arch/riscv/kvm/vmid.c +++ b/arch/riscv/kvm/vmid.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -28,7 +29,7 @@ void __init kvm_riscv_gstage_vmid_detect(void) /* Figure-out number of VMID bits in HW */ old = csr_read(CSR_HGATP); - csr_write(CSR_HGATP, old | HGATP_VMID); + csr_write(CSR_HGATP, (kvm_riscv_gstage_mode << HGATP_MODE_SHIFT) | HGATP_VMID); vmid_bits = csr_read(CSR_HGATP); vmid_bits = (vmid_bits & HGATP_VMID) >> HGATP_VMID_SHIFT; vmid_bits = fls_long(vmid_bits); -- 2.49.0 _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv -- kvm-riscv mailing list kvm-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kvm-riscv From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out30-118.freemail.mail.aliyun.com (out30-118.freemail.mail.aliyun.com [115.124.30.118]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EB1FF26FA5E; Mon, 18 Aug 2025 05:42:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=115.124.30.118 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755495746; cv=none; b=fhcJUVPbsPg738GAuF2bgq4m6iGnVVYONJFOCrIXYtRXLqSEPp0L3LxYGrvv/5P0oVQ+X/T+d8qIjWteiSvDlj2jaM4yHUlmKKGoENFoHwmLWcP9weNPnB/0t9nDG43yA3twiGSDKSIb+H0v1ZJ/Nn+2haQ+HIGAzhfv10PprZY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755495746; c=relaxed/simple; bh=XExVPFjM+tFXne7pcUVaqjrlJWN5Mo3/9a3ND1Rmit8=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=eGge0zMPA5lHMAcA2+RIG3Rua6NImghvT5mjQ+vVYSXFwSpPsLUofmoiXufQs9ikBAuLfG5z8ApsfF1wKtmdCOx2sxirIlAeuR0K6kiQ1Mo8GjKZT1vGPbAmNovECwei1kkoFt17/2zjlJh/L5hnsJNU6lbpXNMu70tHghoJpIc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.alibaba.com; spf=pass smtp.mailfrom=linux.alibaba.com; dkim=pass (1024-bit key) header.d=linux.alibaba.com header.i=@linux.alibaba.com header.b=hPIwl/x4; arc=none smtp.client-ip=115.124.30.118 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.alibaba.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.alibaba.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.alibaba.com header.i=@linux.alibaba.com header.b="hPIwl/x4" DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1755495734; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=W4lHP3UjuHeCBUcDEIF9ZeVamIkRm6NrjeDmREzHBUM=; b=hPIwl/x466LMKdD2zsBK0SqUCtPuPve8LARSTo62NI9PQqaVxjM8k5nih0mUEbv/1RcV2gs18W9L+S0P8GQi7JFfDwCgyaraHjPkBm93TefAKdtiD4j1WV/whZ3GDR8O9tuK0/GL8rHfKMYSG5k17coXXv52LIoCHCfXk/67ArQ= Received: from localhost.localdomain(mailfrom:fangyu.yu@linux.alibaba.com fp:SMTPD_---0Wlvjb0u_1755495732 cluster:ay36) by smtp.aliyun-inc.com; Mon, 18 Aug 2025 13:42:14 +0800 From: fangyu.yu@linux.alibaba.com To: anup@brainfault.org, atish.patra@linux.dev, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr Cc: guoren@linux.alibaba.com, guoren@kernel.org, kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Fangyu Yu Subject: [PATCH V2] RISC-V: KVM: Write hgatp register with valid mode bits Date: Mon, 18 Aug 2025 13:42:07 +0800 Message-Id: <20250818054207.21532-1-fangyu.yu@linux.alibaba.com> X-Mailer: git-send-email 2.39.3 (Apple Git-146) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Fangyu Yu According to the RISC-V Privileged Architecture Spec, when MODE=Bare is selected,software must write zero to the remaining fields of hgatp. We have detected the valid mode supported by the HW before, So using a valid mode to detect how many vmid bits are supported. Signed-off-by: Fangyu Yu --- Changes in v2: - Fixed build error since kvm_riscv_gstage_mode() has been modified. --- arch/riscv/kvm/vmid.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/riscv/kvm/vmid.c b/arch/riscv/kvm/vmid.c index 3b426c800480..5f33625f4070 100644 --- a/arch/riscv/kvm/vmid.c +++ b/arch/riscv/kvm/vmid.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -28,7 +29,7 @@ void __init kvm_riscv_gstage_vmid_detect(void) /* Figure-out number of VMID bits in HW */ old = csr_read(CSR_HGATP); - csr_write(CSR_HGATP, old | HGATP_VMID); + csr_write(CSR_HGATP, (kvm_riscv_gstage_mode << HGATP_MODE_SHIFT) | HGATP_VMID); vmid_bits = csr_read(CSR_HGATP); vmid_bits = (vmid_bits & HGATP_VMID) >> HGATP_VMID_SHIFT; vmid_bits = fls_long(vmid_bits); -- 2.49.0 From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D666E2E0927; Thu, 21 Aug 2025 03:17:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755746279; cv=none; b=ECKf6mneXKgXFwQI9Mme941Fp1gRskmd86NNO7r74h9OXuEeIWKal5QVA3b0j3ZVBXbjoPxspk8MjDlnlLbUA4skB5CaCTezc1J5P4a/njoWsnSKXfK5A6tAJ+cs8tHw4MX18At70Wg9iBN6go2bDsaYQztMsOhKKDVjvHK3mzQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755746279; c=relaxed/simple; bh=pIZZGYlHJcwUGIEu2mrA8wTduJ6lRtlRg1MiSy3SH4k=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=sfYWa6EQnfoqGbzQ7UjiwiIHEr3/trWB8x3gYonbFFgQpK4iJZQaDgLhE/qDiZCdQY1lYNV+WgEVKhbMUCwgQj+QzOpTEYVXSFaNBOqrtpvAnsYER1CDlp575IHGC+5VEfc2zHV0PizY6PnRtwKvkRm5Sa8QFTyKQXLDnXvwnms= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jOooZLj+; dkim=fail (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b=2ZxzVYUV reason="signature verification failed"; dkim=fail (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b=koOuzd7g reason="signature verification failed"; dkim=neutral (0-bit key) header.d=linux.alibaba.com header.i=@linux.alibaba.com header.b=Bw06UKcc; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="jOooZLj+"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="2ZxzVYUV"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="koOuzd7g"; dkim=neutral (0-bit key) header.d=linux.alibaba.com header.i=@linux.alibaba.com header.b="Bw06UKcc" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B005CC113D0; Thu, 21 Aug 2025 03:17:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1755746278; bh=pIZZGYlHJcwUGIEu2mrA8wTduJ6lRtlRg1MiSy3SH4k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=jOooZLj+YY+aMj55dFok5m9llv1ugcrpy1AnF3OnHvsDm2gTVE352eR81/Z+EGf9q Cf2KY06W8UScjXMHJjJnNHU9TVGBFVI6AGPxfpeV6aeY+97FBlKcP+gxupn+L7PuQa r7gmWcgUNxb9JEtxRKEhnQwI/IglV/Nus7Q0208bSS+ArdxHHFxwMxoOG1VKjHstlI 0y28zXaPFNSQYyRf8HoncVQj+stLzg3iryXzJ4hRDZdJxXubJs9dPgUlJMJR7yhw60 Oe4SOqsA0CauzfF+3rp2Aae75vydTlh2G8BanL6PzBVH87nf9qE+jOalab4bSJRYBY Vif1tHQMLP+MQ== From: guoren@kernel.org To: guoren@kernel.org, troy.mitchell@linux.dev, anup@brainfault.org, atish.patra@linux.dev, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr Cc: fangyu.yu@linux.alibaba.com, guoren@linux.alibaba.com, kvm-riscv@lists.infradead.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org Subject: [PATCH V2] RISC-V: KVM: Write hgatp register with valid mode bits Date: Wed, 20 Aug 2025 23:17:19 -0400 Message-ID: <20250818054207.21532-1-fangyu.yu@linux.alibaba.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20250821031719.2366017-1-guoren@kernel.org> References: <20250821031719.2366017-1-guoren@kernel.org> Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 99F14CA0EE4 for ; Mon, 18 Aug 2025 05:42:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=V/Xvw3Ej+7ZPNCPsGP++tgMpKMekL0hhuM8UIwiPd5Y=; b=2ZxzVYUVFi37Yt jF7MIm78837f27APbAPlvfpkdaMJWzjexabx9AD8ZAonS3zJuWlOE1V1KdFXv3NzCW/4OxKLK28My iBQo2YXcFrVn6B/W32Cx4kULqj/3bJln7lIkBy6xx8a9cBT1CHrkRRDltDg4mkITpUX3M+GvdY4OT NXjbntvEwuq7DQ2RABwvL6nSsyhqxNI3pOsLK4Cm8a/bLWkv+BJzhoLHexWlkmaW+GG66u4AAQnYu E5QoEymQ1zI/yNPiGl3c2X1zlMfvfaUG+FqQDR8ZjghL9oKWgSYZoFIWHcuxd68JDhj+DKZsVdAtf dpa7pkCixetHi2UQ91xw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1unsdj-00000006ZQx-2OO3; Mon, 18 Aug 2025 05:42:39 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1unsdh-00000006ZQR-2Mit; Mon, 18 Aug 2025 05:42:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:MIME-Version :Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:In-Reply-To:References; bh=W4lHP3UjuHeCBUcDEIF9ZeVamIkRm6NrjeDmREzHBUM=; b=koOuzd7gtEiuvbX6QWUdEEfxep wAoSpz+VU+Pvg8z5YcgXjpCuSUBt9vOfCZYlk2EHiOJdkxBoA0L97jRRXlMA08bhZvQREefopKM45 7fUXMPpddLtAY3wEzin8HeCmpDUj80aphi2Cq7MjsUt7sNP+ouV2apWc+n6iQPf+1Zr/njiwynjsA 9XaYUFDot8JKd7WB3rjbi0qN8uYGTArj+/9GuOkTUvtEvRFOmEgpo6PNgVMZmMXSuv6PWx/ptlUt0 9gJ+ZmGYWq7GiufiH/bvt9BgskruRB3jP+/R+3wcjclP+NpdaEVNvDxLSq+y0KUgNpXOEwzAQCi9W UE/CQv4A==; Received: from out30-131.freemail.mail.aliyun.com ([115.124.30.131]) by desiato.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1unsdd-0000000HGDo-03SR; Mon, 18 Aug 2025 05:42:35 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1755495738; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=W4lHP3UjuHeCBUcDEIF9ZeVamIkRm6NrjeDmREzHBUM=; b=Bw06UKccpjeqr3QGXKendqsuoZ4upfWC07EDlSUZNyTv+ry0pLXfAM2oL4nyomAVBWM74WLkZRF0F0c5dctIJ454Neh1G659OADELFbLykfqQXtkwgyK9Dq3g76FZ1LI+amflRyfHSNziddWLTU/Qqp8JmdV1lxO4C99atObuJw= Received: from localhost.localdomain(mailfrom:fangyu.yu@linux.alibaba.com fp:SMTPD_---0Wlvjb0u_1755495732 cluster:ay36) by smtp.aliyun-inc.com; Mon, 18 Aug 2025 13:42:14 +0800 X-Mailer: git-send-email 2.39.3 (Apple Git-146) Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Archive: List-Post: List-Help: Content-Type: text/plain; charset="us-ascii" Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org Content-Transfer-Encoding: 8bit Message-ID: <20250821031719.T3mmP-sAPk5MCmdngGZjg9UxcIFtymGaQK6z40vjGHg@z> From: fangyu.yu@linux.alibaba.com From: Fangyu Yu According to the RISC-V Privileged Architecture Spec, when MODE=Bare is selected,software must write zero to the remaining fields of hgatp. We have detected the valid mode supported by the HW before, So using a valid mode to detect how many vmid bits are supported. Signed-off-by: Fangyu Yu --- Changes in v2: - Fixed build error since kvm_riscv_gstage_mode() has been modified. --- arch/riscv/kvm/vmid.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/riscv/kvm/vmid.c b/arch/riscv/kvm/vmid.c index 3b426c800480..5f33625f4070 100644 --- a/arch/riscv/kvm/vmid.c +++ b/arch/riscv/kvm/vmid.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -28,7 +29,7 @@ void __init kvm_riscv_gstage_vmid_detect(void) /* Figure-out number of VMID bits in HW */ old = csr_read(CSR_HGATP); - csr_write(CSR_HGATP, old | HGATP_VMID); + csr_write(CSR_HGATP, (kvm_riscv_gstage_mode << HGATP_MODE_SHIFT) | HGATP_VMID); vmid_bits = csr_read(CSR_HGATP); vmid_bits = (vmid_bits & HGATP_VMID) >> HGATP_VMID_SHIFT; vmid_bits = fls_long(vmid_bits); -- 2.49.0 _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 99F14CA0EE4 for ; Mon, 18 Aug 2025 05:42:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=V/Xvw3Ej+7ZPNCPsGP++tgMpKMekL0hhuM8UIwiPd5Y=; b=2ZxzVYUVFi37Yt jF7MIm78837f27APbAPlvfpkdaMJWzjexabx9AD8ZAonS3zJuWlOE1V1KdFXv3NzCW/4OxKLK28My iBQo2YXcFrVn6B/W32Cx4kULqj/3bJln7lIkBy6xx8a9cBT1CHrkRRDltDg4mkITpUX3M+GvdY4OT NXjbntvEwuq7DQ2RABwvL6nSsyhqxNI3pOsLK4Cm8a/bLWkv+BJzhoLHexWlkmaW+GG66u4AAQnYu E5QoEymQ1zI/yNPiGl3c2X1zlMfvfaUG+FqQDR8ZjghL9oKWgSYZoFIWHcuxd68JDhj+DKZsVdAtf dpa7pkCixetHi2UQ91xw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1unsdj-00000006ZQx-2OO3; Mon, 18 Aug 2025 05:42:39 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1unsdh-00000006ZQR-2Mit; Mon, 18 Aug 2025 05:42:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:MIME-Version :Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:In-Reply-To:References; bh=W4lHP3UjuHeCBUcDEIF9ZeVamIkRm6NrjeDmREzHBUM=; b=koOuzd7gtEiuvbX6QWUdEEfxep wAoSpz+VU+Pvg8z5YcgXjpCuSUBt9vOfCZYlk2EHiOJdkxBoA0L97jRRXlMA08bhZvQREefopKM45 7fUXMPpddLtAY3wEzin8HeCmpDUj80aphi2Cq7MjsUt7sNP+ouV2apWc+n6iQPf+1Zr/njiwynjsA 9XaYUFDot8JKd7WB3rjbi0qN8uYGTArj+/9GuOkTUvtEvRFOmEgpo6PNgVMZmMXSuv6PWx/ptlUt0 9gJ+ZmGYWq7GiufiH/bvt9BgskruRB3jP+/R+3wcjclP+NpdaEVNvDxLSq+y0KUgNpXOEwzAQCi9W UE/CQv4A==; Received: from out30-131.freemail.mail.aliyun.com ([115.124.30.131]) by desiato.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1unsdd-0000000HGDo-03SR; Mon, 18 Aug 2025 05:42:35 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1755495738; h=From:To:Subject:Date:Message-Id:MIME-Version; bh=W4lHP3UjuHeCBUcDEIF9ZeVamIkRm6NrjeDmREzHBUM=; b=Bw06UKccpjeqr3QGXKendqsuoZ4upfWC07EDlSUZNyTv+ry0pLXfAM2oL4nyomAVBWM74WLkZRF0F0c5dctIJ454Neh1G659OADELFbLykfqQXtkwgyK9Dq3g76FZ1LI+amflRyfHSNziddWLTU/Qqp8JmdV1lxO4C99atObuJw= Received: from localhost.localdomain(mailfrom:fangyu.yu@linux.alibaba.com fp:SMTPD_---0Wlvjb0u_1755495732 cluster:ay36) by smtp.aliyun-inc.com; Mon, 18 Aug 2025 13:42:14 +0800 From: fangyu.yu@linux.alibaba.com To: anup@brainfault.org, atish.patra@linux.dev, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr Cc: guoren@linux.alibaba.com, guoren@kernel.org, kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Fangyu Yu Subject: [PATCH V2] RISC-V: KVM: Write hgatp register with valid mode bits Date: Mon, 18 Aug 2025 13:42:07 +0800 Message-Id: <20250818054207.21532-1-fangyu.yu@linux.alibaba.com> X-Mailer: git-send-email 2.39.3 (Apple Git-146) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250818_064233_579295_927DC937 X-CRM114-Status: UNSURE ( 7.75 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org From: Fangyu Yu According to the RISC-V Privileged Architecture Spec, when MODE=Bare is selected,software must write zero to the remaining fields of hgatp. We have detected the valid mode supported by the HW before, So using a valid mode to detect how many vmid bits are supported. Signed-off-by: Fangyu Yu --- Changes in v2: - Fixed build error since kvm_riscv_gstage_mode() has been modified. --- arch/riscv/kvm/vmid.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/riscv/kvm/vmid.c b/arch/riscv/kvm/vmid.c index 3b426c800480..5f33625f4070 100644 --- a/arch/riscv/kvm/vmid.c +++ b/arch/riscv/kvm/vmid.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -28,7 +29,7 @@ void __init kvm_riscv_gstage_vmid_detect(void) /* Figure-out number of VMID bits in HW */ old = csr_read(CSR_HGATP); - csr_write(CSR_HGATP, old | HGATP_VMID); + csr_write(CSR_HGATP, (kvm_riscv_gstage_mode << HGATP_MODE_SHIFT) | HGATP_VMID); vmid_bits = csr_read(CSR_HGATP); vmid_bits = (vmid_bits & HGATP_VMID) >> HGATP_VMID_SHIFT; vmid_bits = fls_long(vmid_bits); -- 2.49.0 _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv