diff options
author | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2013-01-19 07:44:09 +0000 |
---|---|---|
committer | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2013-01-19 07:44:09 +0000 |
commit | 78116c85648a2b13c582f0857d7bcdf062251825 (patch) | |
tree | 9e5827d0a1d8787ff13cd4d533be68813c1c7f21 /os/ports | |
parent | 54ae934f7d9c8bf86c4920747a4120a8037ae80d (diff) | |
download | ChibiOS-78116c85648a2b13c582f0857d7bcdf062251825.tar.gz ChibiOS-78116c85648a2b13c582f0857d7bcdf062251825.tar.bz2 ChibiOS-78116c85648a2b13c582f0857d7bcdf062251825.zip |
Fixed bug 3601460.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@5077 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/ports')
-rw-r--r-- | os/ports/GCC/MSP430/chcoreasm.s | 56 |
1 files changed, 32 insertions, 24 deletions
diff --git a/os/ports/GCC/MSP430/chcoreasm.s b/os/ports/GCC/MSP430/chcoreasm.s index 99c8744fd..5414b7172 100644 --- a/os/ports/GCC/MSP430/chcoreasm.s +++ b/os/ports/GCC/MSP430/chcoreasm.s @@ -18,38 +18,46 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#include "chconf.h"
+
+#define FALSE 0
+#define TRUE 1
+
.text
.p2align 1, 0
.weak _port_switch
_port_switch:
- push r11
- push r10
- push r9
- push r8
- push r7
- push r6
- push r5
- push r4
- mov r1, 6(r14)
- mov 6(r15), r1
- pop r4
- pop r5
- pop r6
- pop r7
- pop r8
- pop r9
- pop r10
- pop r11
- ret
+ push r11
+ push r10
+ push r9
+ push r8
+ push r7
+ push r6
+ push r5
+ push r4
+ mov r1, 6(r14)
+ mov 6(r15), r1
+ pop r4
+ pop r5
+ pop r6
+ pop r7
+ pop r8
+ pop r9
+ pop r10
+ pop r11
+ ret
.p2align 1, 0
.weak _port_thread_start
_port_thread_start:
- eint
- mov r11, r15
- call r10
- call #chThdExit
- ; Falls into _port_halt
+#if CH_DBG_SYSTEM_STATE_CHECK
+ call #dbg_check_unlock
+#endif
+ eint
+ mov r11, r15
+ call r10
+ call #chThdExit
+ ; Falls into _port_halt
.p2align 1, 0
.weak _port_halt
|