t-kernel team mailing list archive
-
t-kernel team
-
Mailing list archive
-
Message #00098
[PATCH] monitor: return if in user mode
From: Du Huanpeng <u74147@xxxxxxxxx>
Signed-off-by: Du Huanpeng <u74147@xxxxxxxxx>
---
tkernel_source/monitor/hwdepend/arm/cpu/reset-reset.S | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/tkernel_source/monitor/hwdepend/arm/cpu/reset-reset.S b/tkernel_source/monitor/hwdepend/arm/cpu/reset-reset.S
index a76ea88..f974cfc 100644
--- a/tkernel_source/monitor/hwdepend/arm/cpu/reset-reset.S
+++ b/tkernel_source/monitor/hwdepend/arm/cpu/reset-reset.S
@@ -45,10 +45,13 @@ startup_entry:
@ CORTEX-R4 NZCVQ[IT 1:0] J [DNM][GE 3:0][IT 7:2]EAIFTMMMMM page 3-9
@ ARM lowlevel initial
// SVC mode, FIQ/IRQ interrupt disabled
- mrs r0, cpsr
- bic r0, #0x1F
- orr r0, #0xD3 @ disable FIQ IRQ Supervisor Mode
- msr cpsr, r0
+ mrs r7, cpsr
+ and r6, #0x1F
+ cmp r6, #0x10
+ bxeq lr @ error, user mode
+ bic r7, #0x1F
+ orr r7, #0xD3 @ disable FIQ IRQ Supervisor Mode
+ msr cpsr, r7
// use On-Chip SRAM as stack area
#ifdef CONFIG_TM_INIT_SP
--
1.9.1