public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/2] KVM: selftests: Use $(SRCARCH) and share definition with top-level Makefile
@ 2025-07-24 21:31 David Matlack
  2025-07-24 21:31 ` [PATCH v2 1/2] Revert "KVM: selftests: Override ARCH for x86_64 instead of using ARCH_DIR" David Matlack
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: David Matlack @ 2025-07-24 21:31 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Albert Ou, Alexandre Ghiti, kvm, linux-riscv,
	Muhammad Usama Anjum, Palmer Dabbelt, Paul Walmsley,
	Sean Christopherson, David Matlack

This series switches the KVM selftests Makefile to use $(SRCARCH)
instead of $(ARCH) to fix a build issue when ARCH=x86_64 is specified on
the command line.

v1: https://lore.kernel.org/kvm/20250430224720.1882145-1-dmatlack@google.com/
 - Split out the revert of commit 9af04539d474 ("KVM: selftests:
   Override ARCH for x86_64 instead of using ARCH_DIR") from the rename
   to SRCARCH

David Matlack (2):
  Revert "KVM: selftests: Override ARCH for x86_64 instead of using
    ARCH_DIR"
  KVM: selftests: Rename $(ARCH_DIR) to $(SRCARCH)

 tools/testing/selftests/kvm/Makefile     |  8 +++++---
 tools/testing/selftests/kvm/Makefile.kvm | 26 ++++++++++++------------
 2 files changed, 18 insertions(+), 16 deletions(-)


base-commit: 79150772457f4d45e38b842d786240c36bb1f97f
-- 
2.50.1.470.g6ba607880d-goog


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v2 1/2] Revert "KVM: selftests: Override ARCH for x86_64 instead of using ARCH_DIR"
  2025-07-24 21:31 [PATCH v2 0/2] KVM: selftests: Use $(SRCARCH) and share definition with top-level Makefile David Matlack
@ 2025-07-24 21:31 ` David Matlack
  2025-07-24 21:31 ` [PATCH v2 2/2] KVM: selftests: Rename $(ARCH_DIR) to $(SRCARCH) David Matlack
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: David Matlack @ 2025-07-24 21:31 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Albert Ou, Alexandre Ghiti, kvm, linux-riscv,
	Muhammad Usama Anjum, Palmer Dabbelt, Paul Walmsley,
	Sean Christopherson, David Matlack

This reverts commit 9af04539d474dda4984ff4909d4568e6123c8cba.

If ARCH is set on the command line then Make will skip the variable
assignment to convert x86_64 to x86. i.e. Revert this commit because it
breaks builds where ARCH=x86_64 is specified on the command line.

Fixes: 9af04539d474 ("KVM: selftests: Override ARCH for x86_64 instead of using ARCH_DIR")
Signed-off-by: David Matlack <dmatlack@google.com>
---
 tools/testing/selftests/kvm/Makefile     |  4 +++-
 tools/testing/selftests/kvm/Makefile.kvm | 26 ++++++++++++------------
 2 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/tools/testing/selftests/kvm/Makefile b/tools/testing/selftests/kvm/Makefile
index d9fffe06d3ea..7aad782aeb1d 100644
--- a/tools/testing/selftests/kvm/Makefile
+++ b/tools/testing/selftests/kvm/Makefile
@@ -6,7 +6,9 @@ ARCH            ?= $(SUBARCH)
 ifeq ($(ARCH),$(filter $(ARCH),arm64 s390 riscv x86 x86_64 loongarch))
 # Top-level selftests allows ARCH=x86_64 :-(
 ifeq ($(ARCH),x86_64)
-	ARCH := x86
+	ARCH_DIR := x86
+else
+	ARCH_DIR := $(ARCH)
 endif
 include Makefile.kvm
 else
diff --git a/tools/testing/selftests/kvm/Makefile.kvm b/tools/testing/selftests/kvm/Makefile.kvm
index e11ed9e59ab5..d770c2f244da 100644
--- a/tools/testing/selftests/kvm/Makefile.kvm
+++ b/tools/testing/selftests/kvm/Makefile.kvm
@@ -215,10 +215,10 @@ TEST_GEN_PROGS_loongarch += set_memory_region_test
 SPLIT_TESTS += arch_timer
 SPLIT_TESTS += get-reg-list
 
-TEST_PROGS += $(TEST_PROGS_$(ARCH))
-TEST_GEN_PROGS += $(TEST_GEN_PROGS_$(ARCH))
-TEST_GEN_PROGS_EXTENDED += $(TEST_GEN_PROGS_EXTENDED_$(ARCH))
-LIBKVM += $(LIBKVM_$(ARCH))
+TEST_PROGS += $(TEST_PROGS_$(ARCH_DIR))
+TEST_GEN_PROGS += $(TEST_GEN_PROGS_$(ARCH_DIR))
+TEST_GEN_PROGS_EXTENDED += $(TEST_GEN_PROGS_EXTENDED_$(ARCH_DIR))
+LIBKVM += $(LIBKVM_$(ARCH_DIR))
 
 OVERRIDE_TARGETS = 1
 
@@ -231,24 +231,24 @@ include ../cgroup/lib/libcgroup.mk
 INSTALL_HDR_PATH = $(top_srcdir)/usr
 LINUX_HDR_PATH = $(INSTALL_HDR_PATH)/include/
 LINUX_TOOL_INCLUDE = $(top_srcdir)/tools/include
-LINUX_TOOL_ARCH_INCLUDE = $(top_srcdir)/tools/arch/$(ARCH)/include
+LINUX_TOOL_ARCH_INCLUDE = $(top_srcdir)/tools/arch/$(ARCH_DIR)/include
 CFLAGS += -Wall -Wstrict-prototypes -Wuninitialized -O2 -g -std=gnu99 \
 	-Wno-gnu-variable-sized-type-not-at-end -MD -MP -DCONFIG_64BIT \
 	-fno-builtin-memcmp -fno-builtin-memcpy \
 	-fno-builtin-memset -fno-builtin-strnlen \
 	-fno-stack-protector -fno-PIE -fno-strict-aliasing \
 	-I$(LINUX_TOOL_INCLUDE) -I$(LINUX_TOOL_ARCH_INCLUDE) \
-	-I$(LINUX_HDR_PATH) -Iinclude -I$(<D) -Iinclude/$(ARCH) \
+	-I$(LINUX_HDR_PATH) -Iinclude -I$(<D) -Iinclude/$(ARCH_DIR) \
 	-I ../rseq -I.. $(EXTRA_CFLAGS) $(KHDR_INCLUDES)
-ifeq ($(ARCH),s390)
+ifeq ($(ARCH_DIR),s390)
 	CFLAGS += -march=z10
 endif
-ifeq ($(ARCH),x86)
+ifeq ($(ARCH_DIR),x86)
 ifeq ($(shell echo "void foo(void) { }" | $(CC) -march=x86-64-v2 -x c - -c -o /dev/null 2>/dev/null; echo "$$?"),0)
 	CFLAGS += -march=x86-64-v2
 endif
 endif
-ifeq ($(ARCH),arm64)
+ifeq ($(ARCH_DIR),arm64)
 tools_dir := $(top_srcdir)/tools
 arm64_tools_dir := $(tools_dir)/arch/arm64/tools/
 
@@ -282,7 +282,7 @@ 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) $(LIBCGROUP_O)
 SPLIT_TEST_GEN_PROGS := $(patsubst %, $(OUTPUT)/%, $(SPLIT_TESTS))
-SPLIT_TEST_GEN_OBJ := $(patsubst %, $(OUTPUT)/$(ARCH)/%.o, $(SPLIT_TESTS))
+SPLIT_TEST_GEN_OBJ := $(patsubst %, $(OUTPUT)/$(ARCH_DIR)/%.o, $(SPLIT_TESTS))
 
 TEST_GEN_OBJ = $(patsubst %, %.o, $(TEST_GEN_PROGS))
 TEST_GEN_OBJ += $(patsubst %, %.o, $(TEST_GEN_PROGS_EXTENDED))
@@ -291,7 +291,7 @@ TEST_DEP_FILES += $(patsubst %.o, %.d, $(LIBKVM_OBJS))
 TEST_DEP_FILES += $(patsubst %.o, %.d, $(SPLIT_TEST_GEN_OBJ))
 -include $(TEST_DEP_FILES)
 
-$(shell mkdir -p $(sort $(OUTPUT)/$(ARCH) $(dir $(LIBKVM_C_OBJ) $(LIBKVM_S_OBJ))))
+$(shell mkdir -p $(sort $(OUTPUT)/$(ARCH_DIR) $(dir $(LIBKVM_C_OBJ) $(LIBKVM_S_OBJ))))
 
 $(filter-out $(SPLIT_TEST_GEN_PROGS), $(TEST_GEN_PROGS)) \
 $(TEST_GEN_PROGS_EXTENDED): %: %.o
@@ -299,9 +299,9 @@ $(TEST_GEN_PROGS_EXTENDED): %: %.o
 $(TEST_GEN_OBJ): $(OUTPUT)/%.o: %.c
 	$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
 
-$(SPLIT_TEST_GEN_PROGS): $(OUTPUT)/%: $(OUTPUT)/%.o $(OUTPUT)/$(ARCH)/%.o
+$(SPLIT_TEST_GEN_PROGS): $(OUTPUT)/%: $(OUTPUT)/%.o $(OUTPUT)/$(ARCH_DIR)/%.o
 	$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH) $^ $(LDLIBS) -o $@
-$(SPLIT_TEST_GEN_OBJ): $(OUTPUT)/$(ARCH)/%.o: $(ARCH)/%.c
+$(SPLIT_TEST_GEN_OBJ): $(OUTPUT)/$(ARCH_DIR)/%.o: $(ARCH_DIR)/%.c
 	$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
 
 EXTRA_CLEAN += $(GEN_HDRS) \
-- 
2.50.1.470.g6ba607880d-goog


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 2/2] KVM: selftests: Rename $(ARCH_DIR) to $(SRCARCH)
  2025-07-24 21:31 [PATCH v2 0/2] KVM: selftests: Use $(SRCARCH) and share definition with top-level Makefile David Matlack
  2025-07-24 21:31 ` [PATCH v2 1/2] Revert "KVM: selftests: Override ARCH for x86_64 instead of using ARCH_DIR" David Matlack
