[PATCH] ARM: Prevent _ARMV4_Exception_fiq_default from re-enabling FIQs.
Martin Galvan
martin.galvan at tallertechnologies.com
Thu Feb 26 17:39:05 UTC 2015
In _ARMV4_Exception_fiq_default, set the F bit of the SPSR so that when it gets loaded back to the CPSR in save_more_context it won't re-enable the FIQs.
Tested on a TMS570LS3137.
---
cpukit/score/cpu/arm/armv4-exception-default.S | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/cpukit/score/cpu/arm/armv4-exception-default.S b/cpukit/score/cpu/arm/armv4-exception-default.S
index a0ee46c..a10de30 100644
--- a/cpukit/score/cpu/arm/armv4-exception-default.S
+++ b/cpukit/score/cpu/arm/armv4-exception-default.S
@@ -99,6 +99,14 @@ _ARMV4_Exception_fiq_default:
stmdb sp!, {r0-r12}
mov r4, #7
+ /*
+ * Don't enable FIQs yet. Set the FIQ disable bit in the SPSR
+ * (which we'll load into the CPSR in save_more_context).
+ */
+ mrs r2, spsr
+ orr r2, #ARM_PSR_F
+ msr spsr_c, r2
+
save_more_context:
/* Save more context */
--
2.3.0
More information about the devel
mailing list