Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cpu/mips: Remove platform #11788

Closed
wants to merge 4 commits into from
Closed

Conversation

jcarrano
Copy link
Contributor

@jcarrano jcarrano commented Jul 3, 2019

Note: before removal there should be a deprecation. I open this PR so that we can discuss the removal itself.

Note 2: The following text is a copy-pasta of the commit messages, so you can read those instead.

Before we start...

...this removal does not mean MIPS is banished from RIOT until the end of times. As I explain below, many of the problems stem from the lack of dedicated maintainers for the platform.

I do not think that MIPS is orders of magnitude more complex than other plaforms (maybe it is, but I don't know). The thing is, the other plaforms have people working every day to iron out the bugs. If such a thing were to happen to MIPS, it could go back into RIOT. Until that happens, though we cannot afford to support it.

Reasons to remove MIPS (or, What's wrong?)

No "dedicated" maintainer.

The MIPS platform does not have a maintainer. While there is no such thing as "official plaform maintainer" in RIOT, in reality there are de-facto maintainers for all the "well supported" platforms. These are people with good knowledge of the architecture, access to boards and active in the community.

These are the persons one can rely upon to test PRs and ensure the platform keeps working. See for example the SAM and the STM32 plaforms.

MIPS is lacking such a maintainer.

Poor usability

I doubt the current implementation of these board can be use for any serious development.

No working UART input

a. Makes development & debugging way harder.
b. It is impossible to run interactive tests.
b.1. Constrains the rest of the platforms by providing an incentive to not
make tests interactive.
c. The lack of UART is a witness to the poor quality of the port.

I want to stress point (c). If something as basic as a serial port cannot work,
how can we expect more complex fucntionality to work. The answer is impossible
to know, because of point (1).

No flasher

pic32-wifire is the least worse. At least it can be flashed from Linux, though it
is not an easy task. From dist/tools/pic32prog/doc.md

It will require flashing a specific firmware on the PICkit3.
As this can only be done from a Windows computer, that not many Linux users
have, the following steps explain how to setup a Windows VirtualBox virtual
machine and flash the PICkit3 from it.

Informations come from this comment

#6092 (comment)

pic32-clicker HAS NO FLASHER and requires one to use MPLAB.

Maintainance burden

The RIOT project has limited time and human resources which can be better spent.

a. Compiling for these boards wastes CPU time.
b. Blacklisting the boards in the test wastes contributor's time.
c. Adapting the board's makefile during build system rework takes time and makes
the reworks harder.
c.1. Add to that that the changes are most of the time not even tested on the board
because of lack of people with the board (and no flasher). Look at the github issues/PRs and you will see it.
d. Developers usually stick to the lowest common denominator. No UART input and no flasher sets this
denominator unacceptably low.

MIPS microcontrollers are dead

(Please note that I'm NOT referring to the architecture in general, whichis still in use in other applications)

I'm sure that from a technical point of view, MIPS may have some advantages. Technilogical history shows, however, that it is not the best technicals solutions that triumph. The determining factor is economics.

A smaller platform means more lock-in, less tooling support, less software availability.

A quick looks at current offerings of MIPS MCUs shows only Microchips products are practically available. Now, Microchip has bought Atmel and its line of SAM Arm MCUs. I would not be surprised if in a few years they decided to discontinue (or "not recommended to new designs") their MIPS line.

Testing procedure

I need a bit of help here. What could I have broken?

Issues/PRs references

(TODO)

@jcarrano jcarrano added Impact: major The PR changes a significant part of the code base. It should be reviewed carefully Type: cleanup The issue proposes a clean-up / The PR cleans-up parts of the codebase / documentation Platform: MIPS Platform: This PR/issue effects MIPS-based platforms labels Jul 3, 2019
@jcarrano jcarrano changed the title cpu/mips: Remove platforms cpu/mips: Remove platform Jul 3, 2019
Copy link
Contributor

@aabadie aabadie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No "dedicated" maintainer.

Looking at the copyright of some files, there are several contributors listed. So I guess these people may want to continue developing the port.
In general I think opening a PR like this without asking the initial contributors (and eventually maintainers) if they agree or not, or if they want to continue to work on the port is not the right way to go. You could also send an email to devel ML first, explaining your thoughts and wait for other contributor opinions.

That would also save you the time you already spent working on this (that you could usefully spend on other things) if there's no consensus or if the decision is to keep the support of MIPS architecture.

Copy link
Contributor

@cladmi cladmi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For my side, I did some updates on the platform as they were required for build system changes. Not that I really needed it, other than completeness.
However I reach a point were it is really hard to know if I can do a change or not, as even with a board, you cannot run a firmware.

I was trying to maintain and test the pic32-wifire as we have one here. But note it is a board port that was merged:

  • without flasher
  • without uart input (no shell, no tests using input, stdin module doing nothing)

My proposal to add a flasher for pic32-wifire is still waiting for one year #9259. How are we supposed to test anything without this?

It for me, does not match our current integration standards. I agree that we are in a stage where it is easier to remove the boards.

Somebody interested could immediately re-propose the port where at least, the flasher and uart input are working.


The argument about "updating the flasher with windows" is for me invalid.
Some of the other boards also need windows for configuring the flasher, update a bootloader, set a serial number. Maybe it could be done from Linux, but was faster for me to use a VM. It is just normally not documented how to do it in RIOT.
I could even remove this documentation as it is now been upstreamed to the pic32prog wiki. https://github.com/sergev/pic32prog/wiki/Using-PICkit3

@cladmi cladmi requested a review from neiljay July 4, 2019 09:19
@jcarrano
Copy link
Contributor Author

jcarrano commented Jul 4, 2019

Aside from the general MIPS issue, do you agree that the mips-malta should go? Not only is it unobtainable, it is not the kind of platform RIOT targets: it is an ATX form factor board with a chip powerful enough to run Linux.

Copy link
Contributor

@kaspar030 kaspar030 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NACK.

This port might miss some love, but we don't have to kick it out.

@jcarrano
Copy link
Contributor Author

jcarrano commented Jul 5, 2019

First, I presented this as a PR to make the impact of the changes in our codebase more clearly visible and also so that anyone having trouble with MIPS can pull this into their own branch.

I have my own opinion, which I laid out in rather extensive commit messages. I do respect everyone else's opinions and points of view, but consider the following points:

  1. My initial objections have not been refuted. I can change my mind, but for that I have to be shown where I was wrong. So, please, address my concerns.

  2. I'm not interested in maintaining that platform, so I cannot support keeping it. The best way to show your opposition to this change is by actively maintaining the port.

@francois-berder
Copy link
Contributor

As a contributor for pic32-wifire and pic32-pickit, I must say that I currently do not have the time to maintain the MIPS platform for RIOT-OS. I can at best help or review pull requests but I am not planning to write more code for MIPS. I am not against removing support for the MIPS malta board, I never worked on it.

@cladmi It seems I missed #9259. Sorry !
@jcarrano I agree with you about the future of MIPS. I personally moved on to MSP430 and STM32 to the extent that now I probably know more about ARM than MIPS.

@MrKevinWeiss
Copy link
Contributor

I would like to remove the malta board at least. I think the first effort should be at removing the boards that are obsolete such as ones that cannot be purchased anymore or are clearly not a good candidate for RIOT.

The fact is we can give the wifire and clicker some love (I have the boards) and get the flasher going since there is a PR #9259. From the marketing point of view it is still nice to say we support it (assuming we actually support it).

From the maintainability cost point of view, if we can get it up to the point where it can go in the on-target test rack (ie paper-ci) and the hardware assisted ci (ie PHiLIP) there would only be the maintenance of keeping it up to date (such as porting any api change or blacklists), which is some work but doable considering what we get. This would have an advantage of distributed workload rather than someone having to update everything at once.

Maybe we say we start to deprecate it and if nothing has been done to get it up to what the minimum RIOT standard should be then we remove it (that is 6 months or so). That being said, maybe with some reviewing help from @francois-berder and some prs from @cladmi I could help push the rest though. Since I have an interest on getting it in my HiL setup I am willing to give it some love (though I don't want to be responsible fully for it as just the openmote-b has cost me about 30 hours debugging and adding hacks due to poor documentation and questionable board design decisions).

tldr;
We should remove malta (and think about removing other boards) and deprecate the MIPS cpu then remove if nobody improves until the deprecation time runs out. Though I am willing to invest some time into improving it.

@jcarrano jcarrano added the State: waiting for other PR State: The PR requires another PR to be merged first label Jul 12, 2019
@jcarrano
Copy link
Contributor Author

I placed the "Waiting" label, as this needs deprecation notices before it can move forward.

@francois-berder Thanks for your insights (and for the contributions).

@MrKevinWeiss :

I am willing to give it some love

That's what I'm looking for with this PR. Not just a "let's keep it" but rather "I'll fix it so we can keep it".

HiL is your project and you do as you see fit. My personal opinion is that you would be adding more value by making popular boards run better, improving documentation and polishing the system than by incorporating these boards.

@MrKevinWeiss
Copy link
Contributor

Just to be clear I would like to remove the malta board and shift the conversation to any other boards to remove.

@cladmi
Copy link
Contributor

cladmi commented Jul 12, 2019

For information about the current state of mips-malta for anyone who would like to take care of it.

Even if it is reported as supported by info-boards-supported and compiles without compiler failure.

BOARDS=mips-malta make --no-print-directory -C tests/minimal info-boards-supported
mips-malta

Since 2018.01 when compiling any application, it complains about missing features:

git checkout 2018.01; BOARD=mips-malta make --no-print-directory -C tests/minimal all
HEAD is now at e4fb634e3 Merge pull request #8495 from miri64/2018.01/gnrc/fix/xbee
/home/harter/work/git/RIOT/makefiles/toolchain/gnu.inc.mk:14: objcopy not found. Hex file will not be created.
There are unsatisfied feature requirements: periph_uart


EXPECT ERRORS!


...

And such even in our CI https://ci.riot-os.org/RIOT-OS/RIOT/master/6b094a78a943bcbd74d21a7ce83840c1fdcdc0a6/output/compile/tests/minimal/mips-malta:gnu.txt

When the inconsistency of using a different dependencies resolution in info-boards-supported will be fixed, the board will not be compiled by the CI anymore.

#9913 (comment)

The mips-malta board is a maintainance burden, has no working UART input
and is unobtainable and thus must be removed.

1. Unobtainable board
=====================

The mips-malta board is not an off-the-shelf part. A quick web
search only show the MIPS website where one is told to "contact sales".

I could find it on ebay, used, at €155 and from single seller.

Not having access to the board means:

a. We cannot maintain it. In fact it could be broken right now.
b. Potential RIOT uses have not access to the board either. In other
   words, it is pointless to run on hardware nobody has.

2. No working UART input
========================

Not all applications need UART input, but that is no excuse for not supporting
it:

a. Makes development & debugging way harder.
b. It is impossible to run interactive tests.
 b.1. Constrains the rest of the platforms by providing an incentive to not
      make tests interactive.
c. The lack of UART is a witness to the poor quality of the port.

I want to stress point (c). If something as basic as a serial port cannot work,
how can we expect more complex fucntionality to work. The answer is impossible
to know, because of point (1).

3. Maintainance burden
======================

The RIOT project has limited time and human resources which can be better spent.

a. Compiling for mips-malta wastes CPU time.
b. Blacklisting the board in the test wastes contributor's time.
c. Adapting the board's makefile during build system rework takes time and makes
   the reworks harder.
 c.1. Add to that that the changes are most of the time not even tested on the board
      because of (1). Look at the github issues/PRs and you will see it.
d. Developers usually stick to the lowest common denominator. Issue (2) sets this
   denominator unacceptably low.

MIPS platform in general
========================

In commits I will address general issues in the MIPS platform and why it should all
be removed.
Note: in contrast to mips-malta, these boards are still available for purchase.
      This means that if the issued listed below were to be fixed (and the boards
      maintained by a person versed in the architecture) then adding them back
      would be a valid possibility.

The pic32-clicker and pic32-wifire have severe issues affecting their usability,
maintainability and have no maintainer.

1. Usability
============

I doubt the current implementation of these board can be use for any serious
development.

This is a problem with MIPS-RIOT integration in general and was explained in the
PR removing mips-malta:

> a. Makes development & debugging way harder.
> b. It is impossible to run interactive tests.
>  b.1. Constrains the rest of the platforms by providing an incentive to not
>       make tests interactive.
> c. The lack of UART is a witness to the poor quality of the port.

This alone should have been enough reson not to merge this boards in the first place.

pic32-wifire is the least worse. At least it can be flashed from Linux, though it
is not an easy task. From dist/tools/pic32prog/doc.md

>It will require flashing a specific firmware on the PICkit3.
> As this can only be done from a Windows computer, that not many Linux users
> have, the following steps explain how to setup a Windows VirtualBox virtual
> machine and flash the PICkit3 from it.
>
> Informations come from this comment
>
> RIOT-OS#6092 (comment)

pic32-clicker HAS NO FLASHER and requires one to use MPLAB.

2. No maintainer
================

There is no (active) RIOT maintainer with deep knowledge of the boards and
platform. A quick search through the issues and PRs shows this.

3. Maintainability
==================

As a consequence of (1) and (2) many tests are not run in these boards. At the
same time, RIOT maintainers - especially those working on the build system - still
have to modify and migrate mips-foo boards.

The rest of the arguments here are the same as presented with the mips-malta
removal.
This removal does not mean MIPS is banished from RIOT until the end of
times. As I explain below, many of the problems stem from the lack of
dedicated maintainers for the platform.

I do not think that MIPS is orders of magnitude more complex than other
plaforms (maybe it is, but I don't know). The thing is, the other plaforms
have people working every day to iron out the bugs. If such a thing were
to happen to MIPS, it could go back into RIOT. Until that happens, though
we cannot afford to support it.

1. Were we really supporting MIPS? Or, what is lost?
====================================================

Support for the MIPS platform was never complete. Two of the most
important featues used in RIOT develoment are still missing: UART
input and flasher support.

In addition, the platform has no maintainer and nobody working to
improve it (aside from some work from @cladmi, but he is not expert
in the platform).

This, and the fact that there is nobody frequently testing it means
a bit portion of the port may be broken right now.

This alone is a major pain. For our users it means the plaftorm is of
dubious value. For us developers it introduces more inefficiencies in
our work:

- We try to keep the testing infraestructure runnable on all boards.
  This means we target the lowest commond denominator. A platform without
  UART really lowers this bar.
- It is holding back the introduction of deeper and harder interactive tests.
- No flasher means it is not possible to automatically run all the test suite.
- I'm repeating myself, see the previous commit messages.

The MIPS platform does not have a maintainer. While there is no such thing
as "official plaform maintainer" in RIOT, in reality there are de-facto
maintainers for all the "well supported" platforms. These are people with good
knowledge of the architecture, access to boards and active in the community.
These are the persons one can rely upon to test PRs and ensure the platform
keeps working. See for example the SAM and the STM32 plaforms.

MIPS is lacking such a maintainer.

2. MIPS microcontrollers are dead
=================================

(Please note that I'm NOT referring to the architecture in general, which
is still in use in other applications)

I'm sure that from a technical point of view, MIPS may have some
advantages. Technilogical history shows, however, that it is not the
best technicals solutions that triumph. The determining factor is
economics.

A smaller platform means more lock-in, less tooling support, less
software availability.

A quick looks at current offerings of MIPS MCUs shows only Microchips
products are practically available. Now, Microchip has bought Atmel
and its line of SAM Arm MCUs. I would not be surprised if in a few years
they decided to discontinue (or "not recommended to new designs") their
MIPS line.
Now that MIPS is gone, the ifdef is no longer necessary.

If it eve gets added back in we should think of a more elegant way
to integrate it with the C library.
jcarrano added a commit to jcarrano/RIOT that referenced this pull request Jul 16, 2019
The `mips32r2_generic` CPU was only used by the `mips-malta` board which has
been removed. The reasons for this removal are the same as for the board:

- No hardware to test.
- The board that used this CPU is not available off the shelf.
- No UART input.
- No integrated flasher (one needs to use a separate Windows tool)

For more information and discussion around MIPS, see issues:

- RIOT-OS#11831 (Removal of mips-malta)
- RIOT-OS#11788 (General MIPS removal)
fjmolinas pushed a commit to fjmolinas/RIOT that referenced this pull request Aug 4, 2019
The `mips32r2_generic` CPU was only used by the `mips-malta` board which has
been removed. The reasons for this removal are the same as for the board:

- No hardware to test.
- The board that used this CPU is not available off the shelf.
- No UART input.
- No integrated flasher (one needs to use a separate Windows tool)

For more information and discussion around MIPS, see issues:

- RIOT-OS#11831 (Removal of mips-malta)
- RIOT-OS#11788 (General MIPS removal)
Copy link
Contributor

@kaspar030 kaspar030 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm interested in MIPS support.

@benpicco
Copy link
Contributor

With the recent activity around MIPS boards, I think this can be closed now.

@cladmi
Copy link
Contributor

cladmi commented Sep 26, 2019

The last time I checked, the pic32-wifire still did not have uart input, and the current tests results is all failures:

Failures during test:
- [tests/bench_msg_pingpong](tests/bench_msg_pingpong/test.failed)
- [tests/bench_mutex_pingpong](tests/bench_mutex_pingpong/test.failed)
- [tests/bench_runtime_coreapis](tests/bench_runtime_coreapis/test.failed)
- [tests/bench_sched_nop](tests/bench_sched_nop/test.failed)
- [tests/bench_sizeof_coretypes](tests/bench_sizeof_coretypes/test.failed)
- [tests/bench_thread_flags_pingpong](tests/bench_thread_flags_pingpong/test.failed)
- [tests/bench_thread_yield_pingpong](tests/bench_thread_yield_pingpong/test.failed)
- [tests/bitarithm_timings](tests/bitarithm_timings/test.failed)
- [tests/bloom_bytes](tests/bloom_bytes/test.failed)
- [tests/cb_mux](tests/cb_mux/test.failed)
- [tests/cb_mux_bench](tests/cb_mux_bench/test.failed)
- [tests/cond_order](tests/cond_order/test.failed)
- [tests/cpp11_condition_variable](tests/cpp11_condition_variable/test.failed)
- [tests/cpp11_mutex](tests/cpp11_mutex/test.failed)
- [tests/cpp11_thread](tests/cpp11_thread/test.failed)
- [tests/cpp_ctors](tests/cpp_ctors/test.failed)
- [tests/devfs](tests/devfs/test.failed)
- [tests/driver_grove_ledbar](tests/driver_grove_ledbar/test.failed)
- [tests/driver_my9221](tests/driver_my9221/test.failed)
- [tests/embunit](tests/embunit/test.failed)
- [tests/event_wait_timeout](tests/event_wait_timeout/test.failed)
- [tests/events](tests/events/test.failed)
- [tests/evtimer_msg](tests/evtimer_msg/test.failed)
- [tests/evtimer_underflow](tests/evtimer_underflow/test.failed)
- [tests/float](tests/float/test.failed)
- [tests/fmt_print](tests/fmt_print/test.failed)
- [tests/gnrc_ipv6_ext](tests/gnrc_ipv6_ext/test.failed)
- [tests/gnrc_ipv6_ext_frag](tests/gnrc_ipv6_ext_frag/test.failed)
- [tests/gnrc_ipv6_fwd_w_sub](tests/gnrc_ipv6_fwd_w_sub/test.failed)
- [tests/gnrc_ipv6_nib](tests/gnrc_ipv6_nib/test.failed)
- [tests/gnrc_ipv6_nib_6ln](tests/gnrc_ipv6_nib_6ln/test.failed)
- [tests/gnrc_ndp](tests/gnrc_ndp/test.failed)
- [tests/gnrc_netif](tests/gnrc_netif/test.failed)
- [tests/gnrc_rpl_srh](tests/gnrc_rpl_srh/test.failed)
- [tests/gnrc_sixlowpan](tests/gnrc_sixlowpan/test.failed)
- [tests/gnrc_sixlowpan_frag](tests/gnrc_sixlowpan_frag/test.failed)
- [tests/gnrc_sock_dns](tests/gnrc_sock_dns/test.failed)
- [tests/gnrc_sock_ip](tests/gnrc_sock_ip/test.failed)
- [tests/gnrc_sock_udp](tests/gnrc_sock_udp/test.failed)
- [tests/irq](tests/irq/test.failed)
- [tests/isr_yield_higher](tests/isr_yield_higher/test.failed)
- [tests/l2util](tests/l2util/test.failed)
- [tests/libc_newlib](tests/libc_newlib/test.failed)
- [tests/libfixmath](tests/libfixmath/test.failed)
- [tests/libfixmath_unittests](tests/libfixmath_unittests/test.failed)
- [tests/log_color](tests/log_color/test.failed)
- [tests/log_printfnoformat](tests/log_printfnoformat/test.failed)
- [tests/lwip_sock_ip](tests/lwip_sock_ip/test.failed)
- [tests/lwip_sock_tcp](tests/lwip_sock_tcp/test.failed)
- [tests/lwip_sock_udp](tests/lwip_sock_udp/test.failed)
- [tests/msg_avail](tests/msg_avail/test.failed)
- [tests/msg_send_receive](tests/msg_send_receive/test.failed)
- [tests/msg_try_receive](tests/msg_try_receive/test.failed)
- [tests/mutex_order](tests/mutex_order/test.failed)
- [tests/mutex_unlock_and_sleep](tests/mutex_unlock_and_sleep/test.failed)
- [tests/netdev_test](tests/netdev_test/test.failed)
- [tests/nhdp](tests/nhdp/test.failed)
- [tests/od](tests/od/test.failed)
- [tests/periph_gpio](tests/periph_gpio/test.failed)
- [tests/periph_hwrng](tests/periph_hwrng/test.failed)
- [tests/periph_timer](tests/periph_timer/test.failed)
- [tests/pipe](tests/pipe/test.failed)
- [tests/pkg_c25519](tests/pkg_c25519/test.failed)
- [tests/pkg_cayenne-lpp](tests/pkg_cayenne-lpp/test.failed)
- [tests/pkg_cifra](tests/pkg_cifra/test.failed)
- [tests/pkg_cn-cbor](tests/pkg_cn-cbor/test.failed)
- [tests/pkg_hacl](tests/pkg_hacl/test.failed)
- [tests/pkg_heatshrink](tests/pkg_heatshrink/test.failed)
- [tests/pkg_jsmn](tests/pkg_jsmn/test.failed)
- [tests/pkg_libb2](tests/pkg_libb2/test.failed)
- [tests/pkg_libcoap](tests/pkg_libcoap/test.failed)
- [tests/pkg_libcose](tests/pkg_libcose/test.failed)
- [tests/pkg_libhydrogen](tests/pkg_libhydrogen/test.failed)
- [tests/pkg_littlefs](tests/pkg_littlefs/test.failed)
- [tests/pkg_lora-serialization](tests/pkg_lora-serialization/test.failed)
- [tests/pkg_micro-ecc](tests/pkg_micro-ecc/test.failed)
- [tests/pkg_micro-ecc-with-hwrng](tests/pkg_micro-ecc-with-hwrng/test.failed)
- [tests/pkg_minmea](tests/pkg_minmea/test.failed)
- [tests/pkg_monocypher](tests/pkg_monocypher/test.failed)
- [tests/pkg_nanocbor](tests/pkg_nanocbor/test.failed)
- [tests/pkg_qdsa](tests/pkg_qdsa/test.failed)
- [tests/pkg_relic](tests/pkg_relic/test.failed)
- [tests/pkg_spiffs](tests/pkg_spiffs/test.failed)
- [tests/pkg_tiny-asn1](tests/pkg_tiny-asn1/test.failed)
- [tests/pkg_tinycbor](tests/pkg_tinycbor/test.failed)
- [tests/pkg_tweetnacl](tests/pkg_tweetnacl/test.failed)
- [tests/pkg_u8g2](tests/pkg_u8g2/test.failed)
- [tests/pkg_ucglib](tests/pkg_ucglib/test.failed)
- [tests/pkg_umorse](tests/pkg_umorse/test.failed)
- [tests/posix_semaphore](tests/posix_semaphore/test.failed)
- [tests/posix_time](tests/posix_time/test.failed)
- [tests/ps_schedstatistics](tests/ps_schedstatistics/test.failed)
- [tests/pthread](tests/pthread/test.failed)
- [tests/pthread_barrier](tests/pthread_barrier/test.failed)
- [tests/pthread_cleanup](tests/pthread_cleanup/test.failed)
- [tests/pthread_condition_variable](tests/pthread_condition_variable/test.failed)
- [tests/pthread_cooperation](tests/pthread_cooperation/test.failed)
- [tests/pthread_flood](tests/pthread_flood/test.failed)
- [tests/pthread_rwlock](tests/pthread_rwlock/test.failed)
- [tests/pthread_tls](tests/pthread_tls/test.failed)
- [tests/riotboot_hdr](tests/riotboot_hdr/test.failed)
- [tests/rmutex](tests/rmutex/test.failed)
- [tests/rng](tests/rng/test.failed)
- [tests/sched_testing](tests/sched_testing/test.failed)
- [tests/shell](tests/shell/test.failed)
- [tests/stdin](tests/stdin/test.failed)
- [tests/struct_tm_utility](tests/struct_tm_utility/test.failed)
- [tests/sys_crypto](tests/sys_crypto/test.failed)
- [tests/test_tools](tests/test_tools/test.failed)
- [tests/thread_basic](tests/thread_basic/test.failed)
- [tests/thread_cooperation](tests/thread_cooperation/test.failed)
- [tests/thread_exit](tests/thread_exit/test.failed)
- [tests/thread_flags](tests/thread_flags/test.failed)
- [tests/thread_flags_xtimer](tests/thread_flags_xtimer/test.failed)
- [tests/thread_flood](tests/thread_flood/test.failed)
- [tests/thread_msg](tests/thread_msg/test.failed)
- [tests/thread_msg_block_race](tests/thread_msg_block_race/test.failed)
- [tests/thread_msg_block_w_queue](tests/thread_msg_block_w_queue/test.failed)
- [tests/thread_msg_block_wo_queue](tests/thread_msg_block_wo_queue/test.failed)
- [tests/thread_msg_seq](tests/thread_msg_seq/test.failed)
- [tests/thread_race](tests/thread_race/test.failed)
- [tests/trickle](tests/trickle/test.failed)
- [tests/unittests](tests/unittests/test.failed)
- [tests/xtimer_hang](tests/xtimer_hang/test.failed)
- [tests/xtimer_msg](tests/xtimer_msg/test.failed)
- [tests/xtimer_msg_receive_timeout](tests/xtimer_msg_receive_timeout/test.failed)
- [tests/xtimer_mutex_lock_timeout](tests/xtimer_mutex_lock_timeout/test.failed)
- [tests/xtimer_now64_continuity](tests/xtimer_now64_continuity/test.failed)
- [tests/xtimer_periodic_wakeup](tests/xtimer_periodic_wakeup/test.failed)
- [tests/xtimer_remove](tests/xtimer_remove/test.failed)
- [tests/xtimer_reset](tests/xtimer_reset/test.failed)
- [tests/xtimer_usleep](tests/xtimer_usleep/test.failed)
- [tests/xtimer_usleep_short](tests/xtimer_usleep_short/test.failed)

@aabadie
Copy link
Contributor

aabadie commented Jan 15, 2020

Since there is still work done on this platform by @francois-berder, I'm closing this one. The failures reported will probably be fixed with #13094, so just a matter of time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Impact: major The PR changes a significant part of the code base. It should be reviewed carefully Platform: MIPS Platform: This PR/issue effects MIPS-based platforms State: waiting for other PR State: The PR requires another PR to be merged first Type: cleanup The issue proposes a clean-up / The PR cleans-up parts of the codebase / documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants