[{"id":3673222,"web_url":"http://patchwork.ozlabs.org/comment/3673222/","msgid":"<CAAhSdy0W7vrxHeMF+taZ0EBawsqis-ygwu=0HDV2WQYVerbZ9A@mail.gmail.com>","list_archive_url":null,"date":"2026-04-03T16:43:57","subject":"Re: [PATCH v8 0/3] Support runtime configuration for per-VM's HGATP\n mode","submitter":{"id":33417,"url":"http://patchwork.ozlabs.org/api/people/33417/","name":"Anup Patel","email":"anup@brainfault.org"},"content":"On Fri, Apr 3, 2026 at 9:00 PM <fangyu.yu@linux.alibaba.com> wrote:\n>\n> From: Fangyu Yu <fangyu.yu@linux.alibaba.com>\n>\n> Currently, RISC-V KVM hardcodes the G-stage page table format (HGATP mode)\n> to the maximum mode detected at boot time (e.g., SV57x4 if supported). but\n> often such a wide GPA is unnecessary, just as a host sometimes doesn't need\n> sv57.\n>\n> This patch reuse KVM_CAP_VM_GPA_BITS to select HGATP.MODE. User-space can\n> now explicitly request a specific HGATP mode (SV39x4, SV48x4, SV57x4 or\n> SV32x4) during VM creation.\n>\n> ---\n> Changes in v8:\n>     - Reuse KVM_CAP_VM_GPA_BITS to advertise and select the effective GPA width\n>       for a VM (Anup's suggestion).\n>     - Handle the kvm == NULL case and task kvm->lock and kvm->slots_lock to serialize\n>       against concurrent vCPU creation and memslot updates (Radim's suggestion).\n>     - Link to v7:\n>       https://lore.kernel.org/linux-riscv/20260402132303.6252-1-fangyu.yu@linux.alibaba.com/\n> ---\n> Changes in v7 (Anup's suggestions):\n>     - Keep the original HGATP mode probing logic.\n>     - Link to v6:\n>       https://lore.kernel.org/linux-riscv/20260330122601.22140-1-fangyu.yu@linux.alibaba.com/\n> ---\n> Changes in v6 (Anup's suggestions):\n>     - Reworked kvm_riscv_gstage_gpa_bits() and kvm_riscv_gstage_gpa_size() to\n>       take \"unsigned long pgd_levels\" instead of \"struct kvm_arch *\".\n>     - Moved kvm_riscv_gstage_mode() helper from kvm_host.h to kvm_gstage.h.\n>     - Renamed kvm->arch.kvm_riscv_gstage_pgd_levels to kvm->arch.pgd_levels.\n>     - Added pgd_levels to struct kvm_gstage to avoid repeated\n>       gstage->kvm->arch pointer chasing.\n>     - Link to v5:\n>       https://lore.kernel.org/linux-riscv/20260204134507.33912-1-fangyu.yu@linux.alibaba.com/\n> ---\n> Changes in v5:\n>     - Use architectural HGATP.MODE encodings as the bit index for the supported-mode\n>       bitmap and for the VM-mode selection UAPI; no new UAPI mode/bit defines are\n>       introduced(per Radim).\n>     - Allow KVM_CAP_RISCV_SET_HGATP_MODE on RV32 as well(per Drew).\n>     - Link to v4:\n>       https://lore.kernel.org/linux-riscv/20260202140716.34323-1-fangyu.yu@linux.alibaba.com/\n> ---\n> Changes in v4:\n>     - Extend kvm_riscv_gstage_mode_detect() to probe all HGATP.MODE values\n>       supported by the host and record them in a bitmask.\n>     - Treat unexpected pgd_levels in kvm_riscv_gstage_mode() as an internal error\n>       (e.g. WARN_ON_ONCE())(per Radim).\n>     - Move kvm_riscv_gstage_gpa_bits() and kvm_riscv_gstage_gpa_size() to header\n>       as static inline helpers(per Radim).\n>     - Drop gstage_mode_user_initialized and Remove the kvm_debug() message from\n>       KVM_CAP_RISCV_SET_HGATP_MODE(per Radim).\n>     - Link to v3:\n>       https://lore.kernel.org/linux-riscv/20260125150450.27068-1-fangyu.yu@linux.alibaba.com/\n> ---\n> Changes in v3:\n>     - Reworked the patch formatting (per Drew).\n>     - Dropped kvm->arch.kvm_riscv_gstage_mode and derive HGATP.MODE from\n>       kvm_riscv_gstage_pgd_levels via a helper, avoiding redundant per-VM state(per Drew).\n>     - Removed kvm_riscv_gstage_max_mode and keep only kvm_riscv_gstage_max_pgd_levels\n>       for host capability detection(per Drew).\n>     - Other initialization and return value issues(per Drew).\n>     - Enforce that KVM_CAP_RISCV_SET_HGATP_MODE can only be enabled before any vCPUs\n>       are created by rejecting the ioctl once kvm->created_vcpus is non-zero(per Radim).\n>     - Add a memslot safety check and reject the capability unless\n>       kvm_are_all_memslots_empty(kvm) is true, ensuring the G-stage format is not\n>       changed after any memslots have been installed(per Radim).\n>     - Link to v2:\n>       https://lore.kernel.org/linux-riscv/20260105143232.76715-1-fangyu.yu@linux.alibaba.com/\n>\n> Fangyu Yu (3):\n>   RISC-V: KVM: Support runtime configuration for per-VM's HGATP mode\n>   RISC-V: KVM: Cache gstage pgd_levels in struct kvm_gstage\n>   RISC-V: KVM: Reuse KVM_CAP_VM_GPA_BITS to select HGATP.MODE\n>\n>  arch/riscv/include/asm/kvm_gstage.h | 47 ++++++++++++++++---\n>  arch/riscv/include/asm/kvm_host.h   |  1 +\n>  arch/riscv/kvm/gstage.c             | 65 +++++++++++++--------------\n>  arch/riscv/kvm/main.c               | 12 ++---\n>  arch/riscv/kvm/mmu.c                | 70 +++++++++--------------------\n>  arch/riscv/kvm/vm.c                 | 49 ++++++++++++++++++--\n>  arch/riscv/kvm/vmid.c               |  3 +-\n>  7 files changed, 148 insertions(+), 99 deletions(-)\n>\n> --\n> 2.50.1\n>\n\nThis series is in good shape now. I will wait one more day to see\nif there are any comments and after that I will merge for Linux-7.1\n\nThanks,\nAnup","headers":{"Return-Path":"\n <kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n secure) header.d=lists.infradead.org header.i=@lists.infradead.org\n header.a=rsa-sha256 header.s=bombadil.20210309 header.b=cA/gF4a7;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=brainfault-org.20251104.gappssmtp.com\n header.i=@brainfault-org.20251104.gappssmtp.com header.a=rsa-sha256\n header.s=20251104 header.b=NnYpZyRI;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=none (no SPF record) smtp.mailfrom=lists.infradead.org\n (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org;\n envelope-from=kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n [IPv6:2607:7c80:54:3::133])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fnPgy4TP7z1xtJ\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 04 Apr 2026 03:44:14 +1100 (AEDT)","from localhost ([::1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1w8hcz-00000002LWv-05nq;\n\tFri, 03 Apr 2026 16:44:13 +0000","from mail-oo1-xc34.google.com ([2607:f8b0:4864:20::c34])\n\tby bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1w8hcw-00000002LW5-1bsF\n\tfor kvm-riscv@lists.infradead.org;\n\tFri, 03 Apr 2026 16:44:11 +0000","by mail-oo1-xc34.google.com with SMTP id\n 006d021491bc7-679f6ee3fb0so792955eaf.2\n        for <kvm-riscv@lists.infradead.org>;\n Fri, 03 Apr 2026 09:44:10 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20210309; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From:\n\tIn-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=apkWZcZDq9M1UM782Ls9gyH4Tp20Az0Wl2bgyjpMIG0=; b=cA/gF4a7IR/Shy\n\t/7lTcmM4ANXNcgF8CtRBA6/7k0NjOC5IeT/3u6ECCZWt2ydXAttkI+K2tt6nWpfhJH8T64Rih/eLw\n\t/027Lp1QZi5qURU0FfVb25fyk07IEqmCStzZtOzp+egrBwTNx1y3QNSqbzUbj8BEKuAfVIg26bZWP\n\t9AKZehQUYLLK1elZoos0zWBF/CwgEPRMkZKoRrJMDL7+QYagV1nN18U7KILn59yhx5eJrmSHfUdfI\n\tvLeUWh5PIv10mGrNuYhLo6bTYDknaAe30TRN2qz6PbHYPEAQOmFiu85rYUk1qW5Iv6GRamO3NKuDB\n\tTUIKlrSIXt91NdQr/Ifg==;","v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=brainfault-org.20251104.gappssmtp.com; s=20251104; t=1775234649;\n x=1775839449; darn=lists.infradead.org;\n        h=content-transfer-encoding:cc:to:subject:message-id:date:from\n         :in-reply-to:references:mime-version:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=vrFTwfPigxbz2O9GmqMaSTkCzHO8oMgBfOsFDsbGC0M=;\n        b=NnYpZyRIdVGHB3/AV9saVzVbJYbXejGRXw+NiiYWqVv+wx1mT6H4VgaD1OlZnAgu+E\n         VyczL/EdDV22Mwb9m+pokBHzQzPjN38VveulWX40hhX41+8ZrdRqL46+EuZXwl3gSahI\n         YKRikfrgy8kdLFz92mSUbLHPH9fMJKtqKC7BfHQFqItmHfMuT2rItsGYy1AJ/nxfLzuK\n         mbMC2HXVsPKe8RjuKDhc0qsd5EEbOWM5g7yqWBZsNSO/5XmJiX1nmaBYQ44qkEZnZuU2\n         ijvvuzWFrrsUnTOI9Sc46nLIlXK6HAHlXslcYL5pjIZMqW4tpQXzQ1J9Uw4A4z6i7vKZ\n         j+VQ=="],"ARC-Seal":"i=1; a=rsa-sha256; t=1775234649; cv=none;\n        d=google.com; s=arc-20240605;\n        b=fwbi7rirOyxuswG2ccgD3hBbDBL4C6YcEY+k5t8wzv1hA0Uv3ZGgJn1+wwvEK7v8T5\n         CozBlOiUjBrwuB5NaOUd3pJhdhW8vUeKhF7XcRII02vm+kNoJDHMckm1FvX70AHHJ4eK\n         pjo3MzKraYsBbtcUEUbM/H5UfVfpXe9n4q78i/Yzupv8ZCBHwr6cErJU2DUN4E3WWK27\n         Z1J92yE4iRESRsDPAe1WuRXcRdRJGGHrSGXo0gDWse+WNAMHl41l3mPdQZ5tJ9NocZox\n         Vur5Va8Fgx3qipFq2sqm0zRYQUz+tAdv8cB6Mb6SF1jFrnTBAybdjCZXkpSOJrln7oiG\n         bKJw==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n        h=content-transfer-encoding:cc:to:subject:message-id:date:from\n         :in-reply-to:references:mime-version:dkim-signature;\n        bh=vrFTwfPigxbz2O9GmqMaSTkCzHO8oMgBfOsFDsbGC0M=;\n        fh=Qcmw0or3NBEf4zfMZi4oS9+SHQlYRqEo0yCVe/WQjAs=;\n        b=Qy3H60boRpcSCEwMVeIv8xg5aDNJ5AvMCihDG170Y4oNgGhxjivYiPP67ZaUoHXtMM\n         cuZrPDI/xK0rxWvdHcGqvfi4Ajn5/WUxmAFQnnJIT9LahN9+OXJyjYPYIf6BstYw+fla\n         DVytevvjKMNN1cINGU0Hg9izMxmMDUdJO+pj5bak1Qmt7hYmFnMO/FxvLHFUO0yFZPoC\n         g4YQsYQWUArRaDhbTGSiR6kdkQ7bBobSacFuVCQ6EioYy5upsKmIH32BSAvl7a6xUgf6\n         L8dBs8ELgIfNTNHTsC5HnrF2EXaJ/omKnNsfjYbpZPWPhHZy1TCNGl9z3i+90IKpAu3W\n         sO8w==;\n        darn=lists.infradead.org","ARC-Authentication-Results":"i=1; mx.google.com; arc=none","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1775234649; x=1775839449;\n        h=content-transfer-encoding:cc:to:subject:message-id:date:from\n         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from\n         :to:cc:subject:date:message-id:reply-to;\n        bh=vrFTwfPigxbz2O9GmqMaSTkCzHO8oMgBfOsFDsbGC0M=;\n        b=RNfynsk2U1PTuNfNqOznjXE4ANojP1W7OGKL6xZ241OlF85JsxFVuflO1ddN9up2n2\n         W11erAy9SAMTf3X0qWeUzTAP3vJtDy5vhpTIygah0BbZd9YZ/POrHqh2UwnKL/uQamWL\n         tHUqcPqKV3upwKb2T08QBg+UqG5EhWvoEVWSDWqBuFROJySRQeAkGnMRtASSUrDGF0C2\n         r5vU7QNPFczgQbOR3Ym0l5f2mxT3uu7CuWjdt6rck4Pa0BeBs07XHm5JxmA98hzWigkI\n         8Kj7XaQiJeiOu4Mpcza0nWm08cwPK0X2f+BmO7efFjI3je/4R3z0n0oyLkghWJd6Rr1a\n         Krvg==","X-Forwarded-Encrypted":"i=1;\n AJvYcCW6dOU8XBIr6N/ejWT1Gl0rquWoSu0T65VX+rLck3rsC2p9Jy9EeCSCF8li0iRhvXBSlH8nANWswVc=@lists.infradead.org","X-Gm-Message-State":"AOJu0YycoK9DMmt8kCbeOjBXcV/jqLCogxiPul0Y9igRnCrL71Dh7rBA\n\t57dOgEz+li0bpvbhLE9sTWNAwYGHFTNGy5gaYtD+JGHM5kJxi1XY6BIzG7uHYBrSW5A2ZHX98nr\n\tEoEkDM0zU6i//zCSOd/NbkcPufX+DviX3MIoZMAMSDw==","X-Gm-Gg":"ATEYQzxYkxX+MCSzRgeHUDLwOz5uzJ4VJa+rEuk2TyrXvqtp0MeBhshix0TKlGzBE6y\n\tnU5zzz87qb62eerfkfRDhVKmzb0axyWtb04rQvdMWhpuidvvgGqmMIYXjzknZSGvAjTJP6NkDIO\n\tpTyP6au2TfwwH0peMann2PjQpmqIXBBhe+dXG986qiYueE/AJ5ft6fe/JMq1IXJbki6bkn2H4bb\n\t0Amvpa7Ai41xlttV43EqMBJA+QmqgXm4LdvjXc9rgLzt1gPuehuMBj8cAu85/INAKwDVEXuRVsT\n\t3Fe8AVRxNmz/J5yPpdCaTE0akCWrXtKXoe1IZ5VCSsqvN9sCJCBc+SC1iOjmt5sFTaIEPg5bA0q\n\tjdAW5IdqD1FygNfyD0K/G2rxwUA==","X-Received":"by 2002:a05:6820:81c3:b0:67f:c458:2b7d with SMTP id\n 006d021491bc7-68221529e11mr1810015eaf.47.1775234649157; Fri, 03 Apr 2026\n 09:44:09 -0700 (PDT)","MIME-Version":"1.0","References":"<20260403153019.9916-1-fangyu.yu@linux.alibaba.com>","In-Reply-To":"<20260403153019.9916-1-fangyu.yu@linux.alibaba.com>","From":"Anup Patel <anup@brainfault.org>","Date":"Fri, 3 Apr 2026 22:13:57 +0530","X-Gm-Features":"AQROBzCaf8PzOUDM_iKq7XQvuf1-ZWCZZHG4AUTGxCQXiafdpkeYzci0INwbejE","Message-ID":"\n <CAAhSdy0W7vrxHeMF+taZ0EBawsqis-ygwu=0HDV2WQYVerbZ9A@mail.gmail.com>","Subject":"Re: [PATCH v8 0/3] Support runtime configuration for per-VM's HGATP\n mode","To":"fangyu.yu@linux.alibaba.com","Cc":"pbonzini@redhat.com, corbet@lwn.net, atish.patra@linux.dev,\n pjw@kernel.org,\n\tpalmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr,\n\tskhan@linuxfoundation.org, guoren@kernel.org, radim.krcmar@oss.qualcomm.com,\n\tandrew.jones@oss.qualcomm.com, linux-doc@vger.kernel.org,\n kvm@vger.kernel.org,\n\tkvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org,\n\tlinux-kernel@vger.kernel.org","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20260403_094410_437726_F3D1B84E ","X-CRM114-Status":"GOOD (  19.12  )","X-Spam-Score":"-1.9 (-)","X-Spam-Report":"Spam detection software,\n running on the system \"bombadil.infradead.org\",\n has NOT identified this incoming email as spam.  The original\n message has been attached to this so you can view it or label\n similar future email.  If you have any questions, see\n the administrator of that system for details.\n Content preview:  On Fri, Apr 3,\n 2026 at 9:00 PM <fangyu.yu@linux.alibaba.com>\n    wrote: > > From: Fangyu Yu <fangyu.yu@linux.alibaba.com> > > Currently,\n RISC-V\n    KVM hardcodes the G-stage page table format (HGATP mode) > t [...]\n Content analysis details:   (-1.9 points, 5.0 required)\n  pts rule name              description\n ---- ----------------------\n --------------------------------------------------\n -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/, no\n                             trust\n                             [2607:f8b0:4864:20:0:0:0:c34 listed in]\n                             [list.dnswl.org]\n  0.0 SPF_NONE               SPF: sender does not publish an SPF Record\n  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record\n  0.1 DKIM_SIGNED            Message has a DKIM or DK signature,\n not necessarily valid\n -0.1 DKIM_VALID             Message has at least one valid DKIM or DK\n signature\n -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n                             [score: 0.0000]","X-BeenThere":"kvm-riscv@lists.infradead.org","X-Mailman-Version":"2.1.34","Precedence":"list","List-Id":"<kvm-riscv.lists.infradead.org>","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/kvm-riscv>,\n <mailto:kvm-riscv-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/kvm-riscv/>","List-Post":"<mailto:kvm-riscv@lists.infradead.org>","List-Help":"<mailto:kvm-riscv-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/kvm-riscv>,\n <mailto:kvm-riscv-request@lists.infradead.org?subject=subscribe>","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Sender":"\"kvm-riscv\" <kvm-riscv-bounces@lists.infradead.org>","Errors-To":"kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org"}},{"id":3673424,"web_url":"http://patchwork.ozlabs.org/comment/3673424/","msgid":"<CAAhSdy2t2WukRG7mHckY5=+J4+vPU1jvkrG9vqXoDxcMPbiEJg@mail.gmail.com>","list_archive_url":null,"date":"2026-04-04T11:02:32","subject":"Re: [PATCH v8 0/3] Support runtime configuration for per-VM's HGATP\n mode","submitter":{"id":33417,"url":"http://patchwork.ozlabs.org/api/people/33417/","name":"Anup Patel","email":"anup@brainfault.org"},"content":"On Fri, Apr 3, 2026 at 9:00 PM <fangyu.yu@linux.alibaba.com> wrote:\n>\n> From: Fangyu Yu <fangyu.yu@linux.alibaba.com>\n>\n> Currently, RISC-V KVM hardcodes the G-stage page table format (HGATP mode)\n> to the maximum mode detected at boot time (e.g., SV57x4 if supported). but\n> often such a wide GPA is unnecessary, just as a host sometimes doesn't need\n> sv57.\n>\n> This patch reuse KVM_CAP_VM_GPA_BITS to select HGATP.MODE. User-space can\n> now explicitly request a specific HGATP mode (SV39x4, SV48x4, SV57x4 or\n> SV32x4) during VM creation.\n>\n> ---\n> Changes in v8:\n>     - Reuse KVM_CAP_VM_GPA_BITS to advertise and select the effective GPA width\n>       for a VM (Anup's suggestion).\n>     - Handle the kvm == NULL case and task kvm->lock and kvm->slots_lock to serialize\n>       against concurrent vCPU creation and memslot updates (Radim's suggestion).\n>     - Link to v7:\n>       https://lore.kernel.org/linux-riscv/20260402132303.6252-1-fangyu.yu@linux.alibaba.com/\n> ---\n> Changes in v7 (Anup's suggestions):\n>     - Keep the original HGATP mode probing logic.\n>     - Link to v6:\n>       https://lore.kernel.org/linux-riscv/20260330122601.22140-1-fangyu.yu@linux.alibaba.com/\n> ---\n> Changes in v6 (Anup's suggestions):\n>     - Reworked kvm_riscv_gstage_gpa_bits() and kvm_riscv_gstage_gpa_size() to\n>       take \"unsigned long pgd_levels\" instead of \"struct kvm_arch *\".\n>     - Moved kvm_riscv_gstage_mode() helper from kvm_host.h to kvm_gstage.h.\n>     - Renamed kvm->arch.kvm_riscv_gstage_pgd_levels to kvm->arch.pgd_levels.\n>     - Added pgd_levels to struct kvm_gstage to avoid repeated\n>       gstage->kvm->arch pointer chasing.\n>     - Link to v5:\n>       https://lore.kernel.org/linux-riscv/20260204134507.33912-1-fangyu.yu@linux.alibaba.com/\n> ---\n> Changes in v5:\n>     - Use architectural HGATP.MODE encodings as the bit index for the supported-mode\n>       bitmap and for the VM-mode selection UAPI; no new UAPI mode/bit defines are\n>       introduced(per Radim).\n>     - Allow KVM_CAP_RISCV_SET_HGATP_MODE on RV32 as well(per Drew).\n>     - Link to v4:\n>       https://lore.kernel.org/linux-riscv/20260202140716.34323-1-fangyu.yu@linux.alibaba.com/\n> ---\n> Changes in v4:\n>     - Extend kvm_riscv_gstage_mode_detect() to probe all HGATP.MODE values\n>       supported by the host and record them in a bitmask.\n>     - Treat unexpected pgd_levels in kvm_riscv_gstage_mode() as an internal error\n>       (e.g. WARN_ON_ONCE())(per Radim).\n>     - Move kvm_riscv_gstage_gpa_bits() and kvm_riscv_gstage_gpa_size() to header\n>       as static inline helpers(per Radim).\n>     - Drop gstage_mode_user_initialized and Remove the kvm_debug() message from\n>       KVM_CAP_RISCV_SET_HGATP_MODE(per Radim).\n>     - Link to v3:\n>       https://lore.kernel.org/linux-riscv/20260125150450.27068-1-fangyu.yu@linux.alibaba.com/\n> ---\n> Changes in v3:\n>     - Reworked the patch formatting (per Drew).\n>     - Dropped kvm->arch.kvm_riscv_gstage_mode and derive HGATP.MODE from\n>       kvm_riscv_gstage_pgd_levels via a helper, avoiding redundant per-VM state(per Drew).\n>     - Removed kvm_riscv_gstage_max_mode and keep only kvm_riscv_gstage_max_pgd_levels\n>       for host capability detection(per Drew).\n>     - Other initialization and return value issues(per Drew).\n>     - Enforce that KVM_CAP_RISCV_SET_HGATP_MODE can only be enabled before any vCPUs\n>       are created by rejecting the ioctl once kvm->created_vcpus is non-zero(per Radim).\n>     - Add a memslot safety check and reject the capability unless\n>       kvm_are_all_memslots_empty(kvm) is true, ensuring the G-stage format is not\n>       changed after any memslots have been installed(per Radim).\n>     - Link to v2:\n>       https://lore.kernel.org/linux-riscv/20260105143232.76715-1-fangyu.yu@linux.alibaba.com/\n>\n> Fangyu Yu (3):\n>   RISC-V: KVM: Support runtime configuration for per-VM's HGATP mode\n>   RISC-V: KVM: Cache gstage pgd_levels in struct kvm_gstage\n>   RISC-V: KVM: Reuse KVM_CAP_VM_GPA_BITS to select HGATP.MODE\n>\n>  arch/riscv/include/asm/kvm_gstage.h | 47 ++++++++++++++++---\n>  arch/riscv/include/asm/kvm_host.h   |  1 +\n>  arch/riscv/kvm/gstage.c             | 65 +++++++++++++--------------\n>  arch/riscv/kvm/main.c               | 12 ++---\n>  arch/riscv/kvm/mmu.c                | 70 +++++++++--------------------\n>  arch/riscv/kvm/vm.c                 | 49 ++++++++++++++++++--\n>  arch/riscv/kvm/vmid.c               |  3 +-\n>  7 files changed, 148 insertions(+), 99 deletions(-)\n>\n> --\n> 2.50.1\n>\n\nQueued this series for Linux-7.1\n\nThanks,\nAnup","headers":{"Return-Path":"\n <kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n secure) header.d=lists.infradead.org header.i=@lists.infradead.org\n header.a=rsa-sha256 header.s=bombadil.20210309 header.b=MwBvj5DZ;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=brainfault-org.20251104.gappssmtp.com\n header.i=@brainfault-org.20251104.gappssmtp.com header.a=rsa-sha256\n header.s=20251104 header.b=tyvrz5k1;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=none (no SPF record) smtp.mailfrom=lists.infradead.org\n (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org;\n envelope-from=kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n [IPv6:2607:7c80:54:3::133])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fnt3n2PXnz1yG2\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 04 Apr 2026 22:02:57 +1100 (AEDT)","from localhost ([::1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1w8ymA-00000003PGW-0XT8;\n\tSat, 04 Apr 2026 11:02:50 +0000","from mail-ot1-x32b.google.com ([2607:f8b0:4864:20::32b])\n\tby bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1w8ym6-00000003PFb-0I6A\n\tfor kvm-riscv@lists.infradead.org;\n\tSat, 04 Apr 2026 11:02:48 +0000","by mail-ot1-x32b.google.com with SMTP id\n 46e09a7af769-7d9e22176a7so1293745a34.1\n        for <kvm-riscv@lists.infradead.org>;\n Sat, 04 Apr 2026 04:02:45 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20210309; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From:\n\tIn-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description:\n\tResent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:\n\tList-Owner; bh=i6f0UIwmyFkefHrmog83OeIr8AJ3IDWOu6ugx43nQ/Y=; b=MwBvj5DZ6oXQtR\n\twsVn1O5j+iA3dN3QjYbrPW+oFXZmjd+tDy1OM1POLTt5HxRuf3EDPi94r3176KWWaRNTfqtcDb13M\n\tsFXK8JZv/b+OdTCxdyvOvRr3s7hrZvfLRNa5ZTIX3H2lcM6HKxgRbBYuniJ/2z9++YmF+l7epjKo6\n\tD0lYt6AKx3eDhW7iqM54Lw05uloLdUmajQvM3+P0kf7Vz5rA25DO9bQSNoAckOxZulohIF4Q4tLrJ\n\t/4bb2/o0Lv/9bugk6hqut1XmEYISTXiLwL+vPlKy/23qwy2P5RIiZuWLxrr5URF6QQT+LE1q/Q3+q\n\tjMfyaYCQyuyK46OV+mcA==;","v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=brainfault-org.20251104.gappssmtp.com; s=20251104; t=1775300564;\n x=1775905364; darn=lists.infradead.org;\n        h=content-transfer-encoding:cc:to:subject:message-id:date:from\n         :in-reply-to:references:mime-version:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=Zfu5+ZoRr42kiqQcxjxD/Vr+HX1maiYTYcsoR4uKhiw=;\n        b=tyvrz5k10fywmvgCJtwQRTwJIx+2d3tqlS3IBX0H2kjPUT8meyE0SxPe1gME/tIP9p\n         ipYyZD9OplTzQTbc3UFJM/eCgS25XIheNWOsDendjLZ9m9qXHsIcaH+eZWXm3lJaacv8\n         BlNcsJPQy4phzl5eBEsLlJbdABC4Xvm+O6UZtN8bdjSiqOfRd7OvAP936QJRtZ+MbxeH\n         hsZwTkjs2ro+rAiTUaaqbpl72SFCLcE+7qhZJPxs+To+1KRPag1PzCmkMdDSLjVtrfmV\n         DsamwzBrhZ30SVIvRjkBOl6jxrRYsM0Y5i4HY20I6IGmw7qTFJGiMXSPkIZE6YpdO4se\n         mHAg=="],"ARC-Seal":"i=1; a=rsa-sha256; t=1775300564; cv=none;\n        d=google.com; s=arc-20240605;\n        b=SIVUWGHZUXP1rz5+XdtTEcSHkKmH8emR62Q6tEyr/i2NT37iWldbfAIWWiI4Bn8I40\n         sqghp/wY79DrijuWNJxRvfJwmz/5rUDfsQFksjtZTTjvVlGHxgkQFAP4ryWw9sqru2bb\n         Axmc0CIjGn+Q+Nuephp/grCrLBP1r1M2ge7orS70pHYhRhVRmcvF426w+hrFTRkSS1OR\n         9Kw4TbzGfI7iBk6PmZMUGZkL4y50hiTQXtbHJkoKLJ0iI6AFKh4h5qMJPy9buNZiqmwW\n         Zf1acR2sIkcanadFUNdDIcGTJqL7wWlKZ7eyyZjz+Klw4SUFzV3MLnWiquGiPTjEplSf\n         hW6w==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n        h=content-transfer-encoding:cc:to:subject:message-id:date:from\n         :in-reply-to:references:mime-version:dkim-signature;\n        bh=Zfu5+ZoRr42kiqQcxjxD/Vr+HX1maiYTYcsoR4uKhiw=;\n        fh=NRtsMDo3usjiSQ5voH5lmDQYrOx54j3cNf0o62UyT34=;\n        b=VzLJysTSq8sTzfT2kCe7jFL0ofX0mxGiUjnp480s6mbCNA9PphMyXR/9jpYReZC9nr\n         D4gN5zSEdWZiKfpNZbgs1h7Lq48FBlFOZHeFpBcEyobwbQaBxA5DrtYMfkEKitww7zja\n         AweEtSlpkzmY1JkxOnogVB0fCJCNJQiwJvgKRosyFjw7512a/H6M0ilhfoUMe8/LWZ7+\n         uS1So3jeAV+BuNaA3m0N5LHZeh+xcnzmPOAMIomQxpR6Cz5uiyzjG8Tuxe3JEiJPfv6N\n         Xv6wfPF6sLbrEiJ3/m/nHMDk3rkWVtjiPKs0pc1yIwmW1cDZffbDCQN6umtObfhm0XJq\n         12Ag==;\n        darn=lists.infradead.org","ARC-Authentication-Results":"i=1; mx.google.com; arc=none","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1775300564; x=1775905364;\n        h=content-transfer-encoding:cc:to:subject:message-id:date:from\n         :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from\n         :to:cc:subject:date:message-id:reply-to;\n        bh=Zfu5+ZoRr42kiqQcxjxD/Vr+HX1maiYTYcsoR4uKhiw=;\n        b=b5gvZYQXeA2rHi1P2la8BN+fIZHZe051NflwjhueNszn+VVCxNa1zQ6pod+Xl12zsH\n         QHbQ8lywPXpKRhzXAXQOe7/0ZIAsUorRxAdP4f19rPwkqZhDZ/2kiFkWxVnj0g2gV8QM\n         3eSO9RO/vlrbG2w4jBdfwTlwRh40rnqVqKqDXzKXXJnnD8CaDDShdSi9Kq2glsAprzOl\n         M8aUpULDO6uWJzpXvPWyPaPAro/cHPZJRcj4+4tSjkwSLSH/H340+yrfOBJqMwXtd/s5\n         NoSu3HmShH4Q2wIpVAnVlK1253y+aXZZdm7/1ScmDL2azFc5Uw5WLOY9cwELbtrnrMzH\n         e/1w==","X-Forwarded-Encrypted":"i=1;\n AJvYcCVcfcSBwHrhoRtXtRkobmGmfQIET0QZDnHAKICRNB/iW1H3w6U0CUqqAGKYNL9O2EDSZVVfE7mUexw=@lists.infradead.org","X-Gm-Message-State":"AOJu0Yzc1SkstV/QCD3ZGEmTJ7bPk5Fkwgq+YtPqININHCxMex5dzMQJ\n\tF6QuqX1cJvz5MaS76qJWwWXzHRsNr48VHyifi8nz/wzmOllAPIFi08IMnshqwlxwC8e9SJEajkK\n\tsqtnIdXmexkRCFd4gAd93j8n7Bnhtw4P66uBiImsBuw==","X-Gm-Gg":"AeBDietITb9/1wkYz1wbq0ohLq04Ens/UzHy7m0iaj9jFSxmlgVYISWWhgIfsIkmzNr\n\t3sIxdPJZUwGpeSlm4JynkYXRRcNCr/zjrsbGnrcAE/uDAhP0lbK9uk7fdVdp8NWsNxcEAjYynY3\n\tLYdukuCrh3iHqLaLijONYtN4XyFb2yEnP/qVGSUPal27uHxuhaqtHJhnOpotgFYR66sm4gsleD9\n\tHQiKwsYKWV+bN2dHYdQu+x12/fAGHFlriqbVrxMaLRamT2g8eiX6TBBJ+7xC7fNgITvbZdi71tj\n\trObYyx6Snn71QAN7lKqwcqPTdq0LK1zE/JFaCvIL5sdJWwZ2pGG+WiocWCorkc0mH5ueZWX07dw\n\trivAZXwVA6MhgUJ+ODO/1JPh3qw==","X-Received":"by 2002:a05:6820:1ca8:b0:67e:3b11:89ed with SMTP id\n 006d021491bc7-6821e66a08bmr3527858eaf.10.1775300564107; Sat, 04 Apr 2026\n 04:02:44 -0700 (PDT)","MIME-Version":"1.0","References":"<20260403153019.9916-1-fangyu.yu@linux.alibaba.com>","In-Reply-To":"<20260403153019.9916-1-fangyu.yu@linux.alibaba.com>","From":"Anup Patel <anup@brainfault.org>","Date":"Sat, 4 Apr 2026 16:32:32 +0530","X-Gm-Features":"AQROBzDcUt7d2zmN-LgKMz3EEMCzhGSvhLBkGZy88YajEYGJjZyDS4lDfZXa79I","Message-ID":"\n <CAAhSdy2t2WukRG7mHckY5=+J4+vPU1jvkrG9vqXoDxcMPbiEJg@mail.gmail.com>","Subject":"Re: [PATCH v8 0/3] Support runtime configuration for per-VM's HGATP\n mode","To":"fangyu.yu@linux.alibaba.com","Cc":"pbonzini@redhat.com, corbet@lwn.net, atish.patra@linux.dev,\n pjw@kernel.org,\n\tpalmer@dabbelt.com, aou@eecs.berkeley.edu, alex@ghiti.fr,\n\tskhan@linuxfoundation.org, guoren@kernel.org, radim.krcmar@oss.qualcomm.com,\n\tandrew.jones@oss.qualcomm.com, linux-doc@vger.kernel.org,\n kvm@vger.kernel.org,\n\tkvm-riscv@lists.infradead.org, linux-riscv@lists.infradead.org,\n\tlinux-kernel@vger.kernel.org","X-CRM114-Version":"20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ","X-CRM114-CacheID":"sfid-20260404_040246_333619_D3ECBA3B ","X-CRM114-Status":"GOOD (  17.93  )","X-Spam-Score":"-1.9 (-)","X-Spam-Report":"Spam detection software,\n running on the system \"bombadil.infradead.org\",\n has NOT identified this incoming email as spam.  The original\n message has been attached to this so you can view it or label\n similar future email.  If you have any questions, see\n the administrator of that system for details.\n Content preview:  On Fri, Apr 3,\n 2026 at 9:00 PM <fangyu.yu@linux.alibaba.com>\n    wrote: > > From: Fangyu Yu <fangyu.yu@linux.alibaba.com> > > Currently,\n RISC-V\n    KVM hardcodes the G-stage page table format (HGATP mode) > t [...]\n Content analysis details:   (-1.9 points, 5.0 required)\n  pts rule name              description\n ---- ----------------------\n --------------------------------------------------\n -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/, no\n                             trust\n                             [2607:f8b0:4864:20:0:0:0:32b listed in]\n                             [list.dnswl.org]\n  0.0 SPF_NONE               SPF: sender does not publish an SPF Record\n  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record\n  0.1 DKIM_SIGNED            Message has a DKIM or DK signature,\n not necessarily valid\n -0.1 DKIM_VALID             Message has at least one valid DKIM or DK\n signature\n -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%\n                             [score: 0.0000]","X-BeenThere":"kvm-riscv@lists.infradead.org","X-Mailman-Version":"2.1.34","Precedence":"list","List-Id":"<kvm-riscv.lists.infradead.org>","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/kvm-riscv>,\n <mailto:kvm-riscv-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/kvm-riscv/>","List-Post":"<mailto:kvm-riscv@lists.infradead.org>","List-Help":"<mailto:kvm-riscv-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/kvm-riscv>,\n <mailto:kvm-riscv-request@lists.infradead.org?subject=subscribe>","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Sender":"\"kvm-riscv\" <kvm-riscv-bounces@lists.infradead.org>","Errors-To":"kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org"}}]