summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwuyangyong <[email protected]>2011-09-05 15:06:14 +0000
committerwuyangyong <[email protected]>2011-09-05 15:06:14 +0000
commit0a3eeb9f0a15586c50de88b9721ea880daa2883a (patch)
treeeea0125ffa0641ad6aa5bd351e8282794c57f043
parent446db862dd7bc374cefddb58268ed005e44b8421 (diff)
fix context bug(flag not clean)
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1695 bbd45198-f89e-11dd-88c7-29a3b14d5316
-rw-r--r--libcpu/mips/pic32/context_gcc.S16
1 files changed, 7 insertions, 9 deletions
diff --git a/libcpu/mips/pic32/context_gcc.S b/libcpu/mips/pic32/context_gcc.S
index da9138c06a..f5b3493cf3 100644
--- a/libcpu/mips/pic32/context_gcc.S
+++ b/libcpu/mips/pic32/context_gcc.S
@@ -93,17 +93,15 @@ _reswitch:
.globl CoreSW0Handler
CoreSW0Handler:
- SAVE_ALL
+ SAVE_ALL
- /* mCS0ClearIntFlag(); */
- la t0, IFS0CLR /* t0 = IFS0CLR */
- addiu t1,zero,0x02 /* t1 = (1<<2) */
- sw t1, 0(t0) /* IFS0CLR = t1 */
+ /* mCS0ClearIntFlag(); */
+ la t0, IFS0CLR /* t0 = IFS0CLR */
+ addiu t1,zero,0x02 /* t1 = (1<<2) */
+ sw t1, 0(t0) /* IFS0CLR = t1 */
- /* tol rd2 */
- lui v1,0xbf88
- addiu v0,zero,(1<<0)
- sw v0,24812(v1)
+ la k0, rt_thread_switch_interrput_flag
+ sw zero, 0(k0) /* clear flag */
/*
* switch to the new thread