diff options
| author | York Sun <yorksun@freescale.com> | 2014-02-11 11:57:26 -0800 | 
|---|---|---|
| committer | Tom Rini <trini@ti.com> | 2014-02-21 11:06:13 -0500 | 
| commit | e38661634b3d60af80d85ce9eb570a45db4729ca (patch) | |
| tree | a7a7f3272ccac9757c941c9c71525fd7adf5ccd5 /common/memsize.c | |
| parent | 6b1e1254f326940e5b65c7029f71b964bdf28fd4 (diff) | |
| download | olio-uboot-2014.01-e38661634b3d60af80d85ce9eb570a45db4729ca.tar.xz olio-uboot-2014.01-e38661634b3d60af80d85ce9eb570a45db4729ca.zip | |
common: Add get_effective_memsize() to memsize.c
This function has been around for powerpc. It is used for systems with
memory more than CONFIG_MAX_MEM_MAPPED. In case of non-contiguous memory,
this feature can limit U-boot to one block without going over the limit.
Signed-off-by: York Sun <yorksun@freescale.com>
Acked-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
Diffstat (limited to 'common/memsize.c')
| -rw-r--r-- | common/memsize.c | 16 | 
1 files changed, 15 insertions, 1 deletions
| diff --git a/common/memsize.c b/common/memsize.c index 73b92c8a0..589400d3b 100644 --- a/common/memsize.c +++ b/common/memsize.c @@ -5,7 +5,10 @@   * SPDX-License-Identifier:	GPL-2.0+   */ -#include <config.h> +#include <common.h> + +DECLARE_GLOBAL_DATA_PTR; +  #ifdef __PPC__  /*   * At least on G2 PowerPC cores, sequential accesses to non-existent @@ -76,3 +79,14 @@ long get_ram_size(long *base, long maxsize)  	return (maxsize);  } + +phys_size_t __weak get_effective_memsize(void) +{ +#ifndef CONFIG_VERY_BIG_RAM +	return gd->ram_size; +#else +	/* limit stack to what we can reasonable map */ +	return ((gd->ram_size > CONFIG_MAX_MEM_MAPPED) ? +		CONFIG_MAX_MEM_MAPPED : gd->ram_size); +#endif +} |