diff options
| author | wuyangyong <[email protected]> | 2011-09-05 15:06:14 +0000 |
|---|---|---|
| committer | wuyangyong <[email protected]> | 2011-09-05 15:06:14 +0000 |
| commit | 0a3eeb9f0a15586c50de88b9721ea880daa2883a (patch) | |
| tree | eea0125ffa0641ad6aa5bd351e8282794c57f043 /libcpu/mips | |
| parent | 446db862dd7bc374cefddb58268ed005e44b8421 (diff) | |
fix context bug(flag not clean)
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1695 bbd45198-f89e-11dd-88c7-29a3b14d5316
Diffstat (limited to 'libcpu/mips')
| -rw-r--r-- | libcpu/mips/pic32/context_gcc.S | 16 |
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
|
