| Message ID | 20260811230316.218770-4-jinyu.tang@linux.dev |
|---|---|
| State | New |
| Headers | show |
| Series | KVM: riscv: Add KVM_PRE_FAULT_MEMORY support | expand |
On 8/12/2026 7:03 AM, Jinyu Tang 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. > > Signed-off-by: Jinyu Tang <jinyu.tang@linux.dev> Reviewed-by: Nutty Liu <nutty.liu@hotmail.com> Thanks, Nutty > --- > 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
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
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. Signed-off-by: Jinyu Tang <jinyu.tang@linux.dev> --- 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(+)