[PATCH] image and bss size decrease

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Sat Mar 9 13:38:06 EST 2013


On Mar 9, 2013, at 6:53 PM, Sascha Hauer <s.hauer at pengutronix.de> wrote:

> This series decreases the image size and bss size a bit. First
> we make malloc available in all initcalls by moving the malloc
> pool initialization before start_barebox().
> 
> We then decrease the image size by making some statically initialized
> structs smaller. struct command has a struct list_head member
> which can be removed by wrapping the static struct command into
> a dynamically initialized one which contains the list_head. Also
> the embedded struct device_d in struct bus_type is removed in
> favour for a dynamically allocated one.
> 
> Also we make the bss smaller by allocating the FILE table and
> the gpio_desc table dynamically. The bss size is may become
> a problem on boards which run from SRAM. Here the malloc pool
> is in the big SDRAM area, but the bss is in SRAM, so it makes
> sense to move the big tables from bss to SDRAM by using malloc.
> 

How much less

IIRC I try this too but with PBL it's bigger

Best Regards,
J.
> Sascha
> 
> ----------------------------------------------------------------
> Sascha Hauer (10):
>      mips: initialize malloc pool before start_barebox()
>      nios: initialize malloc pool before start_barebox()
>      openrisc: initialize malloc pool before start_barebox()
>      blackfin: initialize malloc pool before start_barebox()
>      x86: initialize malloc pool before start_barebox()
>      bus: Make struct device a pointer
>      command: remove list_head from struct command
>      command: remove statically initialized aliases
>      fs: allocate FILE table dynamically
>      gpio: allocate gpio_desc table dynamically
> 
> arch/blackfin/cpu-bf561/start.S |  4 +--
> arch/blackfin/lib/board.c       |  6 ++--
> arch/mips/boot/main_entry.c     |  5 ++++
> arch/mips/lib/Makefile          |  1 -
> arch/mips/lib/memory.c          | 29 --------------------
> arch/nios2/cpu/start.S          |  4 +--
> arch/nios2/lib/board.c          |  8 ++----
> arch/openrisc/cpu/start.S       |  2 +-
> arch/openrisc/lib/board.c       |  7 ++---
> arch/x86/boot/main_entry.c      |  4 +--
> arch/x86/lib/memory.c           |  7 ++---
> commands/edit.c                 |  8 ++++--
> commands/help.c                 | 16 +++++++----
> commands/test.c                 |  8 ++++--
> common/command.c                | 61 +++++++++++++++++++++--------------------
> common/complete.c               | 12 ++++----
> common/hush.c                   |  7 +++--
> common/module.c                 |  2 +-
> drivers/base/bus.c              |  7 +++--
> drivers/base/driver.c           |  2 +-
> drivers/gpio/gpio.c             | 11 +++++++-
> fs/fs.c                         | 11 +++++---
> include/command.h               | 25 +++++++++++------
> include/driver.h                |  2 +-
> 24 files changed, 126 insertions(+), 123 deletions(-)
> delete mode 100644 arch/mips/lib/memory.c
> 
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox




More information about the barebox mailing list