On Wed, 2023-10-11 at 19:57 +0000, Oliver Upton wrote: > Start generating sysreg-defs.h for arm64 builds in anticipation of > updating sysreg.h to a version that depends on it. > > Reviewed-by: Mark Brown <broonie@xxxxxxxxxx> > Signed-off-by: Oliver Upton <oliver.upton@xxxxxxxxx> > --- > tools/testing/selftests/kvm/Makefile | 23 ++++++++++++++++++++--- > 1 file changed, 20 insertions(+), 3 deletions(-) > > diff --git a/tools/testing/selftests/kvm/Makefile b/tools/testing/selftests/kvm/Makefile > index a3bb36fb3cfc..07b3f4dc1a77 100644 > --- a/tools/testing/selftests/kvm/Makefile > +++ b/tools/testing/selftests/kvm/Makefile > @@ -17,6 +17,17 @@ else > ARCH_DIR := $(ARCH) > endif > > +ifeq ($(ARCH),arm64) > +arm64_tools_dir := $(top_srcdir)/tools/arch/arm64/tools/ > +GEN_HDRS := $(top_srcdir)/tools/arch/arm64/include/generated/ > +CFLAGS += -I$(GEN_HDRS) > + > +prepare: > + $(MAKE) -C $(arm64_tools_dir) > +else > +prepare: This is a force target, all targets depending on this one will always have their recipe run, so we'll pretty much rebuild everything. Is this intentional? > +endif > + > LIBKVM += lib/assert.c > LIBKVM += lib/elf.c > LIBKVM += lib/guest_modes.c > @@ -256,13 +267,18 @@ $(TEST_GEN_OBJ): $(OUTPUT)/%.o: %.c > $(SPLIT_TESTS_TARGETS): %: %.o $(SPLIT_TESTS_OBJS) > $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH) $^ $(LDLIBS) -o $@ > > -EXTRA_CLEAN += $(LIBKVM_OBJS) $(TEST_DEP_FILES) $(TEST_GEN_OBJ) $(SPLIT_TESTS_OBJS) cscope.* > +EXTRA_CLEAN += $(GEN_HDRS) \ > + $(LIBKVM_OBJS) \ > + $(SPLIT_TESTS_OBJS) \ > + $(TEST_DEP_FILES) \ > + $(TEST_GEN_OBJ) \ > + cscope.* > > x := $(shell mkdir -p $(sort $(dir $(LIBKVM_C_OBJ) $(LIBKVM_S_OBJ)))) > -$(LIBKVM_C_OBJ): $(OUTPUT)/%.o: %.c > +$(LIBKVM_C_OBJ): $(OUTPUT)/%.o: %.c prepare > $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@ > > -$(LIBKVM_S_OBJ): $(OUTPUT)/%.o: %.S > +$(LIBKVM_S_OBJ): $(OUTPUT)/%.o: %.S prepare > $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@ > > # Compile the string overrides as freestanding to prevent the compiler from > @@ -274,6 +290,7 @@ $(LIBKVM_STRING_OBJ): $(OUTPUT)/%.o: %.c > x := $(shell mkdir -p $(sort $(dir $(TEST_GEN_PROGS)))) > $(TEST_GEN_PROGS): $(LIBKVM_OBJS) > $(TEST_GEN_PROGS_EXTENDED): $(LIBKVM_OBJS) > +$(TEST_GEN_OBJ): prepare > > cscope: include_paths = $(LINUX_TOOL_INCLUDE) $(LINUX_HDR_PATH) include lib .. > cscope: