Message ID | 20220826172128.353798-16-alex.bennee@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | None | expand |
On 26/08/2022 19.21, Alex Bennée wrote: > It's becoming harder to maintain a cross-compiler to test this host > architecture as the old stable Debian 10 ("Buster") moved into LTS > which supports fewer architectures. For now: > > - mark it's deprecation in the docs > - downgrade the containers to build TCG tests only > - drop the cross builds from our CI > > Users with an appropriate toolchain and user-space can still take > their chances building it. > > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> > --- > docs/about/build-platforms.rst | 2 +- > docs/about/deprecated.rst | 13 ++++++ > .gitlab-ci.d/container-cross.yml | 1 - > .gitlab-ci.d/crossbuilds.yml | 14 ------- > tests/docker/Makefile.include | 5 +-- > .../dockerfiles/debian-mips-cross.docker | 40 +++++-------------- > 6 files changed, 27 insertions(+), 48 deletions(-) > > diff --git a/docs/about/build-platforms.rst b/docs/about/build-platforms.rst > index 26028756d0..1ca9144a7d 100644 > --- a/docs/about/build-platforms.rst > +++ b/docs/about/build-platforms.rst > @@ -41,7 +41,7 @@ Those hosts are officially supported, with various accelerators: > - Accelerators > * - Arm > - kvm (64 bit only), tcg, xen > - * - MIPS > + * - MIPS (LE only) I'd replace "LE" with "little endian" - not everybody might know that abbreviation. > - kvm, tcg > * - PPC > - kvm, tcg > diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst > index 91b03115ee..22c2f4f4de 100644 > --- a/docs/about/deprecated.rst > +++ b/docs/about/deprecated.rst > @@ -213,6 +213,19 @@ MIPS ``Trap-and-Emul`` KVM support (since 6.0) > The MIPS ``Trap-and-Emul`` KVM host and guest support has been removed > from Linux upstream kernel, declare it deprecated. > > +Host Architectures > +------------------ > + > +BE MIPS (since 7.2) > +''''''''''''''''''' > + > +A Debian 10 ("Buster") moved into LTS the big endian 32 bit version of s/A Debian/As Debian/ > +MIPS moved out of support making it hard to maintain our > +cross-compilation CI tests of the architecture. As we no longer have > +CI coverage support may bitrot away before the deprecation process > +completes. The little endian variants of MIPS (both 32 and 64 bit) are > +still a supported host architecture. > + > QEMU API (QAPI) events > ---------------------- ... > diff --git a/tests/docker/dockerfiles/debian-mips-cross.docker b/tests/docker/dockerfiles/debian-mips-cross.docker > index 26c154014d..75943619df 100644 > --- a/tests/docker/dockerfiles/debian-mips-cross.docker > +++ b/tests/docker/dockerfiles/debian-mips-cross.docker > @@ -1,32 +1,14 @@ > # > -# Docker mips cross-compiler target > +# Docker cross-compiler target Why did you remove the "mips" here? Thomas
Hi Alex, (+Aleksandar/Huacai) On 26/8/22 19:21, Alex Bennée wrote: > It's becoming harder to maintain a cross-compiler to test this host > architecture as the old stable Debian 10 ("Buster") moved into LTS > which supports fewer architectures. For now: > > - mark it's deprecation in the docs > - downgrade the containers to build TCG tests only > - drop the cross builds from our CI > > Users with an appropriate toolchain and user-space can still take > their chances building it. > > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> > --- > docs/about/build-platforms.rst | 2 +- > docs/about/deprecated.rst | 13 ++++++ > .gitlab-ci.d/container-cross.yml | 1 - > .gitlab-ci.d/crossbuilds.yml | 14 ------- > tests/docker/Makefile.include | 5 +-- > .../dockerfiles/debian-mips-cross.docker | 40 +++++-------------- > 6 files changed, 27 insertions(+), 48 deletions(-) > > diff --git a/docs/about/build-platforms.rst b/docs/about/build-platforms.rst > index 26028756d0..1ca9144a7d 100644 > --- a/docs/about/build-platforms.rst > +++ b/docs/about/build-platforms.rst > @@ -41,7 +41,7 @@ Those hosts are officially supported, with various accelerators: > - Accelerators > * - Arm > - kvm (64 bit only), tcg, xen > - * - MIPS > + * - MIPS (LE only) > - kvm, tcg > * - PPC > - kvm, tcg > diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst > index 91b03115ee..22c2f4f4de 100644 > --- a/docs/about/deprecated.rst > +++ b/docs/about/deprecated.rst > @@ -213,6 +213,19 @@ MIPS ``Trap-and-Emul`` KVM support (since 6.0) > The MIPS ``Trap-and-Emul`` KVM host and guest support has been removed > from Linux upstream kernel, declare it deprecated. > > +Host Architectures > +------------------ > + > +BE MIPS (since 7.2) > +''''''''''''''''''' > + > +A Debian 10 ("Buster") moved into LTS the big endian 32 bit version of > +MIPS moved out of support making it hard to maintain our > +cross-compilation CI tests of the architecture. As we no longer have > +CI coverage support may bitrot away before the deprecation process > +completes. The little endian variants of MIPS (both 32 and 64 bit) are > +still a supported host architecture. For completeness we should update meson.build to consider host_machine.endian() and adapt this section: if not supported_cpus.contains(cpu) message() warning('SUPPORT FOR THIS HOST CPU WILL GO AWAY IN FUTURE RELEASES!') message() message('CPU host architecture ' + cpu + ' support is not currently maintained.') ... This can be done later, and I might be able to do so in few weeks, so meanwhile (with Thomas comment addressed): Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Thomas Huth <thuth@redhat.com> writes: > On 26/08/2022 19.21, Alex Bennée wrote: <snip> >> - * - MIPS >> + * - MIPS (LE only) > > I'd replace "LE" with "little endian" - not everybody might know that > abbreviation. <snip> >> +''''''''''''''''''' >> + >> +A Debian 10 ("Buster") moved into LTS the big endian 32 bit version of > > s/A Debian/As Debian/ Fixed. >> +MIPS moved out of support making it hard to maintain our >> +cross-compilation CI tests of the architecture. As we no longer have >> +CI coverage support may bitrot away before the deprecation process >> +completes. The little endian variants of MIPS (both 32 and 64 bit) are >> +still a supported host architecture. >> + >> QEMU API (QAPI) events >> ---------------------- > ... >> diff --git a/tests/docker/dockerfiles/debian-mips-cross.docker >> b/tests/docker/dockerfiles/debian-mips-cross.docker >> index 26c154014d..75943619df 100644 >> --- a/tests/docker/dockerfiles/debian-mips-cross.docker >> +++ b/tests/docker/dockerfiles/debian-mips-cross.docker >> @@ -1,32 +1,14 @@ >> # >> -# Docker mips cross-compiler target >> +# Docker cross-compiler target > > Why did you remove the "mips" here? You may notice most of the flattened cross compiler docker images are basically the same save the last two lines. I ended up just copy pasting the preamble as I went along. I could restore if you like. > > Thomas
diff --git a/docs/about/build-platforms.rst b/docs/about/build-platforms.rst index 26028756d0..1ca9144a7d 100644 --- a/docs/about/build-platforms.rst +++ b/docs/about/build-platforms.rst @@ -41,7 +41,7 @@ Those hosts are officially supported, with various accelerators: - Accelerators * - Arm - kvm (64 bit only), tcg, xen - * - MIPS + * - MIPS (LE only) - kvm, tcg * - PPC - kvm, tcg diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 91b03115ee..22c2f4f4de 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -213,6 +213,19 @@ MIPS ``Trap-and-Emul`` KVM support (since 6.0) The MIPS ``Trap-and-Emul`` KVM host and guest support has been removed from Linux upstream kernel, declare it deprecated. +Host Architectures +------------------ + +BE MIPS (since 7.2) +''''''''''''''''''' + +A Debian 10 ("Buster") moved into LTS the big endian 32 bit version of +MIPS moved out of support making it hard to maintain our +cross-compilation CI tests of the architecture. As we no longer have +CI coverage support may bitrot away before the deprecation process +completes. The little endian variants of MIPS (both 32 and 64 bit) are +still a supported host architecture. + QEMU API (QAPI) events ---------------------- diff --git a/.gitlab-ci.d/container-cross.yml b/.gitlab-ci.d/container-cross.yml index 611c6c0b39..95d57e1c5d 100644 --- a/.gitlab-ci.d/container-cross.yml +++ b/.gitlab-ci.d/container-cross.yml @@ -89,7 +89,6 @@ mips64el-debian-cross-container: mips-debian-cross-container: extends: .container_job_template stage: containers - needs: ['amd64-debian10-container'] variables: NAME: debian-mips-cross diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml index 4a5fb6ea2a..c4cd96433d 100644 --- a/.gitlab-ci.d/crossbuilds.yml +++ b/.gitlab-ci.d/crossbuilds.yml @@ -70,20 +70,6 @@ cross-i386-tci: EXTRA_CONFIGURE_OPTS: --target-list=i386-softmmu,i386-linux-user,aarch64-softmmu,aarch64-linux-user,ppc-softmmu,ppc-linux-user MAKE_CHECK_ARGS: check check-tcg -cross-mips-system: - extends: .cross_system_build_job - needs: - job: mips-debian-cross-container - variables: - IMAGE: debian-mips-cross - -cross-mips-user: - extends: .cross_user_build_job - needs: - job: mips-debian-cross-container - variables: - IMAGE: debian-mips-cross - cross-mipsel-system: extends: .cross_system_build_job needs: diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include index c3375f89c5..b1bf56434f 100644 --- a/tests/docker/Makefile.include +++ b/tests/docker/Makefile.include @@ -81,14 +81,12 @@ endif # For non-x86 hosts not all cross-compilers have been packaged ifneq ($(HOST_ARCH),x86_64) -DOCKER_PARTIAL_IMAGES += debian-mips-cross debian-mipsel-cross debian-mips64el-cross +DOCKER_PARTIAL_IMAGES += debian-mipsel-cross debian-mips64el-cross DOCKER_PARTIAL_IMAGES += debian-ppc64el-cross DOCKER_PARTIAL_IMAGES += debian-s390x-cross DOCKER_PARTIAL_IMAGES += fedora endif -docker-image-debian-mips-cross: docker-image-debian10 - # The native build should never use the registry docker-image-debian-native: DOCKER_REGISTRY= @@ -144,6 +142,7 @@ DOCKER_PARTIAL_IMAGES += debian-hppa-cross DOCKER_PARTIAL_IMAGES += debian-loongarch-cross DOCKER_PARTIAL_IMAGES += debian-m68k-cross debian-mips64-cross DOCKER_PARTIAL_IMAGES += debian-microblaze-cross +DOCKER_PARTIAL_IMAGES += debian-mips-cross DOCKER_PARTIAL_IMAGES += debian-nios2-cross DOCKER_PARTIAL_IMAGES += debian-riscv64-test-cross DOCKER_PARTIAL_IMAGES += debian-sh4-cross debian-sparc64-cross diff --git a/tests/docker/dockerfiles/debian-mips-cross.docker b/tests/docker/dockerfiles/debian-mips-cross.docker index 26c154014d..75943619df 100644 --- a/tests/docker/dockerfiles/debian-mips-cross.docker +++ b/tests/docker/dockerfiles/debian-mips-cross.docker @@ -1,32 +1,14 @@ # -# Docker mips cross-compiler target +# Docker cross-compiler target # -# This docker target builds on the debian Buster base image. +# This docker target builds on the Debian Bullseye base image. # -FROM qemu/debian10 - -MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org> - -# Add the foreign architecture we want and install dependencies -RUN dpkg --add-architecture mips -RUN apt update && \ - DEBIAN_FRONTEND=noninteractive eatmydata \ - apt install -y --no-install-recommends \ - gcc-mips-linux-gnu - -RUN apt update && \ - DEBIAN_FRONTEND=noninteractive eatmydata \ - apt build-dep -yy -a mips --arch-only qemu - -# Specify the cross prefix for this image (see tests/docker/common.rc) -ENV QEMU_CONFIGURE_OPTS --cross-prefix=mips-linux-gnu- -ENV DEF_TARGET_LIST mips-softmmu,mipsel-linux-user - -# Install extra libraries to increase code coverage -RUN apt update && \ - DEBIAN_FRONTEND=noninteractive eatmydata \ - apt install -y --no-install-recommends \ - libbz2-dev:mips \ - liblzo2-dev:mips \ - librdmacm-dev:mips \ - libsnappy-dev:mips +FROM docker.io/library/debian:11-slim + +RUN export DEBIAN_FRONTEND=noninteractive && \ + apt-get update && \ + apt-get install -y eatmydata && \ + eatmydata apt-get dist-upgrade -y && \ + eatmydata apt-get install --no-install-recommends -y \ + gcc-mips-linux-gnu \ + libc6-dev-mips-cross
It's becoming harder to maintain a cross-compiler to test this host architecture as the old stable Debian 10 ("Buster") moved into LTS which supports fewer architectures. For now: - mark it's deprecation in the docs - downgrade the containers to build TCG tests only - drop the cross builds from our CI Users with an appropriate toolchain and user-space can still take their chances building it. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> --- docs/about/build-platforms.rst | 2 +- docs/about/deprecated.rst | 13 ++++++ .gitlab-ci.d/container-cross.yml | 1 - .gitlab-ci.d/crossbuilds.yml | 14 ------- tests/docker/Makefile.include | 5 +-- .../dockerfiles/debian-mips-cross.docker | 40 +++++-------------- 6 files changed, 27 insertions(+), 48 deletions(-)