mbox series

[U-Boot,00/12] binman: A few more features

Message ID 20180516015258.187295-1-sjg@chromium.org
Headers show
Series binman: A few more features | expand

Message

Simon Glass May 16, 2018, 1:52 a.m. UTC
This series ads a few more features to binman, principally the ability to
nest entries within other entries, to form hierarchical images.

Also included are support for a map file and some docs tidy-ups.


Simon Glass (12):
  binman: Allow unit addresses for binaries
  binman: Refactor much of the image code into 'section'
  binman: Rename ELF parameters to 'section'
  binman: Rename Entry property to 'section'
  binman: Avoid setting sys.path globally
  binman: Add support for sections
  binman: Add documentation for pos-unset property
  binman: Allow a single test to be executed
  binman: Tidy up some docs and comments
  binman: Add support for outputing a map file
  binman: Add support for adding a name prefix to entries
  binman: Mark 'align-end' as implemented

 tools/binman/README                           |  89 ++++-
 tools/binman/binman.py                        |  24 +-
 tools/binman/bsection.py                      | 318 ++++++++++++++++++
 tools/binman/cmdline.py                       |   2 +
 tools/binman/control.py                       |   2 +
 tools/binman/elf.py                           |  10 +-
 tools/binman/elf_test.py                      |  28 +-
 tools/binman/{etype => }/entry.py             |  74 +++-
 tools/binman/etype/_testing.py                |   4 +-
 tools/binman/etype/blob.py                    |   4 +-
 tools/binman/etype/intel_cmc.py               |   4 +-
 tools/binman/etype/intel_descriptor.py        |   4 +-
 tools/binman/etype/intel_fsp.py               |   4 +-
 tools/binman/etype/intel_me.py                |   4 +-
 tools/binman/etype/intel_mrc.py               |   4 +-
 tools/binman/etype/intel_vbt.py               |   4 +-
 tools/binman/etype/intel_vga.py               |   4 +-
 tools/binman/etype/section.py                 |  60 ++++
 tools/binman/etype/u_boot.py                  |   4 +-
 tools/binman/etype/u_boot_dtb.py              |   4 +-
 tools/binman/etype/u_boot_dtb_with_ucode.py   |  12 +-
 tools/binman/etype/u_boot_img.py              |   4 +-
 tools/binman/etype/u_boot_nodtb.py            |   4 +-
 tools/binman/etype/u_boot_spl.py              |   8 +-
 tools/binman/etype/u_boot_spl_bss_pad.py      |   4 +-
 tools/binman/etype/u_boot_spl_dtb.py          |   4 +-
 tools/binman/etype/u_boot_spl_nodtb.py        |   4 +-
 .../binman/etype/u_boot_spl_with_ucode_ptr.py |   4 +-
 tools/binman/etype/u_boot_ucode.py            |  14 +-
 tools/binman/etype/u_boot_with_ucode_ptr.py   |  20 +-
 tools/binman/etype/x86_start16.py             |   4 +-
 tools/binman/etype/x86_start16_spl.py         |   4 +-
 tools/binman/ftest.py                         |  98 ++++--
 tools/binman/image.py                         | 262 ++-------------
 tools/binman/image_test.py                    |  18 +-
 tools/binman/test/54_unit_address.dts         |  13 +
 tools/binman/test/55_sections.dts             |  26 ++
 tools/binman/test/56_name_prefix.dts          |  28 ++
 38 files changed, 810 insertions(+), 372 deletions(-)
 create mode 100644 tools/binman/bsection.py
 rename tools/binman/{etype => }/entry.py (75%)
 create mode 100644 tools/binman/etype/section.py
 create mode 100644 tools/binman/test/54_unit_address.dts
 create mode 100644 tools/binman/test/55_sections.dts
 create mode 100644 tools/binman/test/56_name_prefix.dts

Comments

Simon Glass May 26, 2018, 10:18 p.m. UTC | #1
Hi,

