All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Jones <ajones@ventanamicro.com>
To: Haibo Xu <xiaobo55x@gmail.com>
Cc: Haibo Xu <haibo1.xu@intel.com>,
	maz@kernel.org, oliver.upton@linux.dev, seanjc@google.com,
	Paolo Bonzini <pbonzini@redhat.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Anup Patel <anup@brainfault.org>,
	Atish Patra <atishp@atishpatra.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>, Shuah Khan <shuah@kernel.org>,
	James Morse <james.morse@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Zenghui Yu <yuzenghui@huawei.com>,
	Ricardo Koller <ricarkol@google.com>,
	Vishal Annapurve <vannapurve@google.com>,
	Vipin Sharma <vipinsh@google.com>,
	David Matlack <dmatlack@google.com>,
	Colton Lewis <coltonlewis@google.com>,
	kvm@vger.kernel.org, linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org, kvm-riscv@lists.infradead.org,
	linux-riscv@lists.infradead.org, linux-kselftest@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev
Subject: Re: [PATCH v6 06/13] KVM: arm64: selftests: Split get-reg-list test code
Date: Tue, 25 Jul 2023 14:44:56 +0200	[thread overview]
Message-ID: <20230725-f5cf47c63abd8673d22b4936@orel> (raw)
In-Reply-To: <CAJve8okJ-HYpsOrqH4Zvn7OBtwXWa4JumC+ZsMfHKB-deVYd2A@mail.gmail.com>

