Re: [PATCH v3 3/3] KVM: selftests: Enable pre_fault_memory_test for RISC-V

From: Anup Patel

Date: Sat Oct 03 2026 - 06:06:26 EST


On Fri, Aug 14, 2026 at 5:16 PM Jinyu Tang <jinyu.tang@xxxxxxxxx> wrote:
>
> RISC-V now supports KVM_PRE_FAULT_MEMORY, so include the generic
> pre_fault_memory_test in the RISC-V KVM selftest build.
>
> The test uses PAGE_SIZE from the architecture processor header. Define
> the normal 4K RISC-V selftest page size so the generic test can build
> for RISC-V.
>
> Reviewed-by: Nutty Liu <nutty.liu@xxxxxxxxxxx>
> Signed-off-by: Jinyu Tang <jinyu.tang@xxxxxxxxx>

LGTM.

Reviewed-by: Anup Patel <anup@xxxxxxxxxxxxxx>

Queued this patch for Linux-7.4

Thanks,
Anup


> ---
> v1 -> 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.
>
> tools/testing/selftests/kvm/Makefile.kvm | 1 +
> tools/testing/selftests/kvm/include/riscv/processor.h | 3 +++
> 2 files changed, 4 insertions(+)
>
> diff --git a/tools/testing/selftests/kvm/Makefile.kvm b/tools/testing/selftests/kvm/Makefile.kvm
> index 6fc34e9bf8e1..ac64ac92fd4b 100644
> --- a/tools/testing/selftests/kvm/Makefile.kvm
> +++ b/tools/testing/selftests/kvm/Makefile.kvm
> @@ -225,6 +225,7 @@ TEST_GEN_PROGS_riscv += coalesced_io_test
> TEST_GEN_PROGS_riscv += dirty_log_perf_test
> TEST_GEN_PROGS_riscv += get-reg-list
> TEST_GEN_PROGS_riscv += mmu_stress_test
> +TEST_GEN_PROGS_riscv += pre_fault_memory_test
> TEST_GEN_PROGS_riscv += rseq_test
> TEST_GEN_PROGS_riscv += steal_time
>
> diff --git a/tools/testing/selftests/kvm/include/riscv/processor.h b/tools/testing/selftests/kvm/include/riscv/processor.h
> index abde3c71c891..70487c8ed155 100644
> --- a/tools/testing/selftests/kvm/include/riscv/processor.h
> +++ b/tools/testing/selftests/kvm/include/riscv/processor.h
> @@ -12,6 +12,9 @@
> #include <asm/vdso/processor.h>
> #include "kvm_util.h"
>
> +#define PAGE_SHIFT 12
> +#define PAGE_SIZE BIT_ULL(PAGE_SHIFT)
> +
> #define INSN_OPCODE_MASK 0x007c
> #define INSN_OPCODE_SHIFT 2
> #define INSN_OPCODE_SYSTEM 28
> --
> 2.43.0