Re: [PATCH 3/5] selftests/thermal: allow cross builds of the Intel tests
From: Rafael J. Wysocki (Intel)
Date: Mon Oct 26 2026 - 15:08:06 EST
On Wed, Oct 14, 2026 at 10:01 PM Sasha Levin <sashal@xxxxxxxxxx> wrote:
>
> The power_floor and workload_hint Makefiles build nothing when
> CROSS_COMPILE is set, even for an x86 target, and they include lib.mk
> only on x86. Other architectures therefore have no install or
> emit_tests rules for these suites, and their installation fails with a
> missing target.
>
> Select the x86 tests from the target ARCH when it is given and from the
> host's SUBARCH otherwise, and include lib.mk unconditionally so that the
> suites install and emit an empty runlist on other architectures. Use a
> private ARCH_PROCESSED instead of the ARCH override added by
> commit 5a1292137e89 ("selftests: fix ARCH normalization to handle
> command-line argument"): the override changed the value lib.mk uses to
> pick the clang target, whereas leaving ARCH unset lets lib.mk use the
> compiler's native triple. A command-line ARCH such as x86_64 is still
> normalized for the selection, while an ARCH spelling that lib.mk does
> not know, such as i686 with LLVM=1, is rejected as in other selftests.
>
> Fixes: 27801542b2b8 ("selftests/thermel/intel: Add test to read workload hint")
> Fixes: d4d27e5a1a88 ("selftests/thermel/intel: Add test to read power floor status")
> Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
> ---
> .../selftests/thermal/intel/power_floor/Makefile | 12 +++++-------
> .../selftests/thermal/intel/workload_hint/Makefile | 12 +++++-------
> 2 files changed, 10 insertions(+), 14 deletions(-)
>
> diff --git a/tools/testing/selftests/thermal/intel/power_floor/Makefile b/tools/testing/selftests/thermal/intel/power_floor/Makefile
> index 07463c2160e09..16d26eab55652 100644
> --- a/tools/testing/selftests/thermal/intel/power_floor/Makefile
> +++ b/tools/testing/selftests/thermal/intel/power_floor/Makefile
> @@ -1,12 +1,10 @@
> # SPDX-License-Identifier: GPL-2.0
> -ifndef CROSS_COMPILE
> -ARCH ?= $(shell uname -m 2>/dev/null || echo not)
> -override ARCH := $(shell echo $(ARCH) | sed -e s/i.86/x86/ -e s/x86_64/x86/)
> +top_srcdir = ../../../../../..
> +include $(top_srcdir)/scripts/subarch.include
> +ARCH_PROCESSED := $(shell echo $(or $(ARCH),$(SUBARCH)) | sed -e s/i.86/x86/ -e s/x86_64/x86/)
>
> -ifeq ($(ARCH),x86)
> +ifeq ($(ARCH_PROCESSED),x86)
> TEST_GEN_PROGS := power_floor_test
> +endif
>
> include ../../../lib.mk
> -
> -endif
> -endif
> diff --git a/tools/testing/selftests/thermal/intel/workload_hint/Makefile b/tools/testing/selftests/thermal/intel/workload_hint/Makefile
> index 49e3bc2b20f9d..e53d6ecd9f8de 100644
> --- a/tools/testing/selftests/thermal/intel/workload_hint/Makefile
> +++ b/tools/testing/selftests/thermal/intel/workload_hint/Makefile
> @@ -1,12 +1,10 @@
> # SPDX-License-Identifier: GPL-2.0
> -ifndef CROSS_COMPILE
> -ARCH ?= $(shell uname -m 2>/dev/null || echo not)
> -override ARCH := $(shell echo $(ARCH) | sed -e s/i.86/x86/ -e s/x86_64/x86/)
> +top_srcdir = ../../../../../..
> +include $(top_srcdir)/scripts/subarch.include
> +ARCH_PROCESSED := $(shell echo $(or $(ARCH),$(SUBARCH)) | sed -e s/i.86/x86/ -e s/x86_64/x86/)
>
> -ifeq ($(ARCH),x86)
> +ifeq ($(ARCH_PROCESSED),x86)
> TEST_GEN_PROGS := workload_hint_test
> +endif
>
> include ../../../lib.mk
> -
> -endif
> -endif
> --
Applied as 7.4-rc material, thanks!