diff options
author | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2013-04-10 13:48:02 +0000 |
---|---|---|
committer | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2013-04-10 13:48:02 +0000 |
commit | 411d89eb6b893ddbeb530cb3fc606044776cdaf2 (patch) | |
tree | 535b7dd08451900884ad15f84b30fb346bb4d3ee | |
parent | 2585da7468ef6629ba98bbf857a0a874248656e9 (diff) | |
download | ChibiOS-411d89eb6b893ddbeb530cb3fc606044776cdaf2.tar.gz ChibiOS-411d89eb6b893ddbeb530cb3fc606044776cdaf2.tar.bz2 ChibiOS-411d89eb6b893ddbeb530cb3fc606044776cdaf2.zip |
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@5584 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r-- | os/ports/GCC/PPC/ivor.s | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/os/ports/GCC/PPC/ivor.s b/os/ports/GCC/PPC/ivor.s index 46dc66bf5..8235af0e5 100644 --- a/os/ports/GCC/PPC/ivor.s +++ b/os/ports/GCC/PPC/ivor.s @@ -86,6 +86,11 @@ _IVOR10: lis %r3, 0x0800 /* DIS bit mask. */
mtspr 336, %r3 /* TSR register. */
+#if PPC_USE_IRQ_PREEMPTION
+ /* Allows preemption while executing the software handler.*/
+ wrteei 1
+#endif
+
#if CH_DBG_SYSTEM_STATE_CHECK
bl dbg_check_enter_isr
bl dbg_check_lock_from_isr
@@ -96,6 +101,11 @@ _IVOR10: bl dbg_check_leave_isr
#endif
+#if PPC_USE_IRQ_PREEMPTION
+ /* Prevents preemption again.*/
+ wrteei 0
+#endif
+
/* System tick handler invocation.*/
#if CH_DBG_SYSTEM_STATE_CHECK
bl dbg_check_lock
|