Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Huth <huth@tuxfamily.org>
To: "Alex Bennée" <alex.bennee@linaro.org>
Cc: buildroot@buildroot.org, Cyril Bur <cyrilbur@gmail.com>
Subject: Re: [Buildroot] [RFC PATCH v2 3/7] package/kvm-unit-tests: update dependencies
Date: Sun, 20 Jul 2025 19:14:13 +0200	[thread overview]
Message-ID: <20250720191413.47715a92@tpx1> (raw)
In-Reply-To: <8734ax24lx.fsf@draig.linaro.org>

Am Tue, 15 Jul 2025 10:19:38 +0100
schrieb Alex Bennée <alex.bennee@linaro.org>:

> Thomas Huth <huth@tuxfamily.org> writes:
> 
> > Am Fri, 11 Jul 2025 17:44:01 +0100
> > schrieb Alex Bennée <alex.bennee@linaro.org>:
> >  
> >> To run the tests we need a system QEMU, timeout, getconf and nmap-ncat
> >> so update the select/depends for them. As we need at least GCC 8 we
> >> can drop the specific requirement for old x86-64 tests.
> >> 
> >> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> >> 
> >> ---
> >> v2
> >>   - remove old gcc notes as we need at least 8 anyway
> >>   - select QEMU and other runtime deps
> >>   - mention the runtime deps
> >>   - add support for getconf from external toolchain
> >>   - update comment fallback
> >> ---
> >>  package/kvm-unit-tests/Config.in | 24 +++++++++++++++++-------
> >>  1 file changed, 17 insertions(+), 7 deletions(-)
> >> 
> >> diff --git a/package/kvm-unit-tests/Config.in b/package/kvm-unit-tests/Config.in
> >> index 87b075c4b9..775b250d5f 100644
> >> --- a/package/kvm-unit-tests/Config.in
> >> +++ b/package/kvm-unit-tests/Config.in
> >> @@ -14,12 +14,19 @@ config BR2_PACKAGE_KVM_UNIT_TESTS_ARCH_SUPPORTS
> >>  
> >>  config BR2_PACKAGE_KVM_UNIT_TESTS
> >>  	bool "kvm-unit-tests"
> >> -	depends on BR2_PACKAGE_KVM_UNIT_TESTS_ARCH_SUPPORTS
> >> -	# on i386 and x86-64, __builtin_reachable is used, so we need
> >> -	# gcc 4.5 at least. on i386, we use the target gcc, while on
> >> -	# x86-64 we use the host gcc (see .mk file for details)
> >> -	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 || !BR2_i386
> >>  	depends on BR2_HOSTARCH = "x86_64" || !BR2_x86_64
> >> +	depends on BR2_PACKAGE_KVM_UNIT_TESTS_ARCH_SUPPORTS
> >> +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # qemu
> >> +	depends on BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET
> >> +	depends on (BR2_PACKAGE_GLIBC_UTILS || \
> >> +		    BR2_UCLIBC_INSTALL_UTILS || \
> >> +		    BR2_TOOLCHAIN_EXTERNAL_LIBC_UTILS_COPY) # runtime getconf
> >> +	select BR2_PACKAGE_QEMU
> >> +	select BR2_PACKAGE_QEMU_SYSTEM # runtime for qemu-system-$ARCH  
> >
> > AFAIK kvm-unit-tests can be used with kvmtool instead of QEMU, too ... so
> > hard-coding QEMU high might not be the best solution for the user?  
> 
> The current build doesn't support kvmtool but maybe something like this
> as a follow-on patch:
> 
> --8<---------------cut here---------------start------------->8---
> modified   package/kvm-unit-tests/Config.in
> @@ -21,8 +21,8 @@ config BR2_PACKAGE_KVM_UNIT_TESTS
>  	depends on (BR2_PACKAGE_GLIBC_UTILS || \
>  		    BR2_UCLIBC_INSTALL_UTILS || \
>  		    BR2_TOOLCHAIN_EXTERNAL_LIBC_UTILS_COPY) # runtime getconf
> -	select BR2_PACKAGE_QEMU
> -	select BR2_PACKAGE_QEMU_SYSTEM # runtime for qemu-system-$ARCH
> +	select BR2_PACKAGE_QEMU if !BR2_PACKAGE_KVMTOOL
> +	select BR2_PACKAGE_QEMU_SYSTEM if !BR2_PACKAGE_KVMTOOL # runtime for qemu-system-$ARCH
>  	select BR2_PACKAGE_COREUTILS # runtime for timeout
>  	select BR2_PACKAGE_BASH # runtime
>  	select BR2_PACKAGE_NMAP
> modified   package/kvm-unit-tests/kvm-unit-tests.mk
> @@ -36,6 +36,13 @@ KVM_UNIT_TESTS_CONF_OPTS =\
>  	--processor="$(GCC_TARGET_CPU)" \
>  	--endian="$(KVM_UNIT_TESTS_ENDIAN)"
>  
> +# The default runner is QEMU but kvmtool can be used
> +ifeq ($(BR2_PACKAGE_QEMU_SYSTEM),y)
> +KVM_UNIT_TESTS_CONF_OPTS += --target=qemu
> +else ifeq ($(BR2_PACKAGE_KVMTOOL),y)
> +KVM_UNIT_TESTS_CONF_OPTS += --target=kvmtool
> +endif
> +
>  ifeq ($(BR2_ARM64_PAGE_SIZE_4K),y)
>  KVM_UNIT_TESTS_CONF_OPTS += --page-size=4k
>  else ifeq ($(BR2_ARM64_PAGE_SIZE_16K),y)
> --8<---------------cut here---------------end--------------->8---
> 
> What do you think?

