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
binfmt_elf32.c
bitmap.S
compat_exec_domain.c
compat_ioctl.c [PATCH] s390: #ifdefs in compat_ioctls 2005-06-21 19:07:33 -07:00
compat_linux.c
compat_linux.h
compat_ptrace.h
compat_signal.c
compat_wrapper.S
cpcmd.c
debug.c
ebcdic.c
entry64.S
entry.S
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
irq.c
Makefile
module.c
process.c
profile.c
ptrace.c [PATCH] s390: uml ptrace fixes 2005-06-04 17:13:00 -07:00
reipl64.S
reipl.S
s390_ext.c
s390_ksyms.c [PATCH] s390: default storage key 2005-05-01 08:58:58 -07:00
semaphore.c
setup.c [PATCH] s390: default storage key 2005-05-01 08:58:58 -07:00
signal.c
smp.c
sys_s390.c
syscalls.S
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
vtime.c [PATCH] s390: idle timer setup 2005-05-01 08:58:57 -07:00