[PATCH 00/12] binman: Simple templating feature and mkimage conversion

Simon Glass sjg at chromium.org
Wed Jun 28 13:41:33 CEST 2023


This series converts the mkimage entry type to be a section, i.e. based on
the entry_Section class. This makes it more consistent in its behaviour,
e.g. allowing symbol writing and expanded entries.

A simple templating feature is also introduced, to reduce duplication
when a set of entries must be used in multiple images.

The templating implementation works by appending the template nodes to
the target node. It is probably better to insert the template nodes
before any subnodes in the target, so that the ordering of nodes in the
template is preserved. But that involves rewriting the Fdt classs, since
it can currently only add a subnode after the existing ones. This is left
for later.


Marek Vasut (1):
  binman: Convert mkimage to Entry_section

Simon Glass (11):
  binman: Init align_default in entry_Section
  binman: Use GetEntries() to obtain section contents
  binman: Read _multiple_data_files in the correct place
  binman: Allow disabling symbol writing
  stm32mp15: Avoid writing symbols in SPL
  binman: Provide a way to specific the fdt-list directly
  binman: Drop __bss_size variable in bss_data.c
  binman: Correct handling of zero bss size
  dtoc: Support copying the contents of a node into another
  dtoc: Allow inserting a list of nodes into another
  binman: Support simple templates

 arch/arm/dts/stm32mp15-u-boot.dtsi        |   1 +
 tools/binman/binman.rst                   |  87 ++++++++++++++++++
 tools/binman/control.py                   |   9 ++
 tools/binman/elf_test.py                  |   5 ++
 tools/binman/entries.rst                  |   6 ++
 tools/binman/entry.py                     |  10 +--
 tools/binman/etype/blob_phase.py          |   5 ++
 tools/binman/etype/fit.py                 |   9 ++
 tools/binman/etype/mkimage.py             |  79 ++++++++++-------
 tools/binman/etype/section.py             |  22 ++---
 tools/binman/etype/u_boot_spl_bss_pad.py  |   2 +-
 tools/binman/etype/u_boot_tpl_bss_pad.py  |   2 +-
 tools/binman/etype/u_boot_vpl_bss_pad.py  |   2 +-
 tools/binman/ftest.py                     | 103 +++++++++++++++++++++-
 tools/binman/test/282_symbols_disable.dts |  25 ++++++
 tools/binman/test/283_mkimage_special.dts |  24 +++++
 tools/binman/test/284_fit_fdt_list.dts    |  58 ++++++++++++
 tools/binman/test/285_spl_expand.dts      |  13 +++
 tools/binman/test/286_entry_template.dts  |  42 +++++++++
 tools/binman/test/Makefile                |   5 +-
 tools/binman/test/bss_data.c              |   3 +-
 tools/binman/test/bss_data_zero.c         |  16 ++++
 tools/binman/test/bss_data_zero.lds       |  15 ++++
 tools/binman/test/embed_data.lds          |   1 +
 tools/dtoc/fdt.py                         |  38 ++++++++
 tools/dtoc/test/dtoc_test_simple.dts      |  13 ++-
 tools/dtoc/test_fdt.py                    |  61 +++++++++++++
 27 files changed, 599 insertions(+), 57 deletions(-)
 create mode 100644 tools/binman/test/282_symbols_disable.dts
 create mode 100644 tools/binman/test/283_mkimage_special.dts
 create mode 100644 tools/binman/test/284_fit_fdt_list.dts
 create mode 100644 tools/binman/test/285_spl_expand.dts
 create mode 100644 tools/binman/test/286_entry_template.dts
 create mode 100644 tools/binman/test/bss_data_zero.c
 create mode 100644 tools/binman/test/bss_data_zero.lds

-- 
2.41.0.162.gfafddb0af9-goog



More information about the U-Boot mailing list