diff options
author | Heiko Carstens <[email protected]> | 2005-06-21 17:16:30 -0700 |
---|---|---|
committer | Linus Torvalds <[email protected]> | 2005-06-21 19:07:34 -0700 |
commit | e9b9a04796eade5241452a913ec6f3433437b4f5 (patch) | |
tree | 9cd181fb9e905245dc07913c3a3e421d17ca6ac9 /drivers/misc/ibmasm/ibmasmfs.c | |
parent | 447570cfde680d5bf09c47b9c8d1dcf5bcb18f10 (diff) |
[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 <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'drivers/misc/ibmasm/ibmasmfs.c')
0 files changed, 0 insertions, 0 deletions