-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Add aarch32 support #33
Conversation
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
BRB, talking to my legal team about the CLA. |
4b7fb20
to
0229d45
Compare
oops, I forgot fake.rs. Tests should now pass. |
The multi-core PR got merged and I need to rebase. Unfortunately that PR didn't update the example in |
0229d45
to
90322fe
Compare
Ah sorry, we don't have doc tests running so I missed that. I'll send a PR to fix it, but it if you're on a single-core system it should just be a matter of passing 0 in a bunch of places. |
Rebased and re-tested. If you don't get it right, you get a panic :/. But at least that told me that SGIs are in fact private interrupts (which makes sense). A compile failure would be better but I can't immediately think how to do that - you would probably have to split the interrupt type into private and shared kinds. |
Currently it witholds SPECIAL_START, which is actually SPECIAL_SECURE. This appears to be a typo, but I'm happy to be corrected (in which case I will have to deal with SPECIAL_NONE in my application).
90322fe
to
1e128c5
Compare
rebased on main |
Thanks for rebasing. I'll look at this once the CLA is sorted. |
The CLA is signed - just waiting for it to process. |
Hi Jonathan, your CLA signature still isn't showing up, either against your GitHub username or your email address jonathan.pallant@ferrous-systems.com. Did you maybe make a typo entering your GitHub username when you signed it? |
We have signed it as a Corporation, and I am a member of the google-cla@ferrous-systems.com group. |
Ah, gotcha. Hopefully that gets processed soon then. |
tada |
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.
Thanks!
Implements the sysreg calls for aarch32 and aarch64.
Also fixes an issue I observed where SPECIAL_SECURE was being withheld from the application, but not SPECIAL_NONE - that seemed wrong.
See https://github.com/ferrous-systems/cortex-r/blob/send-arm-gic-upstream/cortex-r-examples/src/bin/gic.rs for an example tested in QEMU:
I'm using Ferrocene (
criticalup run
) because upstream Rust hasarmv8r-none-eabihf
at Tier 3 so it isn't inrustup
. But also because I can.