@ 2025-07-24 21:31 ` David Matlack
  2025-07-24 21:32 ` [PATCH v2 0/2] KVM: selftests: Use $(SRCARCH) and share definition with top-level Makefile David Matlack
  2025-09-15 17:57 ` David Matlack
  3 siblings, 0 replies; 7+ messages in thread
From: David Matlack @ 2025-07-24 21:31 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Albert Ou, Alexandre Ghiti, kvm, linux-riscv,
	Muhammad Usama Anjum, Palmer Dabbelt, Paul Walmsley,
	Sean Christopherson, David Matlack

Rename $(ARCH_DIR) to $(SRCARCH) to match the top-level kernel Makefile
which uses $(SRCARCH) to represent the same thing that $(ARCH_DIR)
represents in the KVM selftests.

This change also paves the way for eventually sharing the code construct
$(SRCARCH) with the top-level kernel Makefile instead of KVM having its
own logic e.g. to convert x86_64 to x86.

While here, drop the comment about the top-level selftests allowing
ARCH=x86_64. The kernel itself allows/expects ARCH=x86_64 so it's
reasonable to expect the KVM selftests to handle it as well.

Signed-off-by: David Matlack <dmatlack@google.com>
---
 tools/testing/selftests/kvm/Makefile     | 10 ++++-----
 tools/testing/selftests/kvm/Makefile.kvm | 26 ++++++++++++------------
 2 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/tools/testing/selftests/kvm/Makefile b/tools/testing/selftests/kvm/Makefile
index 7aad782aeb1d..340657052fc3 100644
--- a/tools/testing/selftests/kvm/Makefile
+++ b/tools/testing/selftests/kvm/Makefile
@@ -1,15 +1,15 @@
 # SPDX-License-Identifier: GPL-2.0-only
 top_srcdir = ../../../..
+
 include $(top_srcdir)/scripts/subarch.include
 ARCH            ?= $(SUBARCH)
+SRCARCH := $(ARCH)
 
-ifeq ($(ARCH),$(filter $(ARCH),arm64 s390 riscv x86 x86_64 loongarch))
-# Top-level selftests allows ARCH=x86_64 :-(
 ifeq ($(ARCH),x86_64)
-	ARCH_DIR := x86
-else
-	ARCH_DIR := $(ARCH)
+        SRCARCH := x86
 endif
+
+ifeq ($(SRCARCH),$(filter $(SRCARCH),arm64 s390 riscv x86 loongarch))
 include Makefile.kvm
 else
 # Empty targets for unsupported architectures
diff --git a/tools/testing/selftests/kvm/Makefile.kvm b/tools/testing/selftests/kvm/Makefile.kvm
index d770c2f244da..d2729e678025 100644
--- a/tools/testing/selftests/kvm/Makefile.kvm
+++ b/tools/testing/selftests/kvm/Makefile.kvm
@@ -215,10 +215,10 @@ TEST_GEN_PROGS_loongarch += set_memory_region_test
 SPLIT_TESTS += arch_timer
 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))
-LIBKVM += $(LIBKVM_$(ARCH_DIR))
+TEST_PROGS += $(TEST_PROGS_$(SRCARCH))
+TEST_GEN_PROGS += $(TEST_GEN_PROGS_$(SRCARCH))
+TEST_GEN_PROGS_EXTENDED += $(TEST_GEN_PROGS_EXTENDED_$(SRCARCH))
+LIBKVM += $(LIBKVM_$(SRCARCH))
 
 OVERRIDE_TARGETS = 1
 
@@ -231,24 +231,24 @@ include ../cgroup/lib/libcgroup.mk
 INSTALL_HDR_PATH = $(top_srcdir)/usr
 LINUX_HDR_PATH = $(INSTALL_HDR_PATH)/include/
 LINUX_TOOL_INCLUDE = $(top_srcdir)/tools/include
-LINUX_TOOL_ARCH_INCLUDE = $(top_srcdir)/tools/arch/$(ARCH_DIR)/include
+LINUX_TOOL_ARCH_INCLUDE = $(top_srcdir)/tools/arch/$(SRCARCH)/include
 CFLAGS += -Wall -Wstrict-prototypes -Wuninitialized -O2 -g -std=gnu99 \
 	-Wno-gnu-variable-sized-type-not-at-end -MD -MP -DCONFIG_64BIT \
 	-fno-builtin-memcmp -fno-builtin-memcpy \
 	-fno-builtin-memset -fno-builtin-strnlen \
 	-fno-stack-protector -fno-PIE -fno-strict-aliasing \
 	-I$(LINUX_TOOL_INCLUDE) -I$(LINUX_TOOL_ARCH_INCLUDE) \
-	-I$(LINUX_HDR_PATH) -Iinclude -I$(<D) -Iinclude/$(ARCH_DIR) \
+	-I$(LINUX_HDR_PATH) -Iinclude -I$(<D) -Iinclude/$(SRCARCH) \
 	-I ../rseq -I.. $(EXTRA_CFLAGS) $(KHDR_INCLUDES)
-ifeq ($(ARCH_DIR),s390)
+ifeq ($(SRCARCH),s390)
 	CFLAGS += -march=z10
 endif
-ifeq ($(ARCH_DIR),x86)
+ifeq ($(SRCARCH),x86)
 ifeq ($(shell echo "void foo(void) { }" | $(CC) -march=x86-64-v2 -x c - -c -o /dev/null 2>/dev/null; echo "$$?"),0)
 	CFLAGS += -march=x86-64-v2
 endif
 endif
-ifeq ($(ARCH_DIR),arm64)
+ifeq ($(SRCARCH),arm64)
 tools_dir := $(top_srcdir)/tools
 arm64_tools_dir := $(tools_dir)/arch/arm64/tools/
 
@@ -282,7 +282,7 @@ 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) $(LIBCGROUP_O)
 SPLIT_TEST_GEN_PROGS := $(patsubst %, $(OUTPUT)/%, $(SPLIT_TESTS))
-SPLIT_TEST_GEN_OBJ := $(patsubst %, $(OUTPUT)/$(ARCH_DIR)/%.o, $(SPLIT_TESTS))
+SPLIT_TEST_GEN_OBJ := $(patsubst %, $(OUTPUT)/$(SRCARCH)/%.o, $(SPLIT_TESTS))
 
 TEST_GEN_OBJ = $(patsubst %, %.o, $(TEST_GEN_PROGS))
 TEST_GEN_OBJ += $(patsubst %, %.o, $(TEST_GEN_PROGS_EXTENDED))
@@ -291,7 +291,7 @@ TEST_DEP_FILES += $(patsubst %.o, %.d, $(LIBKVM_OBJS))
 TEST_DEP_FILES += $(patsubst %.o, %.d, $(SPLIT_TEST_GEN_OBJ))
 -include $(TEST_DEP_FILES)
 
-$(shell mkdir -p $(sort $(OUTPUT)/$(ARCH_DIR) $(dir $(LIBKVM_C_OBJ) $(LIBKVM_S_OBJ))))
+$(shell mkdir -p $(sort $(OUTPUT)/$(SRCARCH) $(dir $(LIBKVM_C_OBJ) $(LIBKVM_S_OBJ))))
 
 $(filter-out $(SPLIT_TEST_GEN_PROGS), $(TEST_GEN_PROGS)) \
 $(TEST_GEN_PROGS_EXTENDED): %: %.o
@@ -299,9 +299,9 @@ $(TEST_GEN_PROGS_EXTENDED): %: %.o
 $(TEST_GEN_OBJ): $(OUTPUT)/%.o: %.c
 	$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
 
-$(SPLIT_TEST_GEN_PROGS): $(OUTPUT)/%: $(OUTPUT)/%.o $(OUTPUT)/$(ARCH_DIR)/%.o
+$(SPLIT_TEST_GEN_PROGS): $(OUTPUT)/%: $(OUTPUT)/%.o $(OUTPUT)/$(SRCARCH)/%.o
 	$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(TARGET_ARCH) $^ $(LDLIBS) -o $@
-$(SPLIT_TEST_GEN_OBJ): $(OUTPUT)/$(ARCH_DIR)/%.o: $(ARCH_DIR)/%.c
+$(SPLIT_TEST_GEN_OBJ): $(OUTPUT)/$(SRCARCH)/%.o: $(SRCARCH)/%.c
 	$(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $< -o $@
 
 EXTRA_CLEAN += $(GEN_HDRS) \
-- 
2.50.1.470.g6ba607880d-goog


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 0/2] KVM: selftests: Use $(SRCARCH) and share definition with top-level Makefile
  2025-07-24 21:31 [PATCH v2 0/2] KVM: selftests: Use $(SRCARCH) and share definition with top-level Makefile David Matlack
  2025-07-24 21:31 ` [PATCH v2 1/2] Revert "KVM: selftests: Override ARCH for x86_64 instead of using ARCH_DIR" David Matlack
  2025-07-24 21:31 ` [PATCH v2 2/2] KVM: selftests: Rename $(ARCH_DIR) to $(SRCARCH) David Matlack
@ 2025-07-24 21:32 ` David Matlack
  2025-09-15 17:57 ` David Matlack
  3 siblings, 0 replies; 7+ messages in thread
From: David Matlack @ 2025-07-24 21:32 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Albert Ou, Alexandre Ghiti, kvm, linux-riscv,
	Muhammad Usama Anjum, Palmer Dabbelt, Paul Walmsley,
	Sean Christopherson

On Thu, Jul 24, 2025 at 2:31 PM David Matlack <dmatlack@google.com> wrote:
>
> This series switches the KVM selftests Makefile to use $(SRCARCH)
> instead of $(ARCH) to fix a build issue when ARCH=x86_64 is specified on
> the command line.

Please ignore the "and share definition with top-level Makefile" from
the title. I ended up dropping that patch from the series.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 0/2] KVM: selftests: Use $(SRCARCH) and share definition with top-level Makefile
  2025-07-24 21:31 [PATCH v2 0/2] KVM: selftests: Use $(SRCARCH) and share definition with top-level Makefile David Matlack
                   ` (2 preceding siblings ...)
  2025-07-24 21:32 ` [PATCH v2 0/2] KVM: selftests: Use $(SRCARCH) and share definition with top-level Makefile David Matlack
@ 2025-09-15 17:57 ` David Matlack
  2025-10-07 16:40   ` Sean Christopherson
  3 siblings, 1 reply; 7+ messages in thread
From: David Matlack @ 2025-09-15 17:57 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Albert Ou, Alexandre Ghiti, kvm, linux-riscv,
	Muhammad Usama Anjum, Palmer Dabbelt, Paul Walmsley,
	Sean Christopherson

On Thu, Jul 24, 2025 at 2:31 PM David Matlack <dmatlack@google.com> wrote:
>
> This series switches the KVM selftests Makefile to use $(SRCARCH)
> instead of $(ARCH) to fix a build issue when ARCH=x86_64 is specified on
> the command line.
>
> v1: https://lore.kernel.org/kvm/20250430224720.1882145-1-dmatlack@google.com/
>  - Split out the revert of commit 9af04539d474 ("KVM: selftests:
>    Override ARCH for x86_64 instead of using ARCH_DIR") from the rename
>    to SRCARCH
>
> David Matlack (2):
>   Revert "KVM: selftests: Override ARCH for x86_64 instead of using
>     ARCH_DIR"
>   KVM: selftests: Rename $(ARCH_DIR) to $(SRCARCH)

Gentle ping. Paolo and Sean do you think this could get merged
upstream at some point?

Google's kernel build tools unconditionally set ARCH=x86_64 when
building selftests, which causes the KVM selftests to fail to build.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 0/2] KVM: selftests: Use $(SRCARCH) and share definition with top-level Makefile
  2025-09-15 17:57 ` David Matlack
