
On 11 November 2014 at 01:16, Simon Glass sjg@chromium.org wrote:
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 trini@ti.com Signed-off-by: Simon Glass sjg@chromium.org
Changes in v3: None Changes in v2:
- Correct the Makefile condition for simple_malloc
common/Makefile | 3 ++ common/board_r.c | 3 +- common/dlmalloc.c | 19 ++++--------- common/malloc_simple.c | 39 +++++++++++++++++++++++++ include/asm-generic/global_data.h | 1 + include/malloc.h | 60 ++++++++++++++++++++++++--------------- 6 files changed, 87 insertions(+), 38 deletions(-) create mode 100644 common/malloc_simple.c
Applied to u-boot-dm.