Commit ec55d1e1 authored by Vasily Gorbik's avatar Vasily Gorbik Committed by Heiko Carstens
Browse files

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: default avatarAlexander Egorenkov <egorenar@linux.ibm.com>
Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
parent 9a78c70a
Loading
Loading
Loading
Loading
+8 −7
Original line number Diff line number Diff line
@@ -279,8 +279,8 @@ iplstart:
# or linload or SALIPL
#
	.org	0x10000
ENTRY(startup)
	j	.Lep_startup_normal
SYM_CODE_START(startup)
	j	startup_normal
	.org	EP_OFFSET
#
# 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
#
	.org	0x10010
ENTRY(startup_kdump)
	j	.Lep_startup_kdump
.Lep_startup_normal:
	j	startup_kdump
SYM_CODE_END(startup)
SYM_CODE_START_LOCAL(startup_normal)
	mvi	__LC_AR_MODE_ID,1	# set esame flag
	slr	%r0,%r0 		# set cpuid to zero
	lhi	%r1,2			# mode 2 = esame (dump)
@@ -322,6 +322,7 @@ ENTRY(startup_kdump)
	l	%r15,.Lstack-.LPG0(%r13)
	brasl	%r14,verify_facilities
	brasl	%r14,startup_kernel
SYM_CODE_END(startup_normal)

.Lstack:
	.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
# 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
	la	%r8,4095
	stctg	%c0,%c15,__LC_CREGS_SAVE_AREA-4095(%r8)
@@ -390,9 +391,9 @@ ENTRY(startup_pgm_check_handler)
	la	%r8,4095
	lmg	%r0,%r15,__LC_GPREGS_SAVE_AREA-4095(%r8)
	lpswe	__LC_RETURN_PSW		# disabled wait
SYM_CODE_END(startup_pgm_check_handler)
.Ldump_info_stack:
	.long	0x5000 + PAGE_SIZE - STACK_FRAME_OVERHEAD
ENDPROC(startup_pgm_check_handler)

#
# params at 10400 (setup.h)
+4 −4
Original line number Diff line number Diff line
@@ -19,8 +19,7 @@
# Note: This code has to be position independent
#

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