@ 2025-10-07 16:40   ` Sean Christopherson
  2025-10-07 16:50     ` David Matlack
  0 siblings, 1 reply; 7+ messages in thread
From: Sean Christopherson @ 2025-10-07 16:40 UTC (permalink / raw)
  To: David Matlack
  Cc: Paolo Bonzini, Albert Ou, Alexandre Ghiti, kvm, linux-riscv,
	Muhammad Usama Anjum, Palmer Dabbelt, Paul Walmsley

On Mon, Sep 15, 2025, David Matlack wrote:
> On Thu, Jul 24, 2025 at 2:31 PM David Matlack <dmatlack@google.com> wrote:
> >
> > This series switches the KVM selftests Makefile to use $(SRCARCH)
> > instead of $(ARCH) to fix a build issue when ARCH=x86_64 is specified on
> > the command line.
> >
> > v1: https://lore.kernel.org/kvm/20250430224720.1882145-1-dmatlack@google.com/
> >  - Split out the revert of commit 9af04539d474 ("KVM: selftests:
> >    Override ARCH for x86_64 instead of using ARCH_DIR") from the rename
> >    to SRCARCH
> >
> > David Matlack (2):
> >   Revert "KVM: selftests: Override ARCH for x86_64 instead of using
> >     ARCH_DIR"
> >   KVM: selftests: Rename $(ARCH_DIR) to $(SRCARCH)
> 
> Gentle ping. Paolo and Sean do you think this could get merged
> upstream at some point?
> 
> Google's kernel build tools unconditionally set ARCH=x86_64 when
> building selftests, which causes the KVM selftests to fail to build.

I'm pretty sure we can simply override the user.  Does this fix things on your
end?

diff --git a/tools/testing/selftests/kvm/Makefile b/tools/testing/selftests/kvm/Makefile
index d9fffe06d3ea..f2b223072b62 100644
--- a/tools/testing/selftests/kvm/Makefile
+++ b/tools/testing/selftests/kvm/Makefile
@@ -6,7 +6,7 @@ ARCH            ?= $(SUBARCH)
 ifeq ($(ARCH),$(filter $(ARCH),arm64 s390 riscv x86 x86_64 loongarch))
 # Top-level selftests allows ARCH=x86_64 :-(
 ifeq ($(ARCH),x86_64)
-       ARCH := x86
+       override ARCH := x86
 endif
 include Makefile.kvm
 else

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 0/2] KVM: selftests: Use $(SRCARCH) and share definition with top-level Makefile
  2025-10-07 16:40   ` Sean Christopherson
@ 2025-10-07 16:50     ` David Matlack
  0 siblings, 0 replies; 7+ messages in thread
