mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH v4 0/7] elf: add better bootm support
@ 2020-05-08 17:04 Clement Leger
  2020-05-08 17:04 ` [PATCH v4 1/7] common: elf: add computation of elf boundaries Clement Leger
                   ` (7 more replies)
  0 siblings, 8 replies; 15+ messages in thread
From: Clement Leger @ 2020-05-08 17:04 UTC (permalink / raw)
  To: Sascha Hauer, barebox; +Cc: Clement Leger, Oleksij Rempel

Currently, when booting an elf file using "bootm /dev/mtdx", bootm will
simply pass the file to the bootm and the read done on it will read the
entire flash partition. This series starts by some cleanup and then add an
elf_open function to load the elf file size only based on the elf header.
A special handling for the elf file is also added in bootm data to allow
using directly the elf file structure. Finally the mips bootm is modified
to use bootm_load_os directly instead of manual elf loading.

Compilation for both mips and arm has been tested but run on qemu-malta was not
possible. Changing the MALLOC_SIZE to allow loading a kernel always lead to a 
non-bootable system. Changes have been tested on kvx architecture for which
bootm support has been added and will be submitted.

Changes v3 -> v4
 - Fix init of elf entry address to be used by bootm_load_elf

Changes v2 -> v3
 - Integrate elf loading in bootm_load_os
 - Add patch to remove now unused elf_load_image/elf_release_image
 - Use malloc instead of xmalloc and check return value

Changes v1 -> v2
 - Add BOOTM_ELF config to select elf support and add checks in code
 - Add an elf_get_mem_size function to avoid computing elf size in bootm.c
 - Use xmalloc and read_full in elf_open instead of xzalloc/read
 - Fix data->elf NULL reset
 - Remove elf struct entirely from mips bootm code

Clement Leger (7):
  common: elf: add computation of elf boundaries
  common: elf: fix warning on 32 bits architectures
  common: elf: split init to be reused from other function
  common: elf: add elf_open, elf_close and elf_load
  common: bootm: add support for elf file loading
  mips: lib: bootm: use bootm elf loading capabilities
  common: elf: remove elf_load_image/elf_release_image

 arch/mips/lib/bootm.c |  31 +++++-------
 common/Kconfig        |   8 +++
 common/bootm.c        |  33 +++++++++++++
 common/elf.c          | 111 +++++++++++++++++++++++++++++++++++-------
 include/bootm.h       |   3 ++
 include/elf.h         |  16 +++++-
 6 files changed, 163 insertions(+), 39 deletions(-)

-- 
2.17.1


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2020-06-06 11:16 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-08 17:04 [PATCH v4 0/7] elf: add better bootm support Clement Leger
2020-05-08 17:04 ` [PATCH v4 1/7] common: elf: add computation of elf boundaries Clement Leger
2020-05-08 17:04 ` [PATCH v4 2/7] common: elf: fix warning on 32 bits architectures Clement Leger
2020-05-08 17:04 ` [PATCH v4 3/7] common: elf: split init to be reused from other function Clement Leger
2020-05-08 17:04 ` [PATCH v4 4/7] common: elf: add elf_open, elf_close and elf_load Clement Leger
2020-05-08 17:04 ` [PATCH v4 5/7] common: bootm: add support for elf file loading Clement Leger
2020-05-08 17:04 ` [PATCH v4 6/7] mips: lib: bootm: use bootm elf loading capabilities Clement Leger
2020-05-08 17:04 ` [PATCH v4 7/7] common: elf: remove elf_load_image/elf_release_image Clement Leger
2020-05-09 14:51 ` [PATCH v4 0/7] elf: add better bootm support Oleksij Rempel
2020-05-09 16:51   ` Oleksij Rempel
2020-05-09 19:24     ` Clément Leger
2020-05-10  4:31       ` Oleksij Rempel
2020-05-10 11:31         ` Clément Leger
2020-06-06 10:11           ` Oleksij Rempel
2020-06-06 11:16             ` Clément Leger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox