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

Anup Patel anup at brainfault.org
Sat Oct 3 03:01:52 PDT 2026


On Fri, Aug 14, 2026 at 5:16 PM Jinyu Tang <jinyu.tang at linux.dev> 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 at hotmail.com>
> Signed-off-by: Jinyu Tang <jinyu.tang at linux.dev>

LGTM.

Reviewed-by: Anup Patel <anup at brainfault.org>

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



More information about the linux-riscv mailing list