diff packages/hal/mips/arch/current/src/context.S @ 8:ece80412419a ecos-sw-1999-05-21

Merge from eCos master repository on 1999-05-21-22:05:54-BST
author jlarmour
date Fri, 21 May 1999 15:09:30 +0000
parents d376b777e2ce
children 7a6ac9edc838
line wrap: on
line diff
--- a/packages/hal/mips/arch/current/src/context.S
+++ b/packages/hal/mips/arch/current/src/context.S
@@ -44,8 +44,6 @@
 
 #include <cyg/hal/arch.inc>
 
-	.set noat
-	
 #------------------------------------------------------------------------------
 # hal_thread_switch_context
 # Switch thread contexts
@@ -58,6 +56,7 @@ hal_thread_switch_context:
 	addi	sp,sp,-mipsreg_size	# space for registers
 
 	# store GPRs
+	.set	noat
 #ifndef CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
 	sw	$0,(mipsreg_regs+0*mips_regsize)(sp)
 	sw	$1,(mipsreg_regs+1*mips_regsize)(sp)
@@ -93,7 +92,8 @@ hal_thread_switch_context:
 	sw	$30,(mipsreg_regs+30*mips_regsize)(sp)	# == FP
 	sw	$31,(mipsreg_regs+31*mips_regsize)(sp)	# == RA
 	sw	$31,(mipsreg_pc)(sp)		# == PC (to help with debugging)
-
+	.set	at
+	
 #ifndef CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
 
 	mflo	t0				# save LO and HI regs
@@ -152,6 +152,7 @@ hal_thread_load_context:
 #endif
 
 	# load GPRs
+	.set	noat
 #	lw	$0,(mipsreg_regs+0*mips_regsize)(sp)
 	lw	$4,(mipsreg_regs+4*mips_regsize)(sp)	# A0, must load for thread startup
 #ifndef CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
@@ -186,7 +187,8 @@ hal_thread_load_context:
 #	lw	$29,(mipsreg_regs+29*mips_regsize)(sp)	# == SP
 	lw	$30,(mipsreg_regs+30*mips_regsize)(sp)	# == FP
 	lw	$31,(mipsreg_regs+31*mips_regsize)(sp)	# == RA
-
+	.set	at
+	
 	lw	a2,mipsreg_sr(sp)		# A2 = saved SR
 	lw	sp,(mipsreg_regs+29*mips_regsize)(sp)	# SP = saved SP