diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2013-04-30 10:34:04 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2013-05-02 15:50:26 +0200 |
commit | df1bd59c5cc247d1d02588ff0a4e86a0cc5f9733 (patch) | |
tree | 619ab3b2ef639ebbcd102961c8710b852cd9adfc /arch/s390/include | |
parent | 67b5c3eeb4814bceb9a7e17fecb14ef59d511812 (diff) | |
download | talos-obmc-linux-df1bd59c5cc247d1d02588ff0a4e86a0cc5f9733.tar.gz talos-obmc-linux-df1bd59c5cc247d1d02588ff0a4e86a0cc5f9733.zip |
s390/mem_detect: limit memory detection loop to "mem=" parameter
The current memory detection loop will detect all present memory of
a machine. This is true even if the user specified the "mem=" parameter
on the kernel command line.
This can be a problem since the memory detection may cause a fully
populated host page table for the guest, even for those parts of the
memory that the guest will never use afterwards.
So fix this and only detect memory up to a user supplied "mem=" limit
if specified.
Reported-by: Michael Johanssen <johanssn@de.ibm.com>
Reviewed-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include')
-rw-r--r-- | arch/s390/include/asm/setup.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/s390/include/asm/setup.h b/arch/s390/include/asm/setup.h index 270fcd0fbf1a..2765e40d8739 100644 --- a/arch/s390/include/asm/setup.h +++ b/arch/s390/include/asm/setup.h @@ -46,7 +46,7 @@ extern struct mem_chunk memory_chunk[]; extern int memory_end_set; extern unsigned long memory_end; -void detect_memory_layout(struct mem_chunk chunk[]); +void detect_memory_layout(struct mem_chunk chunk[], unsigned long maxsize); void create_mem_hole(struct mem_chunk memory_chunk[], unsigned long addr, unsigned long size, int type); |