29 Jan, 2017
1 commit
-
Add debug statements to memalign_simple to match malloc_simple.
Signed-off-by: Andrew F. Davis
Reviewed-by: Tom Rini
17 Mar, 2016
1 commit
-
Output the pointer returned by each call to malloc(). This can be useful
when debugging memory problems.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng
22 Oct, 2015
1 commit
21 Oct, 2015
2 commits
-
It's useful to get a a trace of memory allocations in early init. Add a
debug() call to provide that. It can be enabled by adding '#define DEBUG'
to the top of the file.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng -
common/dlmalloc.c is quite big, both in .text and .data usage, therefor
on some boards the SPL is build to use only malloc_simple.c and not the
dlmalloc.c code. This is done in various include/configs/foo.h with the
following construct:#ifdef CONFIG_SPL_BUILD
#define CONFIG_SYS_MALLOC_SIMPLE
#endifThis commit introduces a SPL_MALLOC_SIMPLE Kconfig bool which allows
selecting this functionality through Kconfig instead.Signed-off-by: Hans de Goede
Acked-by: Simon Glass
28 Sep, 2015
1 commit
-
The gd->malloc_ptr and the gd->malloc_limit are offsets to gd->malloc_base.
But the addr variable contains the absolute address. The new_ptr must be:
addr + bytes - gd->malloc_base.Signed-off-by: Philipp Rosenberger
Reviewed-by: Hans de Goede
29 Aug, 2015
1 commit
-
This should use the align parameter, not bytes. Natural alignment is one
use case but should not be the only one supported by this function.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini
11 Jun, 2015
1 commit
-
This is used when the full malloc() is not available.
Signed-off-by: Simon Glass
19 Apr, 2015
1 commit
-
In the case where the arch defines a custom map_sysmem(), make sure that
including just mapmem.h is sufficient to have these functions as they
are when the arch does not override it.Also split the non-arch specific functions out of common.h
Signed-off-by: Joe Hershberger
Reviewed-by: Simon Glass
13 Feb, 2015
1 commit
-
All callers of malloc should already do error checking, and may even be able
to continue without the alloc succeeding.Moreover, common/malloc_simple.c is the only user of .rodata.str1.1 in
common/built-in.o when building the SPL, triggering this gcc bug:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54303Causing .rodata to grow with e.g. 0xc21 bytes, nullifying all benefits of
using malloc_simple in the first place.Signed-off-by: Hans de Goede
Acked-by: Simon Glass
21 Nov, 2014
1 commit
-
The simple malloc() implementation is used when memory is tight. It provides
a simple buffer with an incrementing pointer.At present the implementation is inside dlmalloc. Move it into its own file
so that it is easier to find.Rather than using relocation as a signal that the full malloc() is
available, add a special GD_FLG_FULL_MALLOC_INIT flag. This signals that the
simple malloc() should no longer be used.In some cases, such as SPL, even the code space used by the full malloc() is
wasteful. Add a CONFIG_SYS_MALLOC_SIMPLE option to provide only the simple
malloc. In this case the full malloc is not available at all. It saves about
1KB of code space and about 0.5KB of data on Thumb 2.Acked-by: Tom Rini
Signed-off-by: Simon Glass