[S390] memory detection.
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Thu, 29 Jun 2006 12:56:32 +0000 (14:56 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 29 Jun 2006 12:56:32 +0000 (14:56 +0200)
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>
arch/s390/kernel/head31.S
arch/s390/kernel/head64.S

index 2d3b089..8f38bfd 100644 (file)
@@ -87,7 +87,7 @@ startup:basr  %r13,0                   # get base
        ic      %r3,.Lscpa1-PARMAREA(%r4)
        chi     %r3,0x00
        jne     .Lcompmem
-       l       %r3,.Lscpa2-PARMAREA(%r13)
+       l       %r3,.Lscpa2-PARMAREA(%r4)
 .Lcompmem:
        mr      %r2,%r1                 # mem in MB on 128-bit
        l       %r1,.Lonemb-.LPG1(%r13)
index f08c06f..ad5d87f 100644 (file)
@@ -86,7 +86,7 @@ startup:basr  %r13,0                     # get base
        ic    %r3,.Lscpa1-PARMAREA(%r4)
        chi   %r3,0x00
        jne   .Lcompmem
-       l     %r3,.Lscpa2-PARMAREA(%r13)
+       l     %r3,.Lscpa2-PARMAREA(%r4)
 .Lcompmem:
        mlgr  %r2,%r1                   # mem in MB on 128-bit
        l     %r1,.Lonemb-.LPG1(%r13)