s390/kexec_file: fix diag308 subcode when loading crash kernel
commit5.4-rM2-2.2.x-imx-squashed613775d62e
upstream. diag308 subcode 0 performes a clear reset which inlcudes the reset of all registers in the system. While this is the preferred behavior when loading a normal kernel via kexec it prevents the crash kernel to store the register values in the dump. To prevent this use subcode 1 when loading a crash kernel instead. Fixes:ee337f5469
("s390/kexec_file: Add crash support to image loader") Cc: <stable@vger.kernel.org> # 4.17 Signed-off-by: Philipp Rudo <prudo@linux.ibm.com> Reported-by: Xiaoying Yan <yiyan@redhat.com> Tested-by: Lianbo Jiang <lijiang@redhat.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
parent
c185f13918
commit
3038bbd1bb
|
@ -62,14 +62,15 @@
|
||||||
jh 10b
|
jh 10b
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.macro START_NEXT_KERNEL base
|
.macro START_NEXT_KERNEL base subcode
|
||||||
lg %r4,kernel_entry-\base(%r13)
|
lg %r4,kernel_entry-\base(%r13)
|
||||||
lg %r5,load_psw_mask-\base(%r13)
|
lg %r5,load_psw_mask-\base(%r13)
|
||||||
ogr %r4,%r5
|
ogr %r4,%r5
|
||||||
stg %r4,0(%r0)
|
stg %r4,0(%r0)
|
||||||
|
|
||||||
xgr %r0,%r0
|
xgr %r0,%r0
|
||||||
diag %r0,%r0,0x308
|
lghi %r1,\subcode
|
||||||
|
diag %r0,%r1,0x308
|
||||||
.endm
|
.endm
|
||||||
|
|
||||||
.text
|
.text
|
||||||
|
@ -123,7 +124,7 @@ ENTRY(purgatory_start)
|
||||||
je .start_crash_kernel
|
je .start_crash_kernel
|
||||||
|
|
||||||
/* start normal kernel */
|
/* start normal kernel */
|
||||||
START_NEXT_KERNEL .base_crash
|
START_NEXT_KERNEL .base_crash 0
|
||||||
|
|
||||||
.return_old_kernel:
|
.return_old_kernel:
|
||||||
lmg %r6,%r15,gprregs-.base_crash(%r13)
|
lmg %r6,%r15,gprregs-.base_crash(%r13)
|
||||||
|
@ -227,7 +228,7 @@ ENTRY(purgatory_start)
|
||||||
MEMCPY %r9,%r10,%r11
|
MEMCPY %r9,%r10,%r11
|
||||||
|
|
||||||
/* start crash kernel */
|
/* start crash kernel */
|
||||||
START_NEXT_KERNEL .base_dst
|
START_NEXT_KERNEL .base_dst 1
|
||||||
|
|
||||||
|
|
||||||
load_psw_mask:
|
load_psw_mask:
|
||||||
|
|
Loading…
Reference in New Issue