bootm + devicetree + much memory

Sascha Hauer s.hauer at pengutronix.de
Fri Jan 10 06:05:51 EST 2014


Current bootm implementation on ARM has the problem with systems with
much memory. The devicetree is allocated with malloc(). On some systems
the malloc area is outside of the kernels lowmem, so the kernel can't
access the devicetree anymore. The complexity of the current code
makes it hard to solve, so this series contains several patches to
make the bootm code simpler before the actual problem is solved.

Sascha

----------------------------------------------------------------
Sascha Hauer (8):
      list: add list_first_entry_or_null()
      bootm: introduce bootm_load_os helper
      ARM: bootm: move os loading to do_bootm_linux
      bootm: introduce bootm_load_initrd helper
      bootm: introduce bootm_load_devicetree helper
      ARM: bootm: locate zImage higher into RAM
      ARM: bootm: determine RAM start in separate function
      ARM: bootm: pass free memory to __do_bootm_linux

 arch/arm/lib/bootm.c               | 164 ++++++++++++++++++++++++-------------
 arch/blackfin/lib/blackfin_linux.c |   6 +-
 arch/nios2/lib/bootm.c             |   6 +-
 arch/ppc/lib/ppclinux.c            |   6 +-
 common/bootm.c                     | 150 +++++++++++++++++++++++++++++++--
 include/boot.h                     |   5 ++
 include/linux/list.h               |  11 +++
 7 files changed, 278 insertions(+), 70 deletions(-)



More information about the barebox mailing list