Browse Source

[S390] memory detection.

The wrong base register is used to read a value from the sclp data
structure. The value is used to calculate the memory size.
Use correct register %r4.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Heiko Carstens 19 năm trước cách đây
mục cha
commit
d7d2370255

+ 1 - 1
arch/s390/kernel/head31.S

@@ -87,7 +87,7 @@ startup:basr	%r13,0			 # get base
 	ic	%r3,.Lscpa1-PARMAREA(%r4)
 	ic	%r3,.Lscpa1-PARMAREA(%r4)
 	chi	%r3,0x00
 	chi	%r3,0x00
 	jne	.Lcompmem
 	jne	.Lcompmem
-	l	%r3,.Lscpa2-PARMAREA(%r13)
+	l	%r3,.Lscpa2-PARMAREA(%r4)
 .Lcompmem:
 .Lcompmem:
 	mr	%r2,%r1			# mem in MB on 128-bit
 	mr	%r2,%r1			# mem in MB on 128-bit
 	l	%r1,.Lonemb-.LPG1(%r13)
 	l	%r1,.Lonemb-.LPG1(%r13)

+ 1 - 1
arch/s390/kernel/head64.S

@@ -86,7 +86,7 @@ startup:basr  %r13,0                     # get base
 	ic    %r3,.Lscpa1-PARMAREA(%r4)
 	ic    %r3,.Lscpa1-PARMAREA(%r4)
 	chi   %r3,0x00
 	chi   %r3,0x00
 	jne   .Lcompmem
 	jne   .Lcompmem
-	l     %r3,.Lscpa2-PARMAREA(%r13)
+	l     %r3,.Lscpa2-PARMAREA(%r4)
 .Lcompmem:
 .Lcompmem:
 	mlgr  %r2,%r1			# mem in MB on 128-bit
 	mlgr  %r2,%r1			# mem in MB on 128-bit
 	l     %r1,.Lonemb-.LPG1(%r13)
 	l     %r1,.Lonemb-.LPG1(%r13)