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

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...
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/tool... [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

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...
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/tool... [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~

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...
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/tool... [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.

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...
...
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/nanoMIP... 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.

[Sorry for the resend; original seems to have been corrupted] 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/dow nloads.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/nanoMIP... 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.
participants (3)
-
Philippe Mathieu-Daudé
-
Richard Henderson
-
Vince Del Vecchio