diff options
author | Carsten Otte <cotte@de.ibm.com> | 2011-10-30 10:16:59 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2011-10-30 10:16:44 -0400 |
commit | 69ba97436647f3b793f8e0784d1cde63adf241ea (patch) | |
tree | 6438a5df039ddd7e1641848a8f0d0cf137248b17 /arch/s390 | |
parent | d98e19ccef10c5aadccc4ffe2925e4099ff9606a (diff) |
[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')
-rw-r--r-- | arch/s390/kernel/entry64.S | 1 |
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: | |||
1081 | lghi %r2,0 | 1081 | lghi %r2,0 |
1082 | br %r14 | 1082 | br %r14 |
1083 | sie_fault: | 1083 | sie_fault: |
1084 | lctlg %c1,%c1,__LC_USER_ASCE # load primary asce | ||
1084 | lg %r14,__LC_THREAD_INFO # pointer thread_info struct | 1085 | lg %r14,__LC_THREAD_INFO # pointer thread_info struct |
1085 | ni __TI_flags+6(%r14),255-(_TIF_SIE>>8) | 1086 | ni __TI_flags+6(%r14),255-(_TIF_SIE>>8) |
1086 | lg %r14,__SF_EMPTY+8(%r15) # load guest register save area | 1087 | lg %r14,__SF_EMPTY+8(%r15) # load guest register save area |