kernel-ark/arch/s390/kernel
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
..
asm-offsets.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
binfmt_elf32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bitmap.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
compat_exec_domain.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
compat_ioctl.c [PATCH] s390: #ifdefs in compat_ioctls 2005-06-21 19:07:33 -07:00
compat_linux.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
compat_linux.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
compat_ptrace.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
compat_signal.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
compat_wrapper.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpcmd.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
debug.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ebcdic.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
entry64.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
entry.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
head64.S [PATCH] s390: memory detection > 32GB 2005-06-21 19:07:34 -07:00
head.S [PATCH] s390: memory detection > 32GB 2005-06-21 19:07:34 -07:00
init_task.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq.c 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
module.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
process.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
profile.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ptrace.c [PATCH] s390: uml ptrace fixes 2005-06-04 17:13:00 -07:00
reipl64.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
reipl.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
s390_ext.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
s390_ksyms.c [PATCH] s390: default storage key 2005-05-01 08:58:58 -07:00
semaphore.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
setup.c [PATCH] s390: default storage key 2005-05-01 08:58:58 -07:00
signal.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
smp.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_s390.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
syscalls.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
time.c [PATCH] s390: idle timer setup 2005-05-01 08:58:57 -07:00
traps.c [PATCH] s390: kernel stack overflow panic 2005-06-21 19:07:33 -07:00
vmlinux.lds.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vtime.c [PATCH] s390: idle timer setup 2005-05-01 08:58:57 -07:00