Looks good! ... though kvmtool can only be used for aarch64/arm or riscv
as far as I know. Not sure whether that additional dependency should be
reflected here, too, though.

 Thomas
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  reply	other threads:[~2025-07-20 17:14 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-11 16:43 [Buildroot] [RFC PATCH v2 0/7] kvm-unit-tests: update deps and fine tune qemu Alex Bennée
2025-07-11 16:43 ` [Buildroot] [RFC PATCH v2 1/7] toolchain/external: allow installing of libc utils Alex Bennée
2025-07-11 16:44 ` [Buildroot] [RFC PATCH v2 2/7] package/kvm-unit-tests: assume AArch64 supports KVM Alex Bennée
2025-07-12  6:32   ` Thomas Huth
2025-07-11 16:44 ` [Buildroot] [RFC PATCH v2 3/7] package/kvm-unit-tests: update dependencies Alex Bennée
2025-07-12  6:34   ` Thomas Huth
2025-07-15  9:19     ` Alex Bennée
2025-07-20 17:14       ` Thomas Huth [this message]
2025-07-21  8:29         ` Alex Bennée
2025-07-11 16:44 ` [Buildroot] [RFC PATCH v2 4/7] package/qemu: introduce kvm and tcg system options Alex Bennée
2025-07-11 16:44 ` [Buildroot] [RFC PATCH v2 5/7] package/kvm-unit-tests: bump to 2025-06-05 Alex Bennée
2025-07-12  6:29   ` Thomas Huth
2025-07-11 16:44 ` [Buildroot] [RFC PATCH v2 6/7] package/kvm-unit-tests: honour BR2_ARM64_PAGE_SIZE Alex Bennée
2025-07-12  6:35   ` Thomas Huth
2025-07-11 16:44 ` [Buildroot] [RFC PATCH v2 7/7] support/testing: add test for kvm-unit-tests Alex Bennée

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=20250720191413.47715a92@tpx1 \
    --to=huth@tuxfamily.org \
    --cc=alex.bennee@linaro.org \
    --cc=buildroot@buildroot.org \
    --cc=cyrilbur@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox