[PATCH v2] configure, meson: deprecate 32-bit MIPS

Paolo Bonzini posted 1 patch 3 weeks, 5 days ago
docs/about/build-platforms.rst |  2 +-
docs/about/deprecated.rst      | 12 ++++++++----
meson.build                    |  8 ++++++++
3 files changed, 17 insertions(+), 5 deletions(-)
[PATCH v2] configure, meson: deprecate 32-bit MIPS
Posted by Paolo Bonzini 3 weeks, 5 days ago
The mipsel architecture is not available in Debian Trixie, and it will
likely be a hard failure as soon as we drop support for the old Rust
toolchain in Debian Bookworm.  Prepare by deprecating 32-bit little
endian MIPS in QEMU 9.2.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 docs/about/build-platforms.rst |  2 +-
 docs/about/deprecated.rst      | 12 ++++++++----
 meson.build                    |  8 ++++++++
 3 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/docs/about/build-platforms.rst b/docs/about/build-platforms.rst
index 8fd7da140a3..b779eb54934 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 (little endian only)
+   * - MIPS (64 bit little endian only)
      - kvm, tcg
    * - PPC
      - kvm, tcg
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index ce38a3d0cf0..f3f4cd4059f 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -164,15 +164,19 @@ property types.
 Host Architectures
 ------------------
 
-BE MIPS (since 7.2)
-'''''''''''''''''''
+Big endian MIPS since 7.2; 32-bit little endian MIPS since 9.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.
+completes.
+
+Likewise, the little endian variant of 32 bit MIPS is not supported by
+Debian 13 ("Trixie") and newer.
+
+64 bit little endian MIPS is still a supported host architecture.
 
 System emulation on 32-bit x86 hosts (since 8.0)
 ''''''''''''''''''''''''''''''''''''''''''''''''
diff --git a/meson.build b/meson.build
index 5e2b0fb82b2..110e93f84e9 100644
--- a/meson.build
+++ b/meson.build
@@ -4721,6 +4721,14 @@ if host_arch == 'unknown'
     message('configure has succeeded and you can continue to build, but')
     message('QEMU will use a slow interpreter to emulate the target CPU.')
   endif
+elif host_arch == 'mips'
+  message()
+  warning('DEPRECATED HOST CPU')
+  message()
+  message('Support for CPU host architecture ' + cpu + ' is going to be')
+  message('dropped as soon as the QEMU project stops supporting Debian 12')
+  message('("Bookworm"). Going forward, the QEMU project will not guarantee')
+  message('that QEMU will compile or work on this host CPU.')
 endif
 
 if not supported_oses.contains(host_os)
-- 
2.47.0
Re: [PATCH v2] configure, meson: deprecate 32-bit MIPS
Posted by Philippe Mathieu-Daudé 3 weeks, 5 days ago
On 28/10/24 05:24, Paolo Bonzini wrote:
> The mipsel architecture is not available in Debian Trixie, and it will
> likely be a hard failure as soon as we drop support for the old Rust
> toolchain in Debian Bookworm.  Prepare by deprecating 32-bit little
> endian MIPS in QEMU 9.2.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>   docs/about/build-platforms.rst |  2 +-
>   docs/about/deprecated.rst      | 12 ++++++++----
>   meson.build                    |  8 ++++++++
>   3 files changed, 17 insertions(+), 5 deletions(-)
> 
> diff --git a/docs/about/build-platforms.rst b/docs/about/build-platforms.rst
> index 8fd7da140a3..b779eb54934 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 (little endian only)
> +   * - MIPS (64 bit little endian only)
>        - kvm, tcg
>      * - PPC
>        - kvm, tcg
> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
> index ce38a3d0cf0..f3f4cd4059f 100644
> --- a/docs/about/deprecated.rst
> +++ b/docs/about/deprecated.rst
> @@ -164,15 +164,19 @@ property types.
>   Host Architectures
>   ------------------
>   
> -BE MIPS (since 7.2)
> -'''''''''''''''''''
> +Big endian MIPS since 7.2; 32-bit little endian MIPS since 9.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.
> +completes.
> +
> +Likewise, the little endian variant of 32 bit MIPS is not supported by
> +Debian 13 ("Trixie") and newer.
> +
> +64 bit little endian MIPS is still a supported host architecture.
>   
>   System emulation on 32-bit x86 hosts (since 8.0)
>   ''''''''''''''''''''''''''''''''''''''''''''''''
> diff --git a/meson.build b/meson.build
> index 5e2b0fb82b2..110e93f84e9 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -4721,6 +4721,14 @@ if host_arch == 'unknown'
>       message('configure has succeeded and you can continue to build, but')
>       message('QEMU will use a slow interpreter to emulate the target CPU.')
>     endif
> +elif host_arch == 'mips'
> +  message()
> +  warning('DEPRECATED HOST CPU')
> +  message()
> +  message('Support for CPU host architecture ' + cpu + ' is going to be')
> +  message('dropped as soon as the QEMU project stops supporting Debian 12')
> +  message('("Bookworm"). Going forward, the QEMU project will not guarantee')
> +  message('that QEMU will compile or work on this host CPU.')
>   endif
>   
>   if not supported_oses.contains(host_os)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>