On 15 May 2018 at 19:52, Simon Glass <sjg@chromium.org> wrote:
> This series ads a few more features to binman, principally the ability to
> nest entries within other entries, to form hierarchical images.
>
> Also included are support for a map file and some docs tidy-ups.
>
>
> Simon Glass (12):
>   binman: Allow unit addresses for binaries
>   binman: Refactor much of the image code into 'section'
>   binman: Rename ELF parameters to 'section'
>   binman: Rename Entry property to 'section'
>   binman: Avoid setting sys.path globally
>   binman: Add support for sections
>   binman: Add documentation for pos-unset property
>   binman: Allow a single test to be executed
>   binman: Tidy up some docs and comments
>   binman: Add support for outputing a map file
>   binman: Add support for adding a name prefix to entries
>   binman: Mark 'align-end' as implemented
>
>  tools/binman/README                           |  89 ++++-
>  tools/binman/binman.py                        |  24 +-
>  tools/binman/bsection.py                      | 318 ++++++++++++++++++
>  tools/binman/cmdline.py                       |   2 +
>  tools/binman/control.py                       |   2 +
>  tools/binman/elf.py                           |  10 +-
>  tools/binman/elf_test.py                      |  28 +-
>  tools/binman/{etype => }/entry.py             |  74 +++-
>  tools/binman/etype/_testing.py                |   4 +-
>  tools/binman/etype/blob.py                    |   4 +-
>  tools/binman/etype/intel_cmc.py               |   4 +-
>  tools/binman/etype/intel_descriptor.py        |   4 +-
>  tools/binman/etype/intel_fsp.py               |   4 +-
>  tools/binman/etype/intel_me.py                |   4 +-
>  tools/binman/etype/intel_mrc.py               |   4 +-
>  tools/binman/etype/intel_vbt.py               |   4 +-
>  tools/binman/etype/intel_vga.py               |   4 +-
>  tools/binman/etype/section.py                 |  60 ++++
>  tools/binman/etype/u_boot.py                  |   4 +-
>  tools/binman/etype/u_boot_dtb.py              |   4 +-
>  tools/binman/etype/u_boot_dtb_with_ucode.py   |  12 +-
>  tools/binman/etype/u_boot_img.py              |   4 +-
>  tools/binman/etype/u_boot_nodtb.py            |   4 +-
>  tools/binman/etype/u_boot_spl.py              |   8 +-
>  tools/binman/etype/u_boot_spl_bss_pad.py      |   4 +-
>  tools/binman/etype/u_boot_spl_dtb.py          |   4 +-
>  tools/binman/etype/u_boot_spl_nodtb.py        |   4 +-
>  .../binman/etype/u_boot_spl_with_ucode_ptr.py |   4 +-
>  tools/binman/etype/u_boot_ucode.py            |  14 +-
>  tools/binman/etype/u_boot_with_ucode_ptr.py   |  20 +-
>  tools/binman/etype/x86_start16.py             |   4 +-
>  tools/binman/etype/x86_start16_spl.py         |   4 +-
>  tools/binman/ftest.py                         |  98 ++++--
>  tools/binman/image.py                         | 262 ++-------------
>  tools/binman/image_test.py                    |  18 +-
>  tools/binman/test/54_unit_address.dts         |  13 +
>  tools/binman/test/55_sections.dts             |  26 ++
>  tools/binman/test/56_name_prefix.dts          |  28 ++
>  38 files changed, 810 insertions(+), 372 deletions(-)
>  create mode 100644 tools/binman/bsection.py
>  rename tools/binman/{etype => }/entry.py (75%)
>  create mode 100644 tools/binman/etype/section.py
>  create mode 100644 tools/binman/test/54_unit_address.dts
>  create mode 100644 tools/binman/test/55_sections.dts
>  create mode 100644 tools/binman/test/56_name_prefix.dts
>
> --
> 2.17.0.441.gb46fe60e1d-goog
>

Any comments on this one please?

