Deprecate 32 bit big-endian MIPS

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>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Huacai Chen <chenhuacai@kernel.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220914155950.804707-22-alex.bennee@linaro.org>
This commit is contained in:
Alex Bennée 2022-09-14 16:59:41 +01:00
parent 66dca26748
commit 54ab3c3fee
6 changed files with 25 additions and 46 deletions

View File

@ -89,7 +89,6 @@ mips64el-debian-cross-container:
mips-debian-cross-container: mips-debian-cross-container:
extends: .container_job_template extends: .container_job_template
stage: containers stage: containers
needs: ['amd64-debian10-container']
variables: variables:
NAME: debian-mips-cross NAME: debian-mips-cross

View File

@ -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 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 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: cross-mipsel-system:
extends: .cross_system_build_job extends: .cross_system_build_job
needs: needs:

View File

@ -41,7 +41,7 @@ Those hosts are officially supported, with various accelerators:
- Accelerators - Accelerators
* - Arm * - Arm
- kvm (64 bit only), tcg, xen - kvm (64 bit only), tcg, xen
* - MIPS * - MIPS (little endian only)
- kvm, tcg - kvm, tcg
* - PPC * - PPC
- kvm, tcg - kvm, tcg

View File

@ -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 The MIPS ``Trap-and-Emul`` KVM host and guest support has been removed
from Linux upstream kernel, declare it deprecated. from Linux upstream kernel, declare it deprecated.
Host Architectures
------------------
BE MIPS (since 7.2)
'''''''''''''''''''
As 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 QEMU API (QAPI) events
---------------------- ----------------------

View File

@ -81,14 +81,12 @@ endif
# For non-x86 hosts not all cross-compilers have been packaged # For non-x86 hosts not all cross-compilers have been packaged
ifneq ($(HOST_ARCH),x86_64) 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-ppc64el-cross
DOCKER_PARTIAL_IMAGES += debian-s390x-cross DOCKER_PARTIAL_IMAGES += debian-s390x-cross
DOCKER_PARTIAL_IMAGES += fedora DOCKER_PARTIAL_IMAGES += fedora
endif endif
docker-image-debian-mips-cross: docker-image-debian10
# The native build should never use the registry # The native build should never use the registry
docker-image-debian-native: DOCKER_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-loongarch-cross
DOCKER_PARTIAL_IMAGES += debian-m68k-cross debian-mips64-cross DOCKER_PARTIAL_IMAGES += debian-m68k-cross debian-mips64-cross
DOCKER_PARTIAL_IMAGES += debian-microblaze-cross DOCKER_PARTIAL_IMAGES += debian-microblaze-cross
DOCKER_PARTIAL_IMAGES += debian-mips-cross
DOCKER_PARTIAL_IMAGES += debian-nios2-cross DOCKER_PARTIAL_IMAGES += debian-nios2-cross
DOCKER_PARTIAL_IMAGES += debian-riscv64-test-cross DOCKER_PARTIAL_IMAGES += debian-riscv64-test-cross
DOCKER_PARTIAL_IMAGES += debian-sh4-cross debian-sparc64-cross DOCKER_PARTIAL_IMAGES += debian-sh4-cross debian-sparc64-cross

View File

@ -1,32 +1,14 @@
# #
# Docker mips cross-compiler target # Docker mips 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 FROM docker.io/library/debian:11-slim
MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org> RUN export DEBIAN_FRONTEND=noninteractive && \
apt-get update && \
# Add the foreign architecture we want and install dependencies apt-get install -y eatmydata && \
RUN dpkg --add-architecture mips eatmydata apt-get dist-upgrade -y && \
RUN apt update && \ eatmydata apt-get install --no-install-recommends -y \
DEBIAN_FRONTEND=noninteractive eatmydata \ gcc-mips-linux-gnu \
apt install -y --no-install-recommends \ libc6-dev-mips-cross
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