-
Notifications
You must be signed in to change notification settings - Fork 2k
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
boards/mips-malta: remove board. #11831
Conversation
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.
👍 |
Please add to LOSTANDFOUND.md. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
after grepping it says something was added for the malta board
./cpu/mips_pic32_common/reset_mod.S:72: .space 32 # Just to cope with a quirk of MIPS malta boards
Other than that I think it is good! |
Do we need to deprecate this? |
If I remove the comment, nobody knows why that ".space 32" is there and if I remove the line altogether I don't know what I may be breaking. I would keep it as is. Normally we would deprecate. The purpose of the deprecation is to warn people of the removal and give them time to complain about it or fix it or switch to another thing. In this case the board is already broken and I don't think there is anyone using it. |
Agree and agree |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK
Note, right now, nothing is using |
@cladmi good observation, I'll handle it tomorrow. |
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)
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)
Contribution description
The mips-malta board is a maintainance burden, has no working UART input and is unobtainable and thus must be removed.
Given that most likely nobody runs this board (see testing procedure) and it has been broken for several releases, I suggest removing it right away without deprecation warning. The failures/expect errors should serve as warnings anyways.
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 functionality 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.
Testing procedure
All the other boards should continue to work without problems.
In master you can verify that not even the minimal test works:
Issues/PRs references
(Please help me complete this list)
MIPS Issues: #11788