Skip to content

Expose __syscall and add new bootstrap method #299

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

Merged
merged 5 commits into from
Dec 2, 2020
Merged

Expose __syscall and add new bootstrap method #299

merged 5 commits into from
Dec 2, 2020

Conversation

adamgreig
Copy link
Member

We added __syscall in the new inline asm, but did not expose it in the crate API, and the cortex-m-semihosting crate can't use it directly because the pre-built binaries would contain duplicate symbols (#271). This PR renames it to __sh_syscall (since we could imagine other different syscalls; this one is explicitly semihosting with the bkpt 0xAB) and exposes it in cortex_m::asm::sh_syscall.

This PR also adds the new methods discussed in #297 to permit sound bootstrapping, either from an MSP and RV or a vector table address.

@rust-highfive
Copy link

r? @jonas-schievink

(rust-highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-cortex-m labels Dec 2, 2020
Co-authored-by: Jonas Schievink <[email protected]>
jonas-schievink
jonas-schievink previously approved these changes Dec 2, 2020
Co-authored-by: Jonas Schievink <[email protected]>
Copy link
Contributor

@jonas-schievink jonas-schievink left a comment

Choose a reason for hiding this comment

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

bors r+

@bors
Copy link
Contributor

bors bot commented Dec 2, 2020

Build succeeded:

@bors bors bot merged commit 038396e into master Dec 2, 2020
@bors bors bot deleted the new-asm branch December 2, 2020 15:22
@adamgreig adamgreig mentioned this pull request Jan 25, 2021
bors bot added a commit that referenced this pull request Jan 25, 2021
320: Prepare for v0.7.1 r=therealprof a=adamgreig

Includes:

* Deprecate msp::write #297
* New syscall and bootstrap ASM #299 
* More compiler fences #311 
* asm::delay timing fix #312 
* asm::delay clobber fix #317 
* LTO for ASM fix #318 

Doesn't include anything to help with #304 which might be nice to fix but can come in 0.7.2 and might need some time to think about.

Co-authored-by: Adam Greig <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-cortex-m
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants