Skip to content

Conversation

adamgreig
Copy link
Member

These instructions (A6.7.21-24 in ARMv6-M reference and A7.7.32-36 in ARMv7-M reference) allow explicit instruction and memory synchronisation. They're necessary for dealing with caches in Cortex-M7 parts and for various DMA operations on other parts.

Since they exist in both ARMv6-M and ARMv7-M I've added them as #[cfg(target_arch="arm")] but maybe there's a better cfg flag?

The argument 0xF is the only permitted encoding. They are all marked volatile and as clobbering memory in the CMSIS C implementation.

@japaric
Copy link
Member

japaric commented Jun 5, 2017

Thank you, @adamgreig.

@homunkulus r+

@homunkulus
Copy link
Contributor

📌 Commit c4d897e has been approved by japaric

@homunkulus
Copy link
Contributor

⌛ Testing commit c4d897e with merge c4d897e...

@homunkulus
Copy link
Contributor

☀️ Test successful - status-travis
Approved by: japaric
Pushing c4d897e to master...

@homunkulus homunkulus merged commit c4d897e into rust-embedded:master Jun 5, 2017
adamgreig pushed a commit that referenced this pull request Jan 12, 2022
Don't include lang_items when in test mode.
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.

3 participants