On Tue, Jul 25, 2023 at 04:50:36PM +0800, Haibo Xu wrote:
> On Tue, Jul 25, 2023 at 4:37 PM Haibo Xu <haibo1.xu@intel.com> wrote:
> >
> > From: Andrew Jones <ajones@ventanamicro.com>
> >
> > Split the arch-neutral test code out of aarch64/get-reg-list.c into
> > get-reg-list.c. To do this we invent a new make variable
> > $(SPLIT_TESTS) which expects common parts to be in the KVM selftests
> > root and the counterparts to have the same name, but be in
> > $(ARCH_DIR).
> >
> > There's still some work to be done to de-aarch64 the common
> > get-reg-list.c, but we leave that to the next patch to avoid
> > modifying too much code while moving it.
> >
> > Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
> > Signed-off-by: Haibo Xu <haibo1.xu@intel.com>
> > ---
> >  tools/testing/selftests/kvm/Makefile          |  12 +-
> >  .../selftests/kvm/aarch64/get-reg-list.c      | 367 +----------------
> >  tools/testing/selftests/kvm/get-reg-list.c    | 377 ++++++++++++++++++
> >  3 files changed, 398 insertions(+), 358 deletions(-)
> >  create mode 100644 tools/testing/selftests/kvm/get-reg-list.c
> >
> > diff --git a/tools/testing/selftests/kvm/Makefile b/tools/testing/selftests/kvm/Makefile
> > index c692cc86e7da..95f180e711d5 100644
> > --- a/tools/testing/selftests/kvm/Makefile
> > +++ b/tools/testing/selftests/kvm/Makefile
> > @@ -140,7 +140,6 @@ TEST_GEN_PROGS_EXTENDED_x86_64 += x86_64/nx_huge_pages_test
> >  TEST_GEN_PROGS_aarch64 += aarch64/aarch32_id_regs
> >  TEST_GEN_PROGS_aarch64 += aarch64/arch_timer
> >  TEST_GEN_PROGS_aarch64 += aarch64/debug-exceptions
> > -TEST_GEN_PROGS_aarch64 += aarch64/get-reg-list
> >  TEST_GEN_PROGS_aarch64 += aarch64/hypercalls
> >  TEST_GEN_PROGS_aarch64 += aarch64/page_fault_test
> >  TEST_GEN_PROGS_aarch64 += aarch64/psci_test
> > @@ -152,6 +151,7 @@ TEST_GEN_PROGS_aarch64 += access_tracking_perf_test
> >  TEST_GEN_PROGS_aarch64 += demand_paging_test
> >  TEST_GEN_PROGS_aarch64 += dirty_log_test
> >  TEST_GEN_PROGS_aarch64 += dirty_log_perf_test
> > +TEST_GEN_PROGS_aarch64 += get-reg-list
> >  TEST_GEN_PROGS_aarch64 += kvm_create_max_vcpus
> >  TEST_GEN_PROGS_aarch64 += kvm_page_table_test
> >  TEST_GEN_PROGS_aarch64 += memslot_modification_stress_test
> > @@ -181,6 +181,8 @@ TEST_GEN_PROGS_riscv += kvm_page_table_test
> >  TEST_GEN_PROGS_riscv += set_memory_region_test
> >  TEST_GEN_PROGS_riscv += kvm_binary_stats_test
> >
> > +SPLIT_TESTS += get-reg-list
> > +
> >  TEST_PROGS += $(TEST_PROGS_$(ARCH_DIR))
> >  TEST_GEN_PROGS += $(TEST_GEN_PROGS_$(ARCH_DIR))
> >  TEST_GEN_PROGS_EXTENDED += $(TEST_GEN_PROGS_EXTENDED_$(ARCH_DIR))
> > @@ -228,11 +230,14 @@ LIBKVM_C_OBJ := $(patsubst %.c, $(OUTPUT)/%.o, $(LIBKVM_C))
> >  LIBKVM_S_OBJ := $(patsubst %.S, $(OUTPUT)/%.o, $(LIBKVM_S))
> >  LIBKVM_STRING_OBJ := $(patsubst %.c, $(OUTPUT)/%.o, $(LIBKVM_STRING))
> >  LIBKVM_OBJS = $(LIBKVM_C_OBJ) $(LIBKVM_S_OBJ) $(LIBKVM_STRING_OBJ)
> > +SPLIT_TESTS_TARGETS := $(patsubst %, $(OUTPUT)/%, $(SPLIT_TESTS))
> > +SPLIT_TESTS_OBJS := $(patsubst %, $(ARCH_DIR)/%.o, $(SPLIT_TESTS))
> >
> >  TEST_GEN_OBJ = $(patsubst %, %.o, $(TEST_GEN_PROGS))
> >  TEST_GEN_OBJ += $(patsubst %, %.o, $(TEST_GEN_PROGS_EXTENDED))
> >  TEST_DEP_FILES = $(patsubst %.o, %.d, $(TEST_GEN_OBJ))
> >  TEST_DEP_FILES += $(patsubst %.o, %.d, $(LIBKVM_OBJS))
> > +TEST_DEP_FILES += $(patsubst %.o, %.d, $(SPLIT_TESTS_OBJS))
> >  -include $(TEST_DEP_FILES)
> >
> >  $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED): %: %.o
> > @@ -240,7 +245,10 @@ $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED): %: %.o
> >  $(TEST_GEN_OBJ): $(OUTPUT)/%.o: %.c
> >         $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
> >
> > -EXTRA_CLEAN += $(LIBKVM_OBJS) $(TEST_DEP_FILES) $(TEST_GEN_OBJ) cscope.*
> > +$(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.*
> >
> >  x := $(shell mkdir -p $(sort $(dir $(LIBKVM_C_OBJ) $(LIBKVM_S_OBJ))))
> >  $(LIBKVM_C_OBJ): $(OUTPUT)/%.o: %.c
> 
> Hi @Andrew Jones,
> 
> After rebasing to v6.5-rc3, some changes are needed to the SPLIT_TESTS
> target, or the make would fail.
> Please help have a look.
>

I took a look and then remembered why I hate looking at Makefiles... I
guess it's fine, but it's a pity we need to repeat the $(CC) line.

Thanks,
drew

WARNING: multiple messages have this Message-ID (diff)
From: Andrew Jones <ajones@ventanamicro.com>
To: Haibo Xu <xiaobo55x@gmail.com>
Cc: Haibo Xu <haibo1.xu@intel.com>,
	maz@kernel.org, oliver.upton@linux.dev,  seanjc@google.com,
	Paolo Bonzini <pbonzini@redhat.com>,
	 Jonathan Corbet <corbet@lwn.net>,
	Anup Patel <anup@brainfault.org>,
	 Atish Patra <atishp@atishpatra.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	 Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>, Shuah Khan <shuah@kernel.org>,
	 James Morse <james.morse@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	 Zenghui Yu <yuzenghui@huawei.com>,
	Ricardo Koller <ricarkol@google.com>,
	 Vishal Annapurve <vannapurve@google.com>,
	Vipin Sharma <vipinsh@google.com>,
	 David Matlack <dmatlack@google.com>,
	Colton Lewis <coltonlewis@google.com>,
	kvm@vger.kernel.org,  linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org, kvm-riscv@lists.infradead.org,
	 linux-riscv@lists.infradead.org,
	linux-kselftest@vger.kernel.org,
	 linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev
Subject: Re: [PATCH v6 06/13] KVM: arm64: selftests: Split get-reg-list test code
Date: Tue, 25 Jul 2023 14:44:56 +0200	[thread overview]
Message-ID: <20230725-f5cf47c63abd8673d22b4936@orel> (raw)
In-Reply-To: <CAJve8okJ-HYpsOrqH4Zvn7OBtwXWa4JumC+ZsMfHKB-deVYd2A@mail.gmail.com>

On Tue, Jul 25, 2023 at 04:50:36PM +0800, Haibo Xu wrote:
> On Tue, Jul 25, 2023 at 4:37 PM Haibo Xu <haibo1.xu@intel.com> wrote:
> >
> > From: Andrew Jones <ajones@ventanamicro.com>
> >
> > Split the arch-neutral test code out of aarch64/get-reg-list.c into
> > get-reg-list.c. To do this we invent a new make variable
> > $(SPLIT_TESTS) which expects common parts to be in the KVM selftests
> > root and the counterparts to have the same name, but be in
> > $(ARCH_DIR).
> >
> > There's still some work to be done to de-aarch64 the common
> > get-reg-list.c, but we leave that to the next patch to avoid
> > modifying too much code while moving it.
> >
> > Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
> > Signed-off-by: Haibo Xu <haibo1.xu@intel.com>
> > ---
> >  tools/testing/selftests/kvm/Makefile          |  12 +-
> >  .../selftests/kvm/aarch64/get-reg-list.c      | 367 +----------------
> >  tools/testing/selftests/kvm/get-reg-list.c    | 377 ++++++++++++++++++
> >  3 files changed, 398 insertions(+), 358 deletions(-)
> >  create mode 100644 tools/testing/selftests/kvm/get-reg-list.c
> >
> > diff --git a/tools/testing/selftests/kvm/Makefile b/tools/testing/selftests/kvm/Makefile
> > index c692cc86e7da..95f180e711d5 100644
> > --- a/tools/testing/selftests/kvm/Makefile
> > +++ b/tools/testing/selftests/kvm/Makefile
> > @@ -140,7 +140,6 @@ TEST_GEN_PROGS_EXTENDED_x86_64 += x86_64/nx_huge_pages_test
> >  TEST_GEN_PROGS_aarch64 += aarch64/aarch32_id_regs
> >  TEST_GEN_PROGS_aarch64 += aarch64/arch_timer
> >  TEST_GEN_PROGS_aarch64 += aarch64/debug-exceptions
> > -TEST_GEN_PROGS_aarch64 += aarch64/get-reg-list
> >  TEST_GEN_PROGS_aarch64 += aarch64/hypercalls
> >  TEST_GEN_PROGS_aarch64 += aarch64/page_fault_test
> >  TEST_GEN_PROGS_aarch64 += aarch64/psci_test
> > @@ -152,6 +151,7 @@ TEST_GEN_PROGS_aarch64 += access_tracking_perf_test
> >  TEST_GEN_PROGS_aarch64 += demand_paging_test
> >  TEST_GEN_PROGS_aarch64 += dirty_log_test
> >  TEST_GEN_PROGS_aarch64 += dirty_log_perf_test
> > +TEST_GEN_PROGS_aarch64 += get-reg-list
> >  TEST_GEN_PROGS_aarch64 += kvm_create_max_vcpus
> >  TEST_GEN_PROGS_aarch64 += kvm_page_table_test
> >  TEST_GEN_PROGS_aarch64 += memslot_modification_stress_test
> > @@ -181,6 +181,8 @@ TEST_GEN_PROGS_riscv += kvm_page_table_test
> >  TEST_GEN_PROGS_riscv += set_memory_region_test
> >  TEST_GEN_PROGS_riscv += kvm_binary_stats_test
> >
> > +SPLIT_TESTS += get-reg-list
> > +
> >  TEST_PROGS += $(TEST_PROGS_$(ARCH_DIR))
> >  TEST_GEN_PROGS += $(TEST_GEN_PROGS_$(ARCH_DIR))
> >  TEST_GEN_PROGS_EXTENDED += $(TEST_GEN_PROGS_EXTENDED_$(ARCH_DIR))
> > @@ -228,11 +230,14 @@ LIBKVM_C_OBJ := $(patsubst %.c, $(OUTPUT)/%.o, $(LIBKVM_C))
> >  LIBKVM_S_OBJ := $(patsubst %.S, $(OUTPUT)/%.o, $(LIBKVM_S))
> >  LIBKVM_STRING_OBJ := $(patsubst %.c, $(OUTPUT)/%.o, $(LIBKVM_STRING))
> >  LIBKVM_OBJS = $(LIBKVM_C_OBJ) $(LIBKVM_S_OBJ) $(LIBKVM_STRING_OBJ)
> > +SPLIT_TESTS_TARGETS := $(patsubst %, $(OUTPUT)/%, $(SPLIT_TESTS))
> > +SPLIT_TESTS_OBJS := $(patsubst %, $(ARCH_DIR)/%.o, $(SPLIT_TESTS))
> >
> >  TEST_GEN_OBJ = $(patsubst %, %.o, $(TEST_GEN_PROGS))
> >  TEST_GEN_OBJ += $(patsubst %, %.o, $(TEST_GEN_PROGS_EXTENDED))
> >  TEST_DEP_FILES = $(patsubst %.o, %.d, $(TEST_GEN_OBJ))
> >  TEST_DEP_FILES += $(patsubst %.o, %.d, $(LIBKVM_OBJS))
> > +TEST_DEP_FILES += $(patsubst %.o, %.d, $(SPLIT_TESTS_OBJS))
> >  -include $(TEST_DEP_FILES)
> >
> >  $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED): %: %.o
> > @@ -240,7 +245,10 @@ $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED): %: %.o
> >  $(TEST_GEN_OBJ): $(OUTPUT)/%.o: %.c
> >         $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
> >
> > -EXTRA_CLEAN += $(LIBKVM_OBJS) $(TEST_DEP_FILES) $(TEST_GEN_OBJ) cscope.*
> > +$(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.*
> >
> >  x := $(shell mkdir -p $(sort $(dir $(LIBKVM_C_OBJ) $(LIBKVM_S_OBJ))))
> >  $(LIBKVM_C_OBJ): $(OUTPUT)/%.o: %.c
> 
> Hi @Andrew Jones,
> 
> After rebasing to v6.5-rc3, some changes are needed to the SPLIT_TESTS
> target, or the make would fail.
> Please help have a look.
>

I took a look and then remembered why I hate looking at Makefiles... I
guess it's fine, but it's a pity we need to repeat the $(CC) line.

Thanks,
drew

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

  reply	other threads:[~2023-07-25 12:45 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-25  8:41 [PATCH v6 00/13] RISCV: Add KVM_GET_REG_LIST API Haibo Xu
2023-07-25  8:41 ` Haibo Xu
2023-07-25  8:41 ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 01/13] KVM: arm64: selftests: Replace str_with_index with strdup_printf Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 02/13] KVM: arm64: selftests: Drop SVE cap check in print_reg Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 03/13] KVM: arm64: selftests: Remove print_reg's dependency on vcpu_config Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 04/13] KVM: arm64: selftests: Rename vcpu_config and add to kvm_util.h Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 05/13] KVM: arm64: selftests: Delete core_reg_fixup Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 06/13] KVM: arm64: selftests: Split get-reg-list test code Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:50   ` Haibo Xu
2023-07-25  8:50     ` Haibo Xu
2023-07-25 12:44     ` Andrew Jones [this message]
2023-07-25 12:44       ` Andrew Jones
2023-07-26  1:17       ` Haibo Xu
2023-07-26  1:17         ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 07/13] KVM: arm64: selftests: Finish generalizing get-reg-list Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 08/13] KVM: arm64: selftests: Move reject_set check logic to a function Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 09/13] KVM: arm64: selftests: Move finalize_vcpu back to run_test Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 10/13] KVM: selftests: Only do get/set tests on present blessed list Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 11/13] KVM: selftests: Add skip_set facility to get_reg_list test Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 12/13] KVM: riscv: Add KVM_GET_REG_LIST API support Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41 ` [PATCH v6 13/13] KVM: riscv: selftests: Add get-reg-list test Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-07-25  8:41   ` Haibo Xu
2023-08-07  3:48 ` [PATCH v6 00/13] RISCV: Add KVM_GET_REG_LIST API Anup Patel
2023-08-07  3:48   ` Anup Patel
2023-08-07  3:48   ` Anup Patel
2023-08-08 11:12   ` Marc Zyngier
2023-08-08 11:12     ` Marc Zyngier
2023-08-08 11:12     ` Marc Zyngier
2023-08-09  3:26     ` Haibo Xu
2023-08-09  3:26       ` Haibo Xu
2023-08-09  3:26       ` Haibo Xu
2023-08-09  3:48       ` Anup Patel
2023-08-09  3:48         ` Anup Patel
2023-08-09  3:48         ` Anup Patel
2023-08-09  5:02         ` Haibo Xu
2023-08-09  5:02           ` Haibo Xu
2023-08-09  5:02           ` Haibo Xu
2023-08-09 12:21     ` Anup Patel
2023-08-09 12:21       ` Anup Patel
2023-08-09 12:21       ` Anup Patel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230725-f5cf47c63abd8673d22b4936@orel \
    --to=ajones@ventanamicro.com \
    --cc=anup@brainfault.org \
    --cc=aou@eecs.berkeley.edu \
    --cc=atishp@atishpatra.org \
    --cc=coltonlewis@google.com \
    --cc=corbet@lwn.net \
    --cc=dmatlack@google.com \
    --cc=haibo1.xu@intel.com \
    --cc=james.morse@arm.com \
    --cc=kvm-riscv@lists.infradead.org \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.linux.dev \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=maz@kernel.org \
    --cc=oliver.upton@linux.dev \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=pbonzini@redhat.com \
    --cc=ricarkol@google.com \
    --cc=seanjc@google.com \
    --cc=shuah@kernel.org \
    --cc=suzuki.poulose@arm.com \
    --cc=vannapurve@google.com \
    --cc=vipinsh@google.com \
    --cc=xiaobo55x@gmail.com \
    --cc=yuzenghui@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.