-
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
[WIP] 64-bit support for native board / cpu #13009
Conversation
So after having gotten this to work experimentally and thinking about how to clean up the implementation, I've reached and impasse, since I feel like the inclusion of 64 bit raises some questions in how I'm wondering if a structure like the following would not make more sense for the future:
This would also remove @RIOT-OS/maintainers |
@RIOT-OS/maintainers sorry for spamming all of you, but if I need some input here in order to go forward :) |
hmm. It might depend on whether we want to be "native" to always compile for the host system (no matter what it is, that's what happens now, but with only 32bit support) or if we want to freely cross compile all possible combinations. Or even if we want to just identify them individually. I'll put some thought into it... |
Why not have 3 boards, as I originally proposed: |
hopefully the differences are mostly in the threading code (which has assembly versions), in I propose to keep one |
And what if if you want to run a 32-bit |
Make it a compile time option?
Maybe that makes more sense from the usability perspective. But that would also mean that we'd always have to ask which native was actually used... Could be preferable. |
As we would need to ask on which host platform they compiled it... or which compile-time option they used. |
true that... |
If I work on this I'd like to split up the CPUs because it's very confusing to work on it right now, since stuff is littered with
It's hard enough to work with (and document) as it is :D While reading this I was wondering if the following would make sense:
🤔 |
Ping @kaspar030 @miri64 |
Why not keep the name/prefix |
I think it's a misnomer, since
This is also my understanding of |
Whoops sorry I edited your comment, I meant to edit my comment before that v_v I didn't even know I could edit random people's comments :D |
Then UNIX is a misnomer too, as ideally it would run on any host machine and makes the operating system (or family of operating systems) the board somehow ;-). |
|
No it's not, since all of the common functionality provided by native is unix specific. In terms of "this PR is about adding 64-bit": yeah, and I think the way that Edit: For the record, we can also call it |
And I think it is confusing (for users) to effectively just remove a popular testing platform and replace it with a different one in an architecture update ;-). |
*/ | ||
|
||
/** | ||
* register interrupt handler handler for interrupt sig |
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.
s/handler handler/handler/
#ifdef __MACH__ | ||
#else |
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.
#ifndef __MACH__
?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions. |
@x3ro Can someone else take this over, I think people still want this! |
Hey folks, TLDR: @MrKevinWeiss Sure, I'd be happy to hand this over to someone else. I took another peek at this, and here's where I think this PR currently stands:
As far as CPUs go, I don't think that jamming all of this into
I understand and generally agree with the argument that individual PRs should concern themselves with a single change, and I also agree that breaking changes aren't great. In this particular case, I think that both are warranted because it'd make this endeavor much easier to pull off. Adding 64-bit support to the current state would certainly be possible, but doing that and then ripping it apart again in a subsequent PR would be much more difficult and, lets admit it, unlikely to happen, since nobody seems super eager to touch this code at all. From where I'm standing, we should start with
But I'll leave the decision / discussion on this to whoever ends up picking this up. |
Maybe that could be a good way for now. I think the current state of the MacOS support is suspect anyway, since, while trying to clean-up |
To say it short: Providing 64-bit should be in the first place about future-proofing RIOT for now. 1. Ubuntu already gave a warning shot against 32-bit systems, that though it saw backlash might return in the future, thus is not a MacOS-only problem, and 2. maybe will not only be about |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you want me to ignore this issue, please mark it with the "State: don't stale" label. Thank you for your contributions. |
There is now native64 support since #20315, closing this. Thanks for making the case, and for kicking off work that made that PR easier to complete. |
Contribution description
Disclaimer: this is still in the early stages. I'm creating a PR now so that people can try this out themselves.
64-bit support for RIOT native, since some operating systems (read: macOS) and some Linux distros are moving away from easily supporting 32-bit applications.
Testing procedure
cd examples/hello-world && make && make term
Issues/PRs references
Fixes #6603