Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2018-01-09 13:19:50 +0100
committerJiri Kosina <jkosina@suse.cz>2018-01-09 13:19:50 +0100
commitf3c1b749edc6b9993ab5132ef7585598158444c9 (patch)
tree677f3942e2fcdfe36bc11fc585fee48ad7564a81
parent8ac207873e10a97469079b6f566078fdf802b7f6 (diff)
Refresh patches.arch/s390-sles11sp4-99-03-nobp.patch: fix spruios nobp; update to newer
version from IBM.
-rw-r--r--patches.arch/s390-sles11sp4-99-03-nobp.patch88
1 files changed, 65 insertions, 23 deletions
diff --git a/patches.arch/s390-sles11sp4-99-03-nobp.patch b/patches.arch/s390-sles11sp4-99-03-nobp.patch
index 81ad06f195..8dd849c639 100644
--- a/patches.arch/s390-sles11sp4-99-03-nobp.patch
+++ b/patches.arch/s390-sles11sp4-99-03-nobp.patch
@@ -6,14 +6,6 @@ Patch-mainline: Not yet, under development
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
---
- arch/s390/include/asm/processor.h | 1
- arch/s390/kernel/alternative.c | 13 ++++++
- arch/s390/kernel/entry.S | 73 +++++++++++++++++++++++++++---------
- arch/s390/kernel/entry64.S | 76 ++++++++++++++++++++++++++++++--------
- arch/s390/kernel/ipl.c | 1
- arch/s390/kernel/smp.c | 2 +
- arch/s390/kernel/vmlinux.lds.S | 3 +
- 7 files changed, 136 insertions(+), 33 deletions(-)
--- a/arch/s390/include/asm/processor.h
+++ b/arch/s390/include/asm/processor.h
@@ -115,14 +107,15 @@ Signed-off-by: Jiri Kosina <jkosina@suse.cz>
CREATE_STACK_FRAME __LC_SAVE_AREA
mvc SP_PSW(8,%r15),__LC_SVC_OLD_PSW
mvc SP_ILC(4,%r15),__LC_SVC_ILC
-@@ -264,7 +288,11 @@ sysc_tif:
+@@ -263,8 +287,12 @@ sysc_return:
+ sysc_tif:
tm __TI_flags+3(%r12),_TIF_WORK_SVC
bnz BASED(sysc_work) # there is work to do (signals etc.)
++ BPON
sysc_restore:
- RESTORE_ALL __LC_RETURN_PSW,1
+ mvc __LC_RETURN_PSW(8),SP_PSW(%r15)
+ lm %r0,%r15,SP_R0(%r15)
-+ BPON
+ stpt __LC_EXIT_TIMER
+ lpsw __LC_RETURN_PSW
sysc_done:
@@ -136,7 +129,31 @@ Signed-off-by: Jiri Kosina <jkosina@suse.cz>
SAVE_ALL_BASE __LC_SAVE_AREA
tm __LC_PGM_INT_CODE+1,0x80 # check whether we got a per exception
bnz BASED(pgm_per) # got per exception -> special case
-@@ -569,6 +598,7 @@ kernel_per:
+@@ -479,7 +508,10 @@ pgm_no_vtime:
+ la %r2,SP_PTREGS(%r15) # address of register-save area
+ basr %r14,%r1 # branch to interrupt-handler
+ pgm_exit:
+- b BASED(sysc_return)
++ LOCKDEP_SYS_EXIT
++ tm SP_PSW+1(%r15),0x01 # returning to user ?
++ bno BASED(sysc_restore)
++ b BASED(sysc_tif)
+
+ #
+ # handle per exception
+@@ -527,7 +559,10 @@ pgm_no_vtime2:
+ la %r2,SP_PTREGS(%r15) # address of register-save area
+ basr %r14,%r1 # branch to interrupt-handler
+ pgm_exit2:
+- b BASED(sysc_return)
++ LOCKDEP_SYS_EXIT
++ tm SP_PSW+1(%r15),0x01 # returning to user ?
++ bno BASED(sysc_restore)
++ b BASED(sysc_tif)
+
+ #
+ # it was a single stepped SVC that is causing all the trouble
+@@ -569,6 +604,7 @@ kernel_per:
io_int_handler:
stck __LC_INT_CLOCK
stpt __LC_ASYNC_ENTER_TIMER
@@ -144,7 +161,7 @@ Signed-off-by: Jiri Kosina <jkosina@suse.cz>
SAVE_ALL_ASYNC __LC_IO_OLD_PSW,__LC_SAVE_AREA+16
CREATE_STACK_FRAME __LC_SAVE_AREA+16
mvc SP_PSW(8,%r15),0(%r12) # move user PSW to stack
-@@ -590,7 +620,15 @@ io_tif:
+@@ -590,7 +626,15 @@ io_tif:
tm __TI_flags+3(%r12),_TIF_WORK_INT
bnz BASED(io_work) # there is work to do (signals etc.)
io_restore:
@@ -161,7 +178,7 @@ Signed-off-by: Jiri Kosina <jkosina@suse.cz>
io_done:
#
-@@ -707,6 +745,7 @@ io_notify_resume:
+@@ -707,6 +751,7 @@ io_notify_resume:
ext_int_handler:
stck __LC_INT_CLOCK
stpt __LC_ASYNC_ENTER_TIMER
@@ -169,7 +186,7 @@ Signed-off-by: Jiri Kosina <jkosina@suse.cz>
SAVE_ALL_ASYNC __LC_EXT_OLD_PSW,__LC_SAVE_AREA+16
CREATE_STACK_FRAME __LC_SAVE_AREA+16
mvc SP_PSW(8,%r15),0(%r12) # move user PSW to stack
-@@ -734,6 +773,7 @@ __critical_end:
+@@ -734,6 +779,7 @@ __critical_end:
.globl mcck_int_handler
mcck_int_handler:
stck __LC_MCCK_CLOCK
@@ -177,7 +194,7 @@ Signed-off-by: Jiri Kosina <jkosina@suse.cz>
spt __LC_CPU_TIMER_SAVE_AREA # revalidate cpu timer
lm %r0,%r15,__LC_GPREGS_SAVE_AREA # revalidate gprs
SAVE_ALL_BASE __LC_SAVE_AREA+32
-@@ -803,15 +843,12 @@ mcck_no_vtime:
+@@ -803,15 +849,12 @@ mcck_no_vtime:
mcck_return:
mvc __LC_RETURN_MCCK_PSW(8),SP_PSW(%r15) # move return PSW
ni __LC_RETURN_MCCK_PSW+1,0xfd # clear wait state bit
@@ -268,15 +285,16 @@ Signed-off-by: Jiri Kosina <jkosina@suse.cz>
CREATE_STACK_FRAME __LC_SAVE_AREA
mvc SP_PSW(16,%r15),__LC_SVC_OLD_PSW
mvc SP_ILC(4,%r15),__LC_SVC_ILC
-@@ -292,7 +313,14 @@ sysc_tif:
+@@ -291,8 +312,15 @@ sysc_return:
+ sysc_tif:
tm __TI_flags+7(%r12),_TIF_WORK_SVC
jnz sysc_work # there is work to do (signals etc.)
++ BPON
sysc_restore:
- RESTORE_ALL __LC_RETURN_PSW,1
+ mvc __LC_RETURN_PSW(16),SP_PSW(%r15)
+ lg %r14,__LC_VDSO_PER_CPU
+ lmg %r0,%r13,SP_R0(%r15)
-+ BPON
+ stpt __LC_EXIT_TIMER
+ mvc __VDSO_ECTG_BASE(16,%r14),__LC_EXIT_TIMER
+ lmg %r14,%r15,SP_R14(%r15)
@@ -292,7 +310,31 @@ Signed-off-by: Jiri Kosina <jkosina@suse.cz>
tm __LC_PGM_INT_CODE+1,0x80 # check whether we got a per exception
jnz pgm_per # got per exception -> special case
SAVE_ALL_PGM __LC_PGM_OLD_PSW,__LC_SAVE_AREA
-@@ -598,6 +627,7 @@ kernel_per:
+@@ -503,7 +532,10 @@ pgm_no_vtime:
+ la %r2,SP_PTREGS(%r15) # address of register-save area
+ basr %r14,%r1 # branch to interrupt-handler
+ pgm_exit:
+- j sysc_return
++ LOCKDEP_SYS_EXIT
++ tm SP_PSW+1(%r15),0x01 # returning to user ?
++ jno sysc_restore
++ j sysc_tif
+
+ #
+ # handle per exception
+@@ -557,7 +589,10 @@ pgm_no_vtime2:
+ la %r2,SP_PTREGS(%r15) # address of register-save area
+ basr %r14,%r1 # branch to interrupt-handler
+ pgm_exit2:
+- j sysc_return
++ LOCKDEP_SYS_EXIT
++ tm SP_PSW+1(%r15),0x01 # returning to user ?
++ jno sysc_restore
++ j sysc_tif
+
+ #
+ # it was a single stepped SVC that is causing all the trouble
+@@ -598,6 +633,7 @@ kernel_per:
io_int_handler:
stck __LC_INT_CLOCK
stpt __LC_ASYNC_ENTER_TIMER
@@ -300,7 +342,7 @@ Signed-off-by: Jiri Kosina <jkosina@suse.cz>
SAVE_ALL_ASYNC __LC_IO_OLD_PSW,__LC_SAVE_AREA+40
CREATE_STACK_FRAME __LC_SAVE_AREA+40
mvc SP_PSW(16,%r15),0(%r12) # move user PSW to stack
-@@ -620,7 +650,18 @@ io_tif:
+@@ -620,7 +656,18 @@ io_tif:
tm __TI_flags+7(%r12),_TIF_WORK_INT
jnz io_work # there is work to do (signals etc.)
io_restore:
@@ -320,7 +362,7 @@ Signed-off-by: Jiri Kosina <jkosina@suse.cz>
io_done:
#
-@@ -733,6 +774,7 @@ io_notify_resume:
+@@ -733,6 +780,7 @@ io_notify_resume:
ext_int_handler:
stck __LC_INT_CLOCK
stpt __LC_ASYNC_ENTER_TIMER
@@ -328,7 +370,7 @@ Signed-off-by: Jiri Kosina <jkosina@suse.cz>
SAVE_ALL_ASYNC __LC_EXT_OLD_PSW,__LC_SAVE_AREA+40
CREATE_STACK_FRAME __LC_SAVE_AREA+40
mvc SP_PSW(16,%r15),0(%r12) # move user PSW to stack
-@@ -763,6 +805,7 @@ __critical_end:
+@@ -763,6 +811,7 @@ __critical_end:
.globl mcck_int_handler
mcck_int_handler:
stck __LC_MCCK_CLOCK
@@ -336,7 +378,7 @@ Signed-off-by: Jiri Kosina <jkosina@suse.cz>
la %r1,4095 # revalidate r1
spt __LC_CPU_TIMER_SAVE_AREA-4095(%r1) # revalidate cpu timer
lmg %r0,%r15,__LC_GPREGS_SAVE_AREA-4095(%r1)# revalidate gprs
-@@ -838,6 +881,7 @@ mcck_return:
+@@ -838,6 +887,7 @@ mcck_return:
lmg %r0,%r15,SP_R0(%r15) # load gprs 0-15
tm __LC_RETURN_MCCK_PSW+1,0x01 # returning to user ?
jno 0f
@@ -344,7 +386,7 @@ Signed-off-by: Jiri Kosina <jkosina@suse.cz>
stpt __LC_EXIT_TIMER
0: lpswe __LC_RETURN_MCCK_PSW # back to caller
mcck_done:
-@@ -1100,8 +1144,10 @@ sie_loop:
+@@ -1100,8 +1150,10 @@ sie_loop:
jnz sie_exit
lg %r14,__SF_EMPTY(%r15) # get control block pointer
SPP __SF_EMPTY(%r15) # set guest id