Hi, Bibo, On Sun, Apr 27, 2025 at 2:45 PM Bibo Mao <maob...@loongson.cn> wrote: > > Some common KVM test cases are supported on LoongArch now as following: > coalesced_io_test > demand_paging_test > dirty_log_perf_test > dirty_log_test > guest_print_test > hardware_disable_test > kvm_binary_stats_test > kvm_create_max_vcpus > kvm_page_table_test > memslot_modification_stress_test > memslot_perf_test > set_memory_region_test > And other test cases are not supported by LoongArch such as rseq_test, > since it is not supported on LoongArch physical machine either. > > Signed-off-by: Bibo Mao <maob...@loongson.cn> > --- > MAINTAINERS | 2 ++ > tools/testing/selftests/kvm/Makefile | 2 +- > tools/testing/selftests/kvm/Makefile.kvm | 18 ++++++++++++++++++ > .../selftests/kvm/set_memory_region_test.c | 2 +- > 4 files changed, 22 insertions(+), 2 deletions(-) > > diff --git a/MAINTAINERS b/MAINTAINERS > index 3cbf9ac0d83f..20cb455e0821 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -13043,6 +13043,8 @@ F: Documentation/virt/kvm/loongarch/ > F: arch/loongarch/include/asm/kvm* > F: arch/loongarch/include/uapi/asm/kvm* > F: arch/loongarch/kvm/ > +F: tools/testing/selftests/kvm/*/loongarch/ > +F: tools/testing/selftests/kvm/lib/loongarch/ > > KERNEL VIRTUAL MACHINE FOR MIPS (KVM/mips) > M: Huacai Chen <chenhua...@kernel.org> > diff --git a/tools/testing/selftests/kvm/Makefile > b/tools/testing/selftests/kvm/Makefile > index 20af35a91d6f..d9fffe06d3ea 100644 > --- a/tools/testing/selftests/kvm/Makefile > +++ b/tools/testing/selftests/kvm/Makefile > @@ -3,7 +3,7 @@ top_srcdir = ../../../.. > include $(top_srcdir)/scripts/subarch.include > ARCH ?= $(SUBARCH) > > -ifeq ($(ARCH),$(filter $(ARCH),arm64 s390 riscv x86 x86_64)) > +ifeq ($(ARCH),$(filter $(ARCH),arm64 s390 riscv x86 x86_64 loongarch)) > # Top-level selftests allows ARCH=x86_64 :-( > ifeq ($(ARCH),x86_64) > ARCH := x86 > diff --git a/tools/testing/selftests/kvm/Makefile.kvm > b/tools/testing/selftests/kvm/Makefile.kvm > index f62b0a5aba35..7985bb42d2c1 100644 > --- a/tools/testing/selftests/kvm/Makefile.kvm > +++ b/tools/testing/selftests/kvm/Makefile.kvm > @@ -47,6 +47,10 @@ LIBKVM_riscv += lib/riscv/handlers.S > LIBKVM_riscv += lib/riscv/processor.c > LIBKVM_riscv += lib/riscv/ucall.c > > +LIBKVM_loongarch += lib/loongarch/processor.c > +LIBKVM_loongarch += lib/loongarch/ucall.c > +LIBKVM_loongarch += lib/loongarch/exception.S > + > # Non-compiled test targets > TEST_PROGS_x86 += x86/nx_huge_pages_test.sh > > @@ -190,6 +194,20 @@ TEST_GEN_PROGS_riscv += coalesced_io_test > TEST_GEN_PROGS_riscv += get-reg-list > TEST_GEN_PROGS_riscv += steal_time > > +TEST_GEN_PROGS_loongarch += coalesced_io_test > +TEST_GEN_PROGS_loongarch += demand_paging_test > +TEST_GEN_PROGS_loongarch += dirty_log_perf_test > +TEST_GEN_PROGS_loongarch += dirty_log_test > +TEST_GEN_PROGS_loongarch += demand_paging_test This line is duplicated.
Huacai > +TEST_GEN_PROGS_loongarch += guest_print_test > +TEST_GEN_PROGS_loongarch += hardware_disable_test > +TEST_GEN_PROGS_loongarch += kvm_binary_stats_test > +TEST_GEN_PROGS_loongarch += kvm_create_max_vcpus > +TEST_GEN_PROGS_loongarch += kvm_page_table_test > +TEST_GEN_PROGS_loongarch += memslot_modification_stress_test > +TEST_GEN_PROGS_loongarch += memslot_perf_test > +TEST_GEN_PROGS_loongarch += set_memory_region_test > + > SPLIT_TESTS += arch_timer > SPLIT_TESTS += get-reg-list > > diff --git a/tools/testing/selftests/kvm/set_memory_region_test.c > b/tools/testing/selftests/kvm/set_memory_region_test.c > index bc440d5aba57..ce3ac0fd6dfb 100644 > --- a/tools/testing/selftests/kvm/set_memory_region_test.c > +++ b/tools/testing/selftests/kvm/set_memory_region_test.c > @@ -350,7 +350,7 @@ static void test_invalid_memory_region_flags(void) > struct kvm_vm *vm; > int r, i; > > -#if defined __aarch64__ || defined __riscv || defined __x86_64__ > +#if defined __aarch64__ || defined __riscv || defined __x86_64__ || defined > __loongarch__ > supported_flags |= KVM_MEM_READONLY; > #endif > > -- > 2.39.3 >