[PATCH] image and bss size decrease

Sascha Hauer s.hauer at pengutronix.de
Sat Mar 9 05:53:01 EST 2013


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.

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



More information about the barebox mailing list