summaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2005-07-27 11:45:05 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-07-27 16:26:05 -0700
commitf878e4367580f37327e68ce2c6861245077f0904 (patch)
tree5414f367d9397debdd818568b958f779df7ac817 /arch/s390/kernel
parent4111796d89b8cfa36054d65d9858460b5ec0e8c7 (diff)
[PATCH] s390: 31 bit memory size limit
Limit reported memory size to 2GB if running in 31 bit mode. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/s390/kernel')
-rw-r--r--arch/s390/kernel/head.S7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/s390/kernel/head.S b/arch/s390/kernel/head.S
index 928ca65e8bb..d12cff11b4b 100644
--- a/arch/s390/kernel/head.S
+++ b/arch/s390/kernel/head.S
@@ -535,8 +535,13 @@ startup:basr %r13,0 # get base
lhi %r1,0
icm %r1,3,.Lscpincr1-PARMAREA(%r4) # use this one if != 0
jnz .Lscnd
- l %r1,.Lscpincr2-PARMAREA+4(%r4) # otherwise use this one
+ lhi %r1,0x800 # otherwise report 2GB
.Lscnd:
+ lhi %r3,0x800 # limit reported memory size to 2GB
+ cr %r1,%r3
+ jl .Lno2gb
+ lr %r1,%r3
+.Lno2gb:
xr %r3,%r3 # same logic
ic %r3,.Lscpa1-PARMAREA(%r4)
chi %r3,0x00