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

Arm support #3

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
Open

Conversation

sevenautumns
Copy link
Contributor

Added Arm support to this project.

I used a new Rust target armv7-unknown-l4re-uclibceabihf for compiling the code.
For this I bootstrapped the Rust compiler: https://github.com/Steav005/rust/tree/update-l4re-target

using make setup, selecting arm-virt-pl2 and make works flawlessly.
Running make qemu PLATFORM_TYPE=arm_virt afterwards in obj/l4/arm-v7 also works.
Both examples basic_ipc (Rust) and hello_shared (C) seem to run.
(Of course all of this still works for amd64 as well)

Made this into a draft because currently I am using my own patch of libc:
https://github.com/Steav005/libc

Ill change this into a proper Pull Request once I created a pull request for libc to integrate my changes.

@humenda
Copy link
Owner

humenda commented Aug 25, 2021 via email

@humenda
Copy link
Owner

humenda commented Oct 15, 2021

Can we try to make progress on this? I'm preparing patches for aarch64, depending on your response, you might want to rebase your work on top of this.

@sevenautumns
Copy link
Contributor Author

It looks like libc is not going to pull my libc changes, because the libc code of mine would only be relevant for a custom rust-toolchain.
So unless the rust compiler gets support for l4re on arm and l4bender, they will probably not merge.
This makes this pull request or at least the rust code in this PR reliant on my custom libc repo. I do not know if this is okay with you.

@sevenautumns sevenautumns marked this pull request as ready for review October 15, 2021 12:27
@humenda
Copy link
Owner

humenda commented Oct 15, 2021 via email

@humenda
Copy link
Owner

humenda commented Oct 15, 2021 via email

This crate groups a few  C FFI related helpers that are lacking in
systems without std and libc support.
@sevenautumns
Copy link
Contributor Author

I've looked at the aarch64 branch and I like the Idea with the core-ffi-helpers.
I've also made a first effort to make my arm branch compatible with the core-ffi-helpers instead of my patched version of the libc-library, which seems to work just fine.
Once you merge your aarch64 branch into master, I'll update this pull request to be compatible.

@sevenautumns
Copy link
Contributor Author

Did you already add an aarch64 target for l4re to your rust-toolchain?
Maybe I can create a pull request for my arm target over there too.

@humenda
Copy link
Owner

humenda commented Sep 12, 2023

Hi @Steav005

I am aware that after this time, one could have regarded this as abandoned.
However, I finally have found the time too resume the work. I have cherry-picked
the first 2 commits and they are on master. I will go ahead in the next days /
weeks and review the commits individually, as the changes are too big to be
rerviewed at once. Given that I made you wait for so long, it's my obligation to
split up the PR :).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants