瀏覽代碼

fix context bug(flag not clean)

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1695 bbd45198-f89e-11dd-88c7-29a3b14d5316
wuyangyong 13 年之前
父節點
當前提交
0a3eeb9f0a
共有 1 個文件被更改,包括 7 次插入9 次删除
  1. 7 9
      libcpu/mips/pic32/context_gcc.S

+ 7 - 9
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