aboutsummaryrefslogtreecommitdiffstats
path: root/os
diff options
context:
space:
mode:
authorisiora <none@example.com>2018-03-07 11:48:25 +0000
committerisiora <none@example.com>2018-03-07 11:48:25 +0000
commit991afc2af953fc91cb4def631e1522bd297dfd60 (patch)
tree08fc6dda472401989939377bf7d79bcebb4df364 /os
parent19035d307702309268d2c0fca284c0d80f616168 (diff)
downloadChibiOS-991afc2af953fc91cb4def631e1522bd297dfd60.tar.gz
ChibiOS-991afc2af953fc91cb4def631e1522bd297dfd60.tar.bz2
ChibiOS-991afc2af953fc91cb4def631e1522bd297dfd60.zip
New TSSI interface.
git-svn-id: https://svn.code.sf.net/p/chibios/svn2/trunk@11610 110e8d01-0319-4d1e-a829-52ad28d1bb01
Diffstat (limited to 'os')
-rw-r--r--os/common/ports/ARMCAx-TZ/compilers/GCC/mk/port_generic.mk2
-rw-r--r--os/common/ports/ARMCAx-TZ/compilers/GCC/monitor.S30
2 files changed, 16 insertions, 16 deletions
diff --git a/os/common/ports/ARMCAx-TZ/compilers/GCC/mk/port_generic.mk b/os/common/ports/ARMCAx-TZ/compilers/GCC/mk/port_generic.mk
index b27a565a2..f7eba1cf2 100644
--- a/os/common/ports/ARMCAx-TZ/compilers/GCC/mk/port_generic.mk
+++ b/os/common/ports/ARMCAx-TZ/compilers/GCC/mk/port_generic.mk
@@ -1,6 +1,6 @@
# List of the ChibiOS/RT ARMCAx-TZ generic port files.
PORTSRC = ${CHIBIOS}/os/common/ports/ARMCAx-TZ/chcore.c \
- ${CHIBIOS}/os/common/ports/ARMCAx-TZ/chsmc.c
+ ${CHIBIOS}/os/common/ports/ARMCAx-TZ/chtssi.c
PORTASM = $(CHIBIOS)/os/common/ports/ARMCAx-TZ/compilers/GCC/chcoreasm.S \
$(CHIBIOS)/os/common/ports/ARMCAx-TZ/compilers/GCC/monitor.S
diff --git a/os/common/ports/ARMCAx-TZ/compilers/GCC/monitor.S b/os/common/ports/ARMCAx-TZ/compilers/GCC/monitor.S
index feb6ceba5..647966b72 100644
--- a/os/common/ports/ARMCAx-TZ/compilers/GCC/monitor.S
+++ b/os/common/ports/ARMCAx-TZ/compilers/GCC/monitor.S
@@ -139,7 +139,7 @@ _monitor_vectors:
* SMC entry
*/
sm_call:
- stmfd sp!, {r3, r12}
+ stmfd sp!, {r4, r12}
ldr r12, =MON_S_SCR // enter in the secure world
mcr p15, 0, r12, c1, c1, 0
ands r0, r0 // OS special service,
@@ -147,44 +147,44 @@ sm_call:
// r1 contains the address where it jumps
beq 1f
- mrs r3, SPSR
+ mrs r4, SPSR
mov r12, lr
- stmfd sp!, {r3, r12} // push r3=spsr_mon, r12=lr_mon.
+ stmfd sp!, {r4, r12} // push r4=spsr_mon, r12=lr_mon.
cps #MODE_SYS // switch to sys mode, ints disabled
- ldr r3, =sm_nsecctx
- sm_store_ooctx_regs r3
+ ldr r4, =sm_nsecctx
+ sm_store_ooctx_regs r4
cps #MODE_SYS
- ldr r3, =sm_secctx
- sm_load_ooctx_regs r3
+ ldr r4, =sm_secctx
+ sm_load_ooctx_regs r4
cps #MODE_SYS
bl smcEntry // call the C smc handler
- ldr r3, =sm_secctx
- sm_store_ooctx_regs r3
+ ldr r4, =sm_secctx
+ sm_store_ooctx_regs r4
cps #MODE_SYS
- ldr r3, =sm_nsecctx
- sm_load_ooctx_regs r3
+ ldr r4, =sm_nsecctx
+ sm_load_ooctx_regs r4
cps #MODE_MON // switch to monitor mode
- ldmfd sp!, {r3, r12} // pop r3=spsr_mon, r12=lr_mon.
- msr SPSR_fsxc, r3
+ ldmfd sp!, {r4, r12} // pop r4=spsr_mon, r12=lr_mon.
+ msr SPSR_fsxc, r4
mov lr, r12
ldr r12, =MON_NS_SCR // enter in the non-secure world
mcr p15, 0, r12, c1, c1, 0
- ldmfd sp!, {r3, r12}
+ ldmfd sp!, {r4, r12}
subs pc, lr, #0 // return from smc
1:
mov lr, r1 // use the address in r1 as return address
// in the non secure world
ldr r12, =MON_NS_SCR // enter in the non-secure world
mcr p15, 0, r12, c1, c1, 0
- ldmfd sp!, {r3, r12}
+ ldmfd sp!, {r4, r12}
subs pc, lr, #0 // return from smc
/*