2004-02-26 Andreas Karlsson <andreas.karlsson@space.se>

* cpu_asm.S: Close window while restoring interrupted task state which
	resulted in CWP corruption.
This commit is contained in:
Joel Sherrill
2004-02-26 17:23:54 +00:00
parent f4548e9f81
commit f4fe0e9a3c
2 changed files with 16 additions and 0 deletions
+5
View File
@@ -1,3 +1,8 @@
2004-02-26 Andreas Karlsson <andreas.karlsson@space.se>
* cpu_asm.S: Close window while restoring interrupted task state which
resulted in CWP corruption.
2004-01-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Move RTEMS_TOP one subdir down.
+11
View File
@@ -684,6 +684,17 @@ SYM(_ISR_Dispatch):
call SYM(_Thread_Dispatch), 0
nop
/*
* We invoked _Thread_Dispatch in a state similar to the interrupted
* task. In order to safely be able to tinker with the register
* windows and get the task back to its pre-interrupt state,
* we need to disable interrupts disabled so we can safely tinker
* with the register windowing. In particular, the CWP in the PSR
* is fragile during this period. (See PR578.)
*/
mov 2,%g1 ! syscall (disable interrupts)
ta 0 ! syscall (disable interrupts)
/*
* The CWP in place at this point may be different from
* that which was in effect at the beginning of the ISR if we