From: David Matlack @ 2025-10-07 16:50 UTC (permalink / raw)
  To: Sean Christopherson
  Cc: Paolo Bonzini, Albert Ou, Alexandre Ghiti, kvm, linux-riscv,
	Muhammad Usama Anjum, Palmer Dabbelt, Paul Walmsley

On Tue, Oct 7, 2025 at 9:40 AM Sean Christopherson <seanjc@google.com> wrote:
> On Mon, Sep 15, 2025, David Matlack wrote:
> > Google's kernel build tools unconditionally set ARCH=x86_64 when
> > building selftests, which causes the KVM selftests to fail to build.
>
> I'm pretty sure we can simply override the user.  Does this fix things on your
> end?

Yes, that also works.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2025-10-07 16:50 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-24 21:31 [PATCH v2 0/2] KVM: selftests: Use $(SRCARCH) and share definition with top-level Makefile David Matlack
2025-07-24 21:31 ` [PATCH v2 1/2] Revert "KVM: selftests: Override ARCH for x86_64 instead of using ARCH_DIR" David Matlack
2025-07-24 21:31 ` [PATCH v2 2/2] KVM: selftests: Rename $(ARCH_DIR) to $(SRCARCH) David Matlack
2025-07-24 21:32 ` [PATCH v2 0/2] KVM: selftests: Use $(SRCARCH) and share definition with top-level Makefile David Matlack
2025-09-15 17:57 ` David Matlack
2025-10-07 16:40   ` Sean Christopherson
2025-10-07 16:50     ` David Matlack

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox