]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
s390/entry: Make restart_int_handler() ready for lowcore relocation
authorSven Schnelle <svens@linux.ibm.com>
Mon, 22 Jul 2024 13:41:23 +0000 (15:41 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Tue, 23 Jul 2024 14:02:32 +0000 (16:02 +0200)
In preparation of having lowcore at different address than zero,
add the base register to all lowcore accesses in restart_int_handler().

Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/kernel/entry.S

index a855f901f6e63faa1ccb2ce699c1c07584b800ac..ca58b3da391645c57b2bf2f5ace9ae16cb715d87 100644 (file)
@@ -573,15 +573,17 @@ SYM_CODE_START(restart_int_handler)
 0:     larl    %r15,daton_psw
        lpswe   0(%r15)                         # turn dat on, keep irqs off
 .Ldaton:
-       lg      %r15,__LC_RESTART_STACK
+       GET_LC  %r15
+       lg      %r15,__LC_RESTART_STACK(%r15)
        xc      STACK_FRAME_OVERHEAD(__PT_SIZE,%r15),STACK_FRAME_OVERHEAD(%r15)
        stmg    %r0,%r14,STACK_FRAME_OVERHEAD+__PT_R0(%r15)
-       mvc     STACK_FRAME_OVERHEAD+__PT_R15(8,%r15),__LC_SAVE_AREA_RESTART
-       mvc     STACK_FRAME_OVERHEAD+__PT_PSW(16,%r15),__LC_RST_OLD_PSW
+       GET_LC  %r13
+       mvc     STACK_FRAME_OVERHEAD+__PT_R15(8,%r15),__LC_SAVE_AREA_RESTART(%r13)
+       mvc     STACK_FRAME_OVERHEAD+__PT_PSW(16,%r15),__LC_RST_OLD_PSW(%r13)
        xc      0(STACK_FRAME_OVERHEAD,%r15),0(%r15)
-       lg      %r1,__LC_RESTART_FN             # load fn, parm & source cpu
-       lg      %r2,__LC_RESTART_DATA
-       lgf     %r3,__LC_RESTART_SOURCE
+       lg      %r1,__LC_RESTART_FN(%r13)       # load fn, parm & source cpu
+       lg      %r2,__LC_RESTART_DATA(%r13)
+       lgf     %r3,__LC_RESTART_SOURCE(%r13)
        ltgr    %r3,%r3                         # test source cpu address
        jm      1f                              # negative -> skip source stop
 0:     sigp    %r4,%r3,SIGP_SENSE              # sigp sense to source cpu