[PATCH-for-5.2] target/mips: Deprecate nanoMIPS ISA

Philippe Mathieu-Daudé posted 1 patch 3 years, 4 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
docs/system/deprecated.rst | 23 +++++++++++++++++++++++
MAINTAINERS                |  6 +++++-
2 files changed, 28 insertions(+), 1 deletion(-)
[PATCH-for-5.2] target/mips: Deprecate nanoMIPS ISA
Posted by Philippe Mathieu-Daudé 3 years, 4 months ago
The nanoMIPS ISA has been announced in 2018 for various projects:

GCC:   https://gcc.gnu.org/legacy-ml/gcc/2018-05/msg00012.html
Linux: https://lwn.net/Articles/753605/
QEMU:  https://www.mail-archive.com/qemu-devel@nongnu.org/msg530721.html

Unfortunately the links referenced doesn't work anymore (www.mips.com).

From this Wayback machine link [1] we can get to a working place to
download a toolchain (a more recent release than the one referenced
in the announcement mails):
http://codescape.mips.com/components/toolchain/nanomips/2018.04-02/downloads.html

The toolchain page mention LLVM but simply links http://llvm.org/
where there is no reference on nanoMIPS.

The only reference in the GCC mailing list, is the nanoMIPS
announcement: https://gcc.gnu.org/pipermail/gcc/2018-May.txt

The developer who authored the announcements have been emailed [2]
to ask for more information but all their emails are now bouncing:

- Your message to Stefan.Markovic@mips.com couldn't be delivered.

- Your message to smarkovic@wavecomp.com couldn't be delivered.

- Couldn't deliver the message to the following recipients:
    Robert.Suchanek@mips.com, matthew.fortune@mips.com,
    marcin.nowakowski@mips.com

Our deprecation policy do not allow feature removal before 2 release,
therefore declare the nanoMIPS ISA code deprecated as of QEMU 5.2.
This gives time to developers to update the QEMU community, or
interested parties to step in to maintain this code.

[1] https://web.archive.org/web/20180904044530/https://www.mips.com/develop/tools/compilers/
[2] https://www.mail-archive.com/qemu-devel@nongnu.org/msg756392.html

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 docs/system/deprecated.rst | 23 +++++++++++++++++++++++
 MAINTAINERS                |  6 +++++-
 2 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst
index 32a0e620dbb..a26af200c73 100644
--- a/docs/system/deprecated.rst
+++ b/docs/system/deprecated.rst
@@ -310,6 +310,13 @@ to build binaries for it.
 ``Icelake-Client`` CPU Models are deprecated. Use ``Icelake-Server`` CPU
 Models instead.
 
+MIPS ``I7200`` CPU Model (since 5.2)
+''''''''''''''''''''''''''''''''''''
+
+The ``I7200`` guest CPU relies on the nanoMIPS ISA, which is deprecated
+(the ISA has never been upstreamed to a compiler toolchain). Therefore
+this CPU is also deprecated.
+
 System emulator devices
 -----------------------
 
@@ -413,6 +420,13 @@ The ``ppc64abi32`` architecture has a number of issues which regularly
 trip up our CI testing and is suspected to be quite broken. For that
 reason the maintainers strongly suspect no one actually uses it.
 
+MIPS ``I7200`` CPU (since 5.2)
+''''''''''''''''''''''''''''''
+
+The ``I7200`` guest CPU relies on the nanoMIPS ISA, which is deprecated
+(the ISA has never been upstreamed to a compiler toolchain). Therefore
+this CPU is also deprecated.
+
 Related binaries
 ----------------
 
@@ -477,6 +491,15 @@ versions, aliases will point to newer CPU model versions
 depending on the machine type, so management software must
 resolve CPU model aliases before starting a virtual machine.
 
+Guest Emulator ISAs
+-------------------
+
+nanoMIPS ISA
+''''''''''''
+
+The ``nanoMIPS`` ISA has never been upstreamed to any compiler toolchain.
+As it is hard to generate binaries for it, declare it deprecated.
+
 
 Recently removed features
 =========================
