From 0a3eeb9f0a15586c50de88b9721ea880daa2883a Mon Sep 17 00:00:00 2001 From: wuyangyong Date: Mon, 5 Sep 2011 15:06:14 +0000 Subject: [PATCH] fix context bug(flag not clean) git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1695 bbd45198-f89e-11dd-88c7-29a3b14d5316 --- libcpu/mips/pic32/context_gcc.S | 16 +++++++--------- 1 file 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