From: Jinyu Tang <jinyu.tang@linux.dev>
To: Anup Patel <anup@brainfault.org>,
Anup Patel <apatel@ventanamicro.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Sean Christopherson <seanjc@google.com>
Cc: kvm@vger.kernel.org, kvm-riscv@lists.infradead.org,
linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-kselftest@vger.kernel.org,
Atish Patra <atish.patra@linux.dev>,
Paul Walmsley <pjw@kernel.org>,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Alexandre Ghiti <alex@ghiti.fr>,
Andrew Jones <andrew.jones@oss.qualcomm.com>,
Conor Dooley <conor.dooley@microchip.com>,
Yong-Xuan Wang <yongxuan.wang@sifive.com>,
Nutty Liu <nutty.liu@hotmail.com>, Jinyu Tang <tjytimi@163.com>,
Jinyu Tang <jinyu.tang@linux.dev>
Subject: [PATCH v2 0/3] KVM: riscv: Add KVM_PRE_FAULT_MEMORY support
Date: Wed, 12 Aug 2026 07:03:13 +0800 [thread overview]
Message-ID: <20260811230316.218770-1-jinyu.tang@linux.dev> (raw)
This series adds RISC-V support for the generic KVM_PRE_FAULT_MEMORY
vcpu ioctl and enables the existing generic KVM selftest for RISC-V.
KVM_PRE_FAULT_MEMORY lets userspace ask KVM to populate stage-2 mappings
for a GPA range before running a vCPU that is expected to access that
range. x86 already supports the ioctl; RISC-V currently falls back to
normal first-touch G-stage faults.
Patch 1 implements the RISC-V arch hook using the existing G-stage map
path. Patch 2 fixes the RISC-V selftest page-table walker for Sv57,
which can be selected as the default guest mode. Patch 3 enables
pre_fault_memory_test for RISC-V.
Tested with pre_fault_memory_test on a RISC-V KVM host.
Changes in v2:
- Drop the per-test guest_modes_append_default() call from
pre_fault_memory_test.c. RISC-V already initializes supported and
default guest modes from kvm_selftest_arch_init(), which is called by
the common kvm_selftest_init() constructor, as suggested by Sean.
Jinyu Tang (3):
KVM: riscv: Implement KVM_PRE_FAULT_MEMORY
KVM: selftests: Add RISC-V Sv57 page table indexing
KVM: selftests: Enable pre_fault_memory_test for RISC-V
arch/riscv/kvm/Kconfig | 1 +
arch/riscv/kvm/gstage.c | 3 ++
arch/riscv/kvm/mmu.c | 33 +++++++++++++++++++
arch/riscv/kvm/vm.c | 1 +
tools/testing/selftests/kvm/Makefile.kvm | 1 +
.../selftests/kvm/include/riscv/processor.h | 6 ++++
.../selftests/kvm/lib/riscv/processor.c | 2 ++
7 files changed, 47 insertions(+)
--
2.43.0
WARNING: multiple messages have this Message-ID (diff)
From: Jinyu Tang <jinyu.tang@linux.dev>
To: Anup Patel <anup@brainfault.org>,
Anup Patel <apatel@ventanamicro.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Sean Christopherson <seanjc@google.com>
Cc: kvm@vger.kernel.org, kvm-riscv@lists.infradead.org,
linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-kselftest@vger.kernel.org,
Atish Patra <atish.patra@linux.dev>,
Paul Walmsley <pjw@kernel.org>,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Alexandre Ghiti <alex@ghiti.fr>,
Andrew Jones <andrew.jones@oss.qualcomm.com>,
Conor Dooley <conor.dooley@microchip.com>,
Yong-Xuan Wang <yongxuan.wang@sifive.com>,
Nutty Liu <nutty.liu@hotmail.com>, Jinyu Tang <tjytimi@163.com>,
Jinyu Tang <jinyu.tang@linux.dev>
Subject: [PATCH v2 0/3] KVM: riscv: Add KVM_PRE_FAULT_MEMORY support
Date: Wed, 12 Aug 2026 07:03:13 +0800 [thread overview]
Message-ID: <20260811230316.218770-1-jinyu.tang@linux.dev> (raw)
This series adds RISC-V support for the generic KVM_PRE_FAULT_MEMORY
vcpu ioctl and enables the existing generic KVM selftest for RISC-V.
KVM_PRE_FAULT_MEMORY lets userspace ask KVM to populate stage-2 mappings
for a GPA range before running a vCPU that is expected to access that
range. x86 already supports the ioctl; RISC-V currently falls back to
normal first-touch G-stage faults.
Patch 1 implements the RISC-V arch hook using the existing G-stage map
path. Patch 2 fixes the RISC-V selftest page-table walker for Sv57,
which can be selected as the default guest mode. Patch 3 enables
pre_fault_memory_test for RISC-V.
Tested with pre_fault_memory_test on a RISC-V KVM host.
Changes in v2:
- Drop the per-test guest_modes_append_default() call from
pre_fault_memory_test.c. RISC-V already initializes supported and
default guest modes from kvm_selftest_arch_init(), which is called by
the common kvm_selftest_init() constructor, as suggested by Sean.
Jinyu Tang (3):
KVM: riscv: Implement KVM_PRE_FAULT_MEMORY
KVM: selftests: Add RISC-V Sv57 page table indexing
KVM: selftests: Enable pre_fault_memory_test for RISC-V
arch/riscv/kvm/Kconfig | 1 +
arch/riscv/kvm/gstage.c | 3 ++
arch/riscv/kvm/mmu.c | 33 +++++++++++++++++++
arch/riscv/kvm/vm.c | 1 +
tools/testing/selftests/kvm/Makefile.kvm | 1 +
.../selftests/kvm/include/riscv/processor.h | 6 ++++
.../selftests/kvm/lib/riscv/processor.c | 2 ++
7 files changed, 47 insertions(+)
--
2.43.0
--
kvm-riscv mailing list
kvm-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kvm-riscv
WARNING: multiple messages have this Message-ID (diff)
From: Jinyu Tang <jinyu.tang@linux.dev>
To: Anup Patel <anup@brainfault.org>,
Anup Patel <apatel@ventanamicro.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Sean Christopherson <seanjc@google.com>
Cc: kvm@vger.kernel.org, kvm-riscv@lists.infradead.org,
linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-kselftest@vger.kernel.org,
Atish Patra <atish.patra@linux.dev>,
Paul Walmsley <pjw@kernel.org>,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Alexandre Ghiti <alex@ghiti.fr>,
Andrew Jones <andrew.jones@oss.qualcomm.com>,
Conor Dooley <conor.dooley@microchip.com>,
Yong-Xuan Wang <yongxuan.wang@sifive.com>,
Nutty Liu <nutty.liu@hotmail.com>, Jinyu Tang <tjytimi@163.com>,
Jinyu Tang <jinyu.tang@linux.dev>
Subject: [PATCH v2 0/3] KVM: riscv: Add KVM_PRE_FAULT_MEMORY support
Date: Wed, 12 Aug 2026 07:03:13 +0800 [thread overview]
Message-ID: <20260811230316.218770-1-jinyu.tang@linux.dev> (raw)
This series adds RISC-V support for the generic KVM_PRE_FAULT_MEMORY
vcpu ioctl and enables the existing generic KVM selftest for RISC-V.
KVM_PRE_FAULT_MEMORY lets userspace ask KVM to populate stage-2 mappings
for a GPA range before running a vCPU that is expected to access that
range. x86 already supports the ioctl; RISC-V currently falls back to
normal first-touch G-stage faults.
Patch 1 implements the RISC-V arch hook using the existing G-stage map
path. Patch 2 fixes the RISC-V selftest page-table walker for Sv57,
which can be selected as the default guest mode. Patch 3 enables
pre_fault_memory_test for RISC-V.
Tested with pre_fault_memory_test on a RISC-V KVM host.
Changes in v2:
- Drop the per-test guest_modes_append_default() call from
pre_fault_memory_test.c. RISC-V already initializes supported and
default guest modes from kvm_selftest_arch_init(), which is called by
the common kvm_selftest_init() constructor, as suggested by Sean.
Jinyu Tang (3):
KVM: riscv: Implement KVM_PRE_FAULT_MEMORY
KVM: selftests: Add RISC-V Sv57 page table indexing
KVM: selftests: Enable pre_fault_memory_test for RISC-V
arch/riscv/kvm/Kconfig | 1 +
arch/riscv/kvm/gstage.c | 3 ++
arch/riscv/kvm/mmu.c | 33 +++++++++++++++++++
arch/riscv/kvm/vm.c | 1 +
tools/testing/selftests/kvm/Makefile.kvm | 1 +
.../selftests/kvm/include/riscv/processor.h | 6 ++++
.../selftests/kvm/lib/riscv/processor.c | 2 ++
7 files changed, 47 insertions(+)
--
2.43.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next reply other threads:[~2026-08-11 23:03 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-11 23:03 Jinyu Tang [this message]
2026-08-11 23:03 ` [PATCH v2 0/3] KVM: riscv: Add KVM_PRE_FAULT_MEMORY support Jinyu Tang
2026-08-11 23:03 ` Jinyu Tang
2026-08-11 23:03 ` [PATCH v2 1/3] KVM: riscv: Implement KVM_PRE_FAULT_MEMORY Jinyu Tang
2026-08-11 23:03 ` Jinyu Tang
2026-08-11 23:03 ` Jinyu Tang
2026-08-11 23:23 ` sashiko-bot
2026-08-11 23:03 ` [PATCH v2 2/3] KVM: selftests: Add RISC-V Sv57 page table indexing Jinyu Tang
2026-08-11 23:03 ` Jinyu Tang
2026-08-11 23:03 ` Jinyu Tang
2026-08-12 12:22 ` Nutty.Liu
2026-08-12 12:22 ` Nutty.Liu
2026-08-12 12:22 ` Nutty.Liu
2026-08-11 23:03 ` [PATCH v2 3/3] KVM: selftests: Enable pre_fault_memory_test for RISC-V Jinyu Tang
2026-08-11 23:03 ` Jinyu Tang
2026-08-11 23:03 ` Jinyu Tang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260811230316.218770-1-jinyu.tang@linux.dev \
--to=jinyu.tang@linux.dev \
--cc=alex@ghiti.fr \
--cc=andrew.jones@oss.qualcomm.com \
--cc=anup@brainfault.org \
--cc=aou@eecs.berkeley.edu \
--cc=apatel@ventanamicro.com \
--cc=atish.patra@linux.dev \
--cc=conor.dooley@microchip.com \
--cc=kvm-riscv@lists.infradead.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=nutty.liu@hotmail.com \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=pbonzini@redhat.com \
--cc=pjw@kernel.org \
--cc=seanjc@google.com \
--cc=tjytimi@163.com \
--cc=yongxuan.wang@sifive.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.