No subject

Sascha Hauer s.hauer at pengutronix.de
Fri Jul 22 05:44:14 PDT 2016


>From Sascha Hauer <s.hauer at pengutronix.de> # This line is ignored.
From: Sascha Hauer <s.hauer at pengutronix.de>
Subject: rework boot/blspec code
In-Reply-To: 

The boot command code is for converting a list of strings into boot
entries and iterating over the boot entries starting one after the
other until one succeeds. boot entries can be boot scripts or bootloader
spec entries, nevertheless the boot code uses a "struct blspec" for
both. This series separated this properly, puts the bootloader spec
specific data into its own struct leaving the generic data for the boot
code.
As a central component the boot code should also have a C API, which it
currently does not have as the it's implemented in the boot command
code, so this series move the bulk of the code to a place under common/
where it can be called by C code aswell.
Also several other cleanups are done like (hopefully) more consistent
message printing.

Sascha

----------------------------------------------------------------
Sascha Hauer (18):
      blspec: remove unused blspec_boot_devicename
      blspec: Remove once/default handling
      blspec: remove unused function prototype
      boot: Call blspec_scan_directory() only on strings containing an absolute path
      include: Move bulk of boot.h to bootm.h
      blpec: rename struct lspec -> bootentries
      blspec: factor out a struct bootentry
      bootentries: Add title/description
      blspec: separate bootentries from blspec entries
      blspec: Make blspec_boot static
      bootentries: Move menu display string allocation to bootentries_alloc()
      bootentries: Move struct bootentries to include/boot.h
      boot: Use struct bootentries to pass around data
      boot: Move code to common/
      boot: add single quotes when printing boot target names
      boot command: Explicitly complain when boot target list is empty
      blspec: Turn message back to debug level
      boot: Print a message when a boot target string does not lead to a boot target

 arch/arm/boards/archosg9/archos_features.c |   1 -
 arch/arm/lib/bootm.c                       |   1 +
 commands/Kconfig                           |   1 +
 commands/boot.c                            | 415 ++---------------------------
 commands/bootm.c                           |   2 +-
 common/Kconfig                             |   3 +
 common/Makefile                            |   1 +
 common/blspec.c                            | 343 ++++++++++--------------
 common/boot.c                              | 339 +++++++++++++++++++++++
 common/bootm.c                             |   3 +-
 common/image-fit.c                         |   2 +-
 drivers/usb/gadget/f_fastboot.c            |   2 +-
 include/blspec.h                           |  91 +------
 include/boot.h                             | 139 ++--------
 include/bootm.h                            | 125 +++++++++
 include/image-fit.h                        |   2 +-
 16 files changed, 676 insertions(+), 794 deletions(-)
 create mode 100644 common/boot.c
 create mode 100644 include/bootm.h



More information about the barebox mailing list