From: "Alex Bennée" <alex.bennee@linaro.org>
To: Thomas Huth <huth@tuxfamily.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: Tue, 15 Jul 2025 10:19:38 +0100 [thread overview]
Message-ID: <8734ax24lx.fsf@draig.linaro.org> (raw)
In-Reply-To: <20250712083447.109f690b@tpx1> (Thomas Huth's message of "Sat, 12 Jul 2025 08:34:47 +0200")
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?
>
> Thomas
--
Alex Bennée
Virtualisation Tech Lead @ Linaro
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2025-07-15 9:19 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 [this message]
2025-07-20 17:14 ` Thomas Huth
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=8734ax24lx.fsf@draig.linaro.org \
--to=alex.bennee@linaro.org \
--cc=buildroot@buildroot.org \
--cc=cyrilbur@gmail.com \
--cc=huth@tuxfamily.org \
/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