Regards,
Simon
Tom Rini May 28, 2018, 7:17 p.m. UTC | #2
On Sat, May 26, 2018 at 04:18:45PM -0600, Simon Glass wrote:
> Hi,
> 
> On 15 May 2018 at 19:52, Simon Glass <sjg@chromium.org> wrote:
> > This series ads a few more features to binman, principally the ability to
> > nest entries within other entries, to form hierarchical images.
> >
> > Also included are support for a map file and some docs tidy-ups.
> >
> >
> > Simon Glass (12):
> >   binman: Allow unit addresses for binaries
> >   binman: Refactor much of the image code into 'section'
> >   binman: Rename ELF parameters to 'section'
> >   binman: Rename Entry property to 'section'
> >   binman: Avoid setting sys.path globally
> >   binman: Add support for sections
> >   binman: Add documentation for pos-unset property
> >   binman: Allow a single test to be executed
> >   binman: Tidy up some docs and comments
> >   binman: Add support for outputing a map file
> >   binman: Add support for adding a name prefix to entries
> >   binman: Mark 'align-end' as implemented
> >
> >  tools/binman/README                           |  89 ++++-
> >  tools/binman/binman.py                        |  24 +-
> >  tools/binman/bsection.py                      | 318 ++++++++++++++++++
> >  tools/binman/cmdline.py                       |   2 +
> >  tools/binman/control.py                       |   2 +
> >  tools/binman/elf.py                           |  10 +-
> >  tools/binman/elf_test.py                      |  28 +-
> >  tools/binman/{etype => }/entry.py             |  74 +++-
> >  tools/binman/etype/_testing.py                |   4 +-
> >  tools/binman/etype/blob.py                    |   4 +-
> >  tools/binman/etype/intel_cmc.py               |   4 +-
> >  tools/binman/etype/intel_descriptor.py        |   4 +-
> >  tools/binman/etype/intel_fsp.py               |   4 +-
> >  tools/binman/etype/intel_me.py                |   4 +-
> >  tools/binman/etype/intel_mrc.py               |   4 +-
> >  tools/binman/etype/intel_vbt.py               |   4 +-
> >  tools/binman/etype/intel_vga.py               |   4 +-
> >  tools/binman/etype/section.py                 |  60 ++++
> >  tools/binman/etype/u_boot.py                  |   4 +-
> >  tools/binman/etype/u_boot_dtb.py              |   4 +-
> >  tools/binman/etype/u_boot_dtb_with_ucode.py   |  12 +-
> >  tools/binman/etype/u_boot_img.py              |   4 +-
> >  tools/binman/etype/u_boot_nodtb.py            |   4 +-
> >  tools/binman/etype/u_boot_spl.py              |   8 +-
> >  tools/binman/etype/u_boot_spl_bss_pad.py      |   4 +-
> >  tools/binman/etype/u_boot_spl_dtb.py          |   4 +-
> >  tools/binman/etype/u_boot_spl_nodtb.py        |   4 +-
> >  .../binman/etype/u_boot_spl_with_ucode_ptr.py |   4 +-
> >  tools/binman/etype/u_boot_ucode.py            |  14 +-
> >  tools/binman/etype/u_boot_with_ucode_ptr.py   |  20 +-
> >  tools/binman/etype/x86_start16.py             |   4 +-
> >  tools/binman/etype/x86_start16_spl.py         |   4 +-
> >  tools/binman/ftest.py                         |  98 ++++--
> >  tools/binman/image.py                         | 262 ++-------------
> >  tools/binman/image_test.py                    |  18 +-
> >  tools/binman/test/54_unit_address.dts         |  13 +
> >  tools/binman/test/55_sections.dts             |  26 ++
> >  tools/binman/test/56_name_prefix.dts          |  28 ++
> >  38 files changed, 810 insertions(+), 372 deletions(-)
> >  create mode 100644 tools/binman/bsection.py
> >  rename tools/binman/{etype => }/entry.py (75%)
> >  create mode 100644 tools/binman/etype/section.py
> >  create mode 100644 tools/binman/test/54_unit_address.dts
> >  create mode 100644 tools/binman/test/55_sections.dts
> >  create mode 100644 tools/binman/test/56_name_prefix.dts
> 
> Any comments on this one please?

Makes sense to me.  I think you have one or two new files where the SPDX
tags need to be moved to the first / first-possible line.  And I'd
really like to see automating the coverage tests ;)
Simon Glass June 1, 2018, 2:27 p.m. UTC | #3
Hi Tom,

