aboutsummaryrefslogtreecommitdiff
path: root/asm (follow)
AgeCommit message (Collapse)AuthorFilesLines
2022-02-24Remove outlined asm, replace with stable inline asm.Gravatar Adam Greig 2-591/+0
2021-12-17Add nomem, nostack and preserves_flags options to appropriate asm calls.Gravatar Adam Greig 1-43/+71
2021-12-17bkpt: nostackGravatar Robert Jördens 1-1/+1
2021-12-17asm: allow stable asmGravatar Robert Jördens 1-0/+2
2021-12-16asm/inline: also use asm macro in modsGravatar Robert Jördens 1-0/+9
2021-12-16fmt [nfc]Gravatar Robert Jördens 1-1/+1
2021-12-16asm/inline: explicitly use asm macroGravatar Robert Jördens 1-0/+1
removed from prelude in current nightly https://github.com/rust-lang/rust/pull/91728 close #371 Signed-off-by: Robert Jördens <rj@quartiq.de>
2021-02-09Extra commentGravatar Ovidiu Sabou 1-0/+1
2021-02-08Prevent underflow when calling delay(n) with n<2Gravatar Ovidiu Sabou 1-1/+1
Calling delay(1) causes a very long wait (freeze) otherwise. 86cd463788b97ca3894936101c6cf4f3512f0fbc introduced this behaviour by changing the cycle count from n / 4 + 1 to n / 2 which forces an underflow when n<2.
2021-01-25Fix __delay clobberGravatar Jonas Schievink 1-1/+1
2021-01-07Fix timing of asm-based delay implementationGravatar Jonas Schievink 1-3/+6
2021-01-07Duplicate compiler fences around barrier instrsGravatar Jonas Schievink 1-0/+3
2020-12-02asm.bootstrap: only set CONTROL.SPSEL, mark as divergentGravatar Adam Greig 2-10/+16
2020-12-02Expose __syscall and add new bootstrap methodGravatar Adam Greig 2-2/+17
2020-11-04Fix panic handler removalGravatar Jonas Schievink 1-0/+1
2020-10-26Format everythingGravatar Jonas Schievink 1-2/+2
2020-10-13Add __syscall assemblyGravatar Jonas Schievink 2-2/+10
2020-10-02Add some Armv8-M assembly routinesGravatar Hugues de Valon 2-0/+21
Adds access to MSP_NS and the BXNS instruction. Also adds __dsb which was missing. Signed-off-by: Hugues de Valon <hugues.devalon@arm.com>
2020-09-05Address review commentsGravatar Adam Greig 1-5/+9
2020-09-03Tidy up some inline asm and add compiler fences where appropriateGravatar Adam Greig 1-66/+76
2020-08-29Fix shims for v8m.mainGravatar Jonas Schievink 1-1/+2
2020-08-29Merge asm implementationsGravatar Jonas Schievink 2-0/+478
2018-08-26remove build dependency on arm-none-eabi-gccGravatar Jorge Aparicio 23-131/+0
by shipping pre-assembled object files. This is the same approach as the one used in rust-embedded/cortex-m#95
2018-08-07mark all assembly functions as .thumb_funcGravatar Jorge Aparicio 22-0/+22
this works around a [LLD bug] related to interworking. [LLD bug]: https://bugs.llvm.org/show_bug.cgi?id=38435
2018-05-18fix asm! clobber, no inline-asm support, 4 insn per cycleGravatar Jorge Aparicio 1-0/+8
2018-05-11fix build on ARMv7E-MGravatar Jorge Aparicio 2-4/+2
2018-05-11stable by default, remove exception module, add SCB.vect_active, ..Gravatar Jorge Aparicio 1-1/+0
tweak Exception enum to match CMSIS names, document the parts of the API that require opting into `"inline-asm"`.
2018-04-26make compilable on stableGravatar Jorge Aparicio 22-0/+104