summaryrefslogtreecommitdiff
path: root/arch/ia64
diff options
context:
space:
mode:
authorJack Steiner <steiner@sgi.com>2006-08-31 11:34:47 -0500
committerTony Luck <tony.luck@intel.com>2006-09-08 11:05:13 -0700
commit1c7d67073e2d196597f541351bc9b109c8a93528 (patch)
tree083f41edca573e59cb773672867cd24027102014 /arch/ia64
parent2636255488484e04d6d54303d2b0ec30f7ef7e02 (diff)
downloadlinux-3.10-1c7d67073e2d196597f541351bc9b109c8a93528.tar.gz
linux-3.10-1c7d67073e2d196597f541351bc9b109c8a93528.tar.bz2
linux-3.10-1c7d67073e2d196597f541351bc9b109c8a93528.zip
[IA64] Save register stack contents on cpu start
The SN PROM uses the register stack in the slave loop. The contents must be preserved for the OS to return to the slave loop via offlining a cpu or for kexec. A 'flushrs" is needed to force the stack to be written to memory prior to changing bspstore. Signed-off-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64')
-rw-r--r--arch/ia64/kernel/head.S5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/ia64/kernel/head.S b/arch/ia64/kernel/head.S
index 29236f0c62b..44d540efa6d 100644
--- a/arch/ia64/kernel/head.S
+++ b/arch/ia64/kernel/head.S
@@ -197,6 +197,11 @@ start_ap:
;;
srlz.i
;;
+ {
+ flushrs // must be first insn in group
+ srlz.i
+ }
+ ;;
/*
* Save the region registers, predicate before they get clobbered
*/