summary refs log tree commit diff
path: root/arch/s390/kernel
diff options
context:
space:
mode:
authorCarsten Otte <cotte@de.ibm.com>2011-10-30 15:16:59 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2011-10-30 15:16:44 +0100
commit69ba97436647f3b793f8e0784d1cde63adf241ea (patch)
tree6438a5df039ddd7e1641848a8f0d0cf137248b17 /arch/s390/kernel
parentd98e19ccef10c5aadccc4ffe2925e4099ff9606a (diff)
downloadlinux-69ba97436647f3b793f8e0784d1cde63adf241ea.tar.gz
[S390] load user asce on sie_fault
On sie_fault we need to switch back to user ASCE. Otherwise we get
interresting effects when exiting to "userspace" while the guest
space is still active.

Signed-off-by: Carsten Otte <cotte@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel')
-rw-r--r--arch/s390/kernel/entry64.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/s390/kernel/entry64.S b/arch/s390/kernel/entry64.S
index e34907560c23..83a93747e2fd 100644
--- a/arch/s390/kernel/entry64.S
+++ b/arch/s390/kernel/entry64.S
@@ -1081,6 +1081,7 @@ sie_exit:
 	lghi	%r2,0
 	br	%r14
 sie_fault:
+	lctlg	%c1,%c1,__LC_USER_ASCE		# load primary asce
 	lg	%r14,__LC_THREAD_INFO		# pointer thread_info struct
 	ni	__TI_flags+6(%r14),255-(_TIF_SIE>>8)
 	lg	%r14,__SF_EMPTY+8(%r15)		# load guest register save area