On 28 May 2018 at 13:17, Tom Rini <trini@konsulko.com> wrote:
> On Sat, May 26, 2018 at 04:18:45PM -0600, Simon Glass wrote:
>> Hi,
>>
>> On 15 May 2018 at 19:52, Simon Glass <sjg@chromium.org> wrote:
>> > This series ads a few more features to binman, principally the ability to
>> > nest entries within other entries, to form hierarchical images.
>> >
>> > Also included are support for a map file and some docs tidy-ups.
>> >
>> >
>> > Simon Glass (12):
>> >   binman: Allow unit addresses for binaries
>> >   binman: Refactor much of the image code into 'section'
>> >   binman: Rename ELF parameters to 'section'
>> >   binman: Rename Entry property to 'section'
>> >   binman: Avoid setting sys.path globally
>> >   binman: Add support for sections
>> >   binman: Add documentation for pos-unset property
>> >   binman: Allow a single test to be executed
>> >   binman: Tidy up some docs and comments
>> >   binman: Add support for outputing a map file
>> >   binman: Add support for adding a name prefix to entries
>> >   binman: Mark 'align-end' as implemented
>> >
>> >  tools/binman/README                           |  89 ++++-
>> >  tools/binman/binman.py                        |  24 +-
>> >  tools/binman/bsection.py                      | 318 ++++++++++++++++++
>> >  tools/binman/cmdline.py                       |   2 +
>> >  tools/binman/control.py                       |   2 +
>> >  tools/binman/elf.py                           |  10 +-
>> >  tools/binman/elf_test.py                      |  28 +-
>> >  tools/binman/{etype => }/entry.py             |  74 +++-
>> >  tools/binman/etype/_testing.py                |   4 +-
>> >  tools/binman/etype/blob.py                    |   4 +-
>> >  tools/binman/etype/intel_cmc.py               |   4 +-
>> >  tools/binman/etype/intel_descriptor.py        |   4 +-
>> >  tools/binman/etype/intel_fsp.py               |   4 +-
>> >  tools/binman/etype/intel_me.py                |   4 +-
>> >  tools/binman/etype/intel_mrc.py               |   4 +-
>> >  tools/binman/etype/intel_vbt.py               |   4 +-
>> >  tools/binman/etype/intel_vga.py               |   4 +-
>> >  tools/binman/etype/section.py                 |  60 ++++
>> >  tools/binman/etype/u_boot.py                  |   4 +-
>> >  tools/binman/etype/u_boot_dtb.py              |   4 +-
>> >  tools/binman/etype/u_boot_dtb_with_ucode.py   |  12 +-
>> >  tools/binman/etype/u_boot_img.py              |   4 +-
>> >  tools/binman/etype/u_boot_nodtb.py            |   4 +-
>> >  tools/binman/etype/u_boot_spl.py              |   8 +-
>> >  tools/binman/etype/u_boot_spl_bss_pad.py      |   4 +-
>> >  tools/binman/etype/u_boot_spl_dtb.py          |   4 +-
>> >  tools/binman/etype/u_boot_spl_nodtb.py        |   4 +-
>> >  .../binman/etype/u_boot_spl_with_ucode_ptr.py |   4 +-
>> >  tools/binman/etype/u_boot_ucode.py            |  14 +-
>> >  tools/binman/etype/u_boot_with_ucode_ptr.py   |  20 +-
>> >  tools/binman/etype/x86_start16.py             |   4 +-
>> >  tools/binman/etype/x86_start16_spl.py         |   4 +-
>> >  tools/binman/ftest.py                         |  98 ++++--
>> >  tools/binman/image.py                         | 262 ++-------------
>> >  tools/binman/image_test.py                    |  18 +-
>> >  tools/binman/test/54_unit_address.dts         |  13 +
>> >  tools/binman/test/55_sections.dts             |  26 ++
>> >  tools/binman/test/56_name_prefix.dts          |  28 ++
>> >  38 files changed, 810 insertions(+), 372 deletions(-)
>> >  create mode 100644 tools/binman/bsection.py
>> >  rename tools/binman/{etype => }/entry.py (75%)
>> >  create mode 100644 tools/binman/etype/section.py
>> >  create mode 100644 tools/binman/test/54_unit_address.dts
>> >  create mode 100644 tools/binman/test/55_sections.dts
>> >  create mode 100644 tools/binman/test/56_name_prefix.dts
>>
>> Any comments on this one please?
>
> Makes sense to me.  I think you have one or two new files where the SPDX
> tags need to be moved to the first / first-possible line.  And I'd
> really like to see automating the coverage tests ;)

OK I'll take a look at the SPDX problems. For me the coverage stuff
works, so we''ll have to figure that out.

Regards,
Simon