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) |
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 73b92c8a00e..589400d3b14 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 +} |