summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/microblaze/microblaze-context-volatile-clobber.S
diff options
context:
space:
mode:
authorAlex White <alex.white@oarcorp.com>2021-09-30 23:57:01 -0500
committerJoel Sherrill <joel@rtems.org>2021-10-13 14:45:37 -0500
commitd03776e804e2cb190442d2a2debf297714ca8049 (patch)
tree108aba7fb973915a52c407751ce23abf77eccac6 /cpukit/score/cpu/microblaze/microblaze-context-volatile-clobber.S
parentbsps: Add MicroBlaze FPGA BSP (diff)
downloadrtems-d03776e804e2cb190442d2a2debf297714ca8049.tar.bz2
microblaze: Rework for RTEMS 6
This reworks the existing MicroBlaze architecture port and BSP to achieve basic functionality using the latest RTEMS APIs.
Diffstat (limited to 'cpukit/score/cpu/microblaze/microblaze-context-volatile-clobber.S')
-rw-r--r--cpukit/score/cpu/microblaze/microblaze-context-volatile-clobber.S28
1 files changed, 28 insertions, 0 deletions
diff --git a/cpukit/score/cpu/microblaze/microblaze-context-volatile-clobber.S b/cpukit/score/cpu/microblaze/microblaze-context-volatile-clobber.S
new file mode 100644
index 0000000000..fb49dc5e40
--- /dev/null
+++ b/cpukit/score/cpu/microblaze/microblaze-context-volatile-clobber.S
@@ -0,0 +1,28 @@
+#ifdef HAVE_CONFIG_H
+ #include "config.h"
+#endif
+
+#include <rtems/asm.h>
+
+.text
+.align 4
+
+PUBLIC(_CPU_Context_volatile_clobber)
+
+SYM(_CPU_Context_volatile_clobber):
+
+.macro clobber_register reg
+ addi r5, r5, -1
+ add \reg, r0, r5
+.endm
+
+ clobber_register r3
+ clobber_register r4
+ clobber_register r6
+ clobber_register r7
+ clobber_register r8
+ clobber_register r9
+ clobber_register r10
+
+ rtsd r15, 8
+ nop