summaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/head.S
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2005-07-27 20:45:05 +0200
committerLinus Torvalds <torvalds@g5.osdl.org>2005-07-28 01:26:05 +0200
commitf878e4367580f37327e68ce2c6861245077f0904 (patch)
tree5414f367d9397debdd818568b958f779df7ac817 /arch/s390/kernel/head.S
parent[PATCH] s390: channel tape fixes (diff)
downloadlinux-f878e4367580f37327e68ce2c6861245077f0904.tar.xz
linux-f878e4367580f37327e68ce2c6861245077f0904.zip
[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/head.S')
-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 928ca65e8bb2..d12cff11b4bc 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