diff --git a/MAINTAINERS b/MAINTAINERS
index 2c22bbca5ac..4f701012eea 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -227,7 +227,7 @@ R: Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>
 S: Odd Fixes
 F: target/mips/
 F: default-configs/*mips*
-F: disas/*mips*
+F: disas/mips.c
 F: docs/system/cpu-models-mips.rst.inc
 F: hw/intc/mips_gic.c
 F: hw/mips/
@@ -240,6 +240,10 @@ F: include/hw/timer/mips_gictimer.h
 F: tests/tcg/mips/
 K: ^Subject:.*(?i)mips
 
+MIPS TCG CPUs (nanoMIPS ISA)
+S: Orphan
+F: disas/nanomips.*
+
 Moxie TCG CPUs
 M: Anthony Green <green@moxielogic.com>
 S: Maintained
-- 
2.26.2

Re: [PATCH-for-5.2] target/mips: Deprecate nanoMIPS ISA
Posted by Richard Henderson 3 years, 4 months ago
On 11/2/20 12:27 PM, Philippe Mathieu-Daudé wrote:
> The nanoMIPS ISA has been announced in 2018 for various projects:
> 
> GCC:   https://gcc.gnu.org/legacy-ml/gcc/2018-05/msg00012.html
> Linux: https://lwn.net/Articles/753605/
> QEMU:  https://www.mail-archive.com/qemu-devel@nongnu.org/msg530721.html
> 
> Unfortunately the links referenced doesn't work anymore (www.mips.com).
> 
> From this Wayback machine link [1] we can get to a working place to
> download a toolchain (a more recent release than the one referenced
> in the announcement mails):
> http://codescape.mips.com/components/toolchain/nanomips/2018.04-02/downloads.html
> 
> The toolchain page mention LLVM but simply links http://llvm.org/
> where there is no reference on nanoMIPS.
> 
> The only reference in the GCC mailing list, is the nanoMIPS
> announcement: https://gcc.gnu.org/pipermail/gcc/2018-May.txt
> 
> The developer who authored the announcements have been emailed [2]
> to ask for more information but all their emails are now bouncing:
> 
> - Your message to Stefan.Markovic@mips.com couldn't be delivered.
> 
> - Your message to smarkovic@wavecomp.com couldn't be delivered.
> 
> - Couldn't deliver the message to the following recipients:
>     Robert.Suchanek@mips.com, matthew.fortune@mips.com,
>     marcin.nowakowski@mips.com
> 
> Our deprecation policy do not allow feature removal before 2 release,
> therefore declare the nanoMIPS ISA code deprecated as of QEMU 5.2.
> This gives time to developers to update the QEMU community, or
> interested parties to step in to maintain this code.
> 
> [1] https://web.archive.org/web/20180904044530/https://www.mips.com/develop/tools/compilers/
> [2] https://www.mail-archive.com/qemu-devel@nongnu.org/msg756392.html
> 
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---

Acked-by: Richard Henderson <richard.henderson@linaro.org>

r~

Re: [PATCH-for-5.2] target/mips: Deprecate nanoMIPS ISA
Posted by Philippe Mathieu-Daudé 3 years, 4 months ago
On 11/2/20 9:27 PM, Philippe Mathieu-Daudé wrote:
> The nanoMIPS ISA has been announced in 2018 for various projects:
> 
> GCC:   https://gcc.gnu.org/legacy-ml/gcc/2018-05/msg00012.html
> Linux: https://lwn.net/Articles/753605/
> QEMU:  https://www.mail-archive.com/qemu-devel@nongnu.org/msg530721.html
> 
> Unfortunately the links referenced doesn't work anymore (www.mips.com).
> 
> From this Wayback machine link [1] we can get to a working place to
> download a toolchain (a more recent release than the one referenced
> in the announcement mails):
> http://codescape.mips.com/components/toolchain/nanomips/2018.04-02/downloads.html
> 
> The toolchain page mention LLVM but simply links http://llvm.org/
> where there is no reference on nanoMIPS.
> 
> The only reference in the GCC mailing list, is the nanoMIPS
> announcement: https://gcc.gnu.org/pipermail/gcc/2018-May.txt
> 
> The developer who authored the announcements have been emailed [2]
> to ask for more information but all their emails are now bouncing:
> 
> - Your message to Stefan.Markovic@mips.com couldn't be delivered.
> 
> - Your message to smarkovic@wavecomp.com couldn't be delivered.
> 
> - Couldn't deliver the message to the following recipients:
>     Robert.Suchanek@mips.com, matthew.fortune@mips.com,
>     marcin.nowakowski@mips.com
> 
> Our deprecation policy do not allow feature removal before 2 release,
> therefore declare the nanoMIPS ISA code deprecated as of QEMU 5.2.
> This gives time to developers to update the QEMU community, or
> interested parties to step in to maintain this code.
> 
> [1] https://web.archive.org/web/20180904044530/https://www.mips.com/develop/tools/compilers/
> [2] https://www.mail-archive.com/qemu-devel@nongnu.org/msg756392.html
> 
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>  docs/system/deprecated.rst | 23 +++++++++++++++++++++++
>  MAINTAINERS                |  6 +++++-
>  2 files changed, 28 insertions(+), 1 deletion(-)

Thanks, applied to mips-fixes.

RE: [PATCH-for-5.2] target/mips: Deprecate nanoMIPS ISA
Posted by Vince Del Vecchio 3 years ago
On 11/2/20 12:27 PM, Philippe Mathieu-Daudé wrote:
> The nanoMIPS ISA has been announced in 2018 for various projects:
> 
> GCC:   https://gcc.gnu.org/legacy-ml/gcc/2018-05/msg00012.html
> Linux: https://lwn.net/Articles/753605/
> QEMU:  https://www.mail-archive.com/qemu-devel@nongnu.org/msg530721.html
> 
> Unfortunately the links referenced doesn't work anymore (www.mips.com).
> 
> From this Wayback machine link [1] we can get to a working place to
> download a toolchain (a more recent release than the one referenced
> in the announcement mails):
> http://codescape.mips.com/components/toolchain/nanomips/2018.04-02/downloads.html
> 
> ...
> 
> Our deprecation policy do not allow feature removal before 2 release,
> therefore declare the nanoMIPS ISA code deprecated as of QEMU 5.2.
> This gives time to developers to update the QEMU community, or
> interested parties to step in to maintain this code.

Hi Philippe & everyone,

Apologies for the late response.

MediaTek is using the nanoMIPS architecture and is now doing nanoMIPS
toolchain development.  I believe Wave/MIPS are not any longer, so you
can probably say we are taking over nanoMIPS toolchain development.

We have just published a new release of the toolchain at
https://github.com/MediaTek-Labs/nanomips-gnu-toolchain/releases/tag/nanoMIPS-2021.02-01
and we have started work on upgrading the toolchain to the latest
versions in preparation for upstreaming.  (We are also investigating
an LLVM port.)

We are also willing to act as maintainers for the QEMU nanoMIPS port,
and we have agreement with the current and former MIPS QEMU maintainers
(Aleksandar Rikalo & Aleksandar Markovic, both from Syrmia) to help us
in this process if needed.

To sum up, nanoMIPS is alive and in active development, so based on
your criteria it should remain supported in QEMU.  Please let us know
how else we can help with this process.

-Vince Del Vecchio
Compiler Team Lead & Deputy Director, DSP Core Technology
MediaTek, Inc.