Re: [PATCH 2/5] KVM: selftests: Initialise default mode in each test
From: Andrew Jones <hidden>
Date: 2021-12-23 17:01:46
Also in:
kvm, kvmarm
Subsystem:
kernel selftest framework, kernel virtual machine (kvm), the rest · Maintainers:
Shuah Khan, Paolo Bonzini, Linus Torvalds
On Thu, Dec 16, 2021 at 12:31:32PM +0000, Marc Zyngier wrote:
As we are going to add support for a variable default mode on arm64, let's make sure it is setup first by sprinkling a number of calls to get_modes_append_default() when the test starts. Signed-off-by: Marc Zyngier <maz@kernel.org> --- tools/testing/selftests/kvm/aarch64/arch_timer.c | 3 +++ tools/testing/selftests/kvm/aarch64/debug-exceptions.c | 3 +++ tools/testing/selftests/kvm/aarch64/get-reg-list.c | 3 +++ tools/testing/selftests/kvm/aarch64/psci_cpu_on_test.c | 3 +++ tools/testing/selftests/kvm/aarch64/vgic_init.c | 3 +++ tools/testing/selftests/kvm/kvm_binary_stats_test.c | 3 +++ tools/testing/selftests/kvm/kvm_create_max_vcpus.c | 3 +++ tools/testing/selftests/kvm/memslot_perf_test.c | 4 ++++ tools/testing/selftests/kvm/rseq_test.c | 3 +++ tools/testing/selftests/kvm/set_memory_region_test.c | 4 ++++ tools/testing/selftests/kvm/steal_time.c | 3 +++
I wish there was a better way to set the defaults for each test without requiring a function call to be put at the beginning of each test. Maybe we should create a constructor function? I.e.
diff --git a/tools/testing/selftests/kvm/Makefile b/tools/testing/selftests/kvm/Makefile
index f307c9f61981..603e09be12ae 100644
--- a/tools/testing/selftests/kvm/Makefile
+++ b/tools/testing/selftests/kvm/Makefile@@ -148,7 +148,7 @@ LDFLAGS += -pthread $(no-pie-option) $(pgste-option) # $(TEST_GEN_PROGS) starts with $(OUTPUT)/ include ../lib.mk -STATIC_LIBS := $(OUTPUT)/libkvm.a +STATIC_LIBS := lib/init.o $(OUTPUT)/libkvm.a LIBKVM_C := $(filter %.c,$(LIBKVM)) LIBKVM_S := $(filter %.S,$(LIBKVM)) LIBKVM_C_OBJ := $(patsubst %.c, $(OUTPUT)/%.o, $(LIBKVM_C))
diff --git a/tools/testing/selftests/kvm/lib/init.c b/tools/testing/selftests/kvm/lib/init.c
new file mode 100644
index 000000000000..6f92a85aa263
--- /dev/null
+++ b/tools/testing/selftests/kvm/lib/init.c@@ -0,0 +1,6 @@ +#include "guest_modes.h" + +void __attribute__((constructor)) main_init(void) +{ +#ifdef __aarch64__ + guest_modes_set_default(); +#endif +}
Thanks, drew _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel