linux/arch/s390
Heiko Carstens e9b9a04796 [PATCH] s390: memory detection > 32GB
The kernel takes a very long time to boot if the memory size is bigger then
32767 MB.  The memory size is contained in a structure created by an sclp
call.  The kernel accesses the field with a LH instrution which performs a
sign extension of a 16 bit word.  In the case of a memory size with bit 2^15
set this results in a very large value and the memory detection just loops for
a long time.  In addition if more then 64 GB are used on a 64 bit system the
memory size is read from an incorrect storage location.

Use zero-extention to read the 16 bit memory size and the correct offset to
read the 4 byte memory size on 64 bit.

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>
2005-06-21 19:07:34 -07:00
..
appldata [PATCH] s390: deadlock in appldata 2005-06-04 17:13:00 -07:00
boot Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
crypto Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kernel [PATCH] s390: memory detection > 32GB 2005-06-21 19:07:34 -07:00
lib Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
math-emu Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mm [PATCH] s390: cmm sender parameter visibility 2005-06-21 19:07:33 -07:00
oprofile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
defconfig [PATCH] s390: regenerate defconfig 2005-05-01 08:58:57 -07:00
Kconfig Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Kconfig.debug Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00