s390/decompressor: correct some asm symbols annotations

Use SYM_CODE_* annotations for asm functions, so that function lengths
are recognized correctly.

Also currently the most part of startup is marked as startup_kdump. Move
misplaced startup_kdump where it belongs.

$ nm -n -S arch/s390/boot/compressed/vmlinux
Before:
0000000000010000 T startup
0000000000010010 T startup_kdump
After:
0000000000010000 0000000000000014 T startup
0000000000010014 00000000000000b0 t startup_normal
0000000000010180 00000000000000b2 t startup_kdump

Reviewed-by: Alexander Egorenkov <egorenar@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
This commit is contained in:
Vasily Gorbik 2020-11-10 17:05:29 +01:00 committed by Heiko Carstens
parent 9a78c70a1b
commit ec55d1e1db
2 changed files with 12 additions and 11 deletions

View File

@ -279,8 +279,8 @@ iplstart:
# or linload or SALIPL # or linload or SALIPL
# #
.org 0x10000 .org 0x10000
ENTRY(startup) SYM_CODE_START(startup)
j .Lep_startup_normal j startup_normal
.org EP_OFFSET .org EP_OFFSET
# #
# This is a list of s390 kernel entry points. At address 0x1000f the number of # This is a list of s390 kernel entry points. At address 0x1000f the number of
@ -294,9 +294,9 @@ ENTRY(startup)
# kdump startup-code at 0x10010, running in 64 bit absolute addressing mode # kdump startup-code at 0x10010, running in 64 bit absolute addressing mode
# #
.org 0x10010 .org 0x10010
ENTRY(startup_kdump) j startup_kdump
j .Lep_startup_kdump SYM_CODE_END(startup)
.Lep_startup_normal: SYM_CODE_START_LOCAL(startup_normal)
mvi __LC_AR_MODE_ID,1 # set esame flag mvi __LC_AR_MODE_ID,1 # set esame flag
slr %r0,%r0 # set cpuid to zero slr %r0,%r0 # set cpuid to zero
lhi %r1,2 # mode 2 = esame (dump) lhi %r1,2 # mode 2 = esame (dump)
@ -322,6 +322,7 @@ ENTRY(startup_kdump)
l %r15,.Lstack-.LPG0(%r13) l %r15,.Lstack-.LPG0(%r13)
brasl %r14,verify_facilities brasl %r14,verify_facilities
brasl %r14,startup_kernel brasl %r14,startup_kernel
SYM_CODE_END(startup_normal)
.Lstack: .Lstack:
.long 0x8000 + (1<<(PAGE_SHIFT+BOOT_STACK_ORDER)) - STACK_FRAME_OVERHEAD .long 0x8000 + (1<<(PAGE_SHIFT+BOOT_STACK_ORDER)) - STACK_FRAME_OVERHEAD
@ -371,7 +372,7 @@ ENTRY(startup_kdump)
# It simply saves general/control registers and psw in # It simply saves general/control registers and psw in
# the save area and does disabled wait with a faulty address. # the save area and does disabled wait with a faulty address.
# #
ENTRY(startup_pgm_check_handler) SYM_CODE_START_LOCAL(startup_pgm_check_handler)
stmg %r8,%r15,__LC_SAVE_AREA_SYNC stmg %r8,%r15,__LC_SAVE_AREA_SYNC
la %r8,4095 la %r8,4095
stctg %c0,%c15,__LC_CREGS_SAVE_AREA-4095(%r8) stctg %c0,%c15,__LC_CREGS_SAVE_AREA-4095(%r8)
@ -390,9 +391,9 @@ ENTRY(startup_pgm_check_handler)
la %r8,4095 la %r8,4095
lmg %r0,%r15,__LC_GPREGS_SAVE_AREA-4095(%r8) lmg %r0,%r15,__LC_GPREGS_SAVE_AREA-4095(%r8)
lpswe __LC_RETURN_PSW # disabled wait lpswe __LC_RETURN_PSW # disabled wait
SYM_CODE_END(startup_pgm_check_handler)
.Ldump_info_stack: .Ldump_info_stack:
.long 0x5000 + PAGE_SIZE - STACK_FRAME_OVERHEAD .long 0x5000 + PAGE_SIZE - STACK_FRAME_OVERHEAD
ENDPROC(startup_pgm_check_handler)
# #
# params at 10400 (setup.h) # params at 10400 (setup.h)

View File

@ -19,8 +19,7 @@
# Note: This code has to be position independent # Note: This code has to be position independent
# #
.align 2 SYM_CODE_START_LOCAL(startup_kdump)
.Lep_startup_kdump:
lhi %r1,2 # mode 2 = esame (dump) lhi %r1,2 # mode 2 = esame (dump)
sigp %r1,%r0,SIGP_SET_ARCHITECTURE # Switch to esame mode sigp %r1,%r0,SIGP_SET_ARCHITECTURE # Switch to esame mode
sam64 # Switch to 64 bit addressing sam64 # Switch to 64 bit addressing
@ -87,14 +86,15 @@
startup_kdump_relocated: startup_kdump_relocated:
basr %r13,0 basr %r13,0
0: lpswe .Lrestart_psw-0b(%r13) # Start new kernel... 0: lpswe .Lrestart_psw-0b(%r13) # Start new kernel...
SYM_CODE_END(startup_kdump)
.align 8 .align 8
.Lrestart_psw: .Lrestart_psw:
.quad 0x0000000080000000,0x0000000000000000 + startup .quad 0x0000000080000000,0x0000000000000000 + startup
#else #else
.align 2 SYM_CODE_START_LOCAL(startup_kdump)
.Lep_startup_kdump:
larl %r13,startup_kdump_crash larl %r13,startup_kdump_crash
lpswe 0(%r13) lpswe 0(%r13)
SYM_CODE_END(startup_kdump)
.align 8 .align 8
startup_kdump_crash: startup_kdump_crash:
.quad 0x0002000080000000,0x0000000000000000 + startup_kdump_crash .quad 0x0002000080000000,0x0000000000000000 + startup_kdump_crash