On Tue, Apr 23, 2024 at 3:16 PM Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> Some boards, notably ARM boards that use TCG, are already using
> "default y". This was done to remove TCG-only boards from
> a KVM-only build in commit 29d9efca16 (2023-04-26).
>
> This series converts all other boards to that, so that the requirements
> of each board are clearer in the Kconfig files.
>
> For now, the only such use is MIPS's 64-bit and endianness requirements.
> In the future, it will be possible to enable/disable boards based
> on the presence of required libraries, for example libfdt, or
> their deprecation status.
>
> There is an important difference in that Kconfig symbols for boards
> have to be enabled in a --without-default-devices build, similar to
> devices.
Running CI shows that some targets now pass build-without-defaults and
some don't.
I'm going to squash in changes to each individual patch, resulting in
the following diff:
diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index 6394b8f41e4..e9402a68a79 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -648,6 +648,9 @@ build-tci:
- make check-tcg
# Check our reduced build configurations
+# requires libfdt: aarch64, arm, i386, loongarch64, microblaze, microblazeel,
+# mips64el, or1k, ppc, ppc64, riscv32, riscv64, rx, x86_64
+# does not build without boards: i386, loongarch64, s390x, sh4, sh4eb, x86_64
build-without-defaults:
extends: .native_build_job_template
needs:
@@ -661,8 +664,10 @@ build-without-defaults:
--disable-pie
--disable-qom-cast-debug
--disable-strip
- TARGETS: avr-softmmu s390x-softmmu sh4-softmmu
- sparc64-softmmu hexagon-linux-user i386-linux-user s390x-linux-user
+ TARGETS: alpha-softmmu avr-softmmu cris-softmmu hppa-softmmu m68k-softmmu
+ mips-softmmu mips64-softmmu mipsel-softmmu sparc-softmmu
+ sparc64-softmmu tricore-softmmu xtensa-softmmu xtensaeb-softmmu
+ hexagon-linux-user i386-linux-user s390x-linux-user
MAKE_CHECK_ARGS: check
build-libvhost-user:
Let me know if you'd prefer me to post a v2.
Paolo