mbox series

[v3,00/18] pxe: Refactoring to tidy up and prepare for bootflow

Message ID 20211014184811.482560-1-sjg@chromium.org
Headers show
Series pxe: Refactoring to tidy up and prepare for bootflow | expand

Message

Simon Glass Oct. 14, 2021, 6:47 p.m. UTC
This collects together the patches previously sent relating to PXE.

Firstly, it moves the boot code out of common/ and into a new boot/
directory. This helps to collect these related files in one place, as
common/ is quite large.

Secondly, it provides patache so clean up the PXE code and refactor it
into something closer to a module that can be called, teasing apart its
reliance on the command-line interpreter to access filesystems and the
like. Also it now uses function arguments and its own context struct
internally rather than environment variables, which is very hard to
follow. No core functional change is intended.

Changes in v3:
- Rebase to -master

Changes in v2:
- Rebase to -next
- Split out from the bootmethod patches

Simon Glass (18):
  Create a new boot/ directory
  pxe: Move API comments to the header files
  pxe: Use a context pointer
  pxe: Move do_getfile() into the context
  pxe: Add a userdata field to the context
  pxe: Tidy up the is_pxe global
  pxe: Move pxe_utils files
  pxe: Tidy up some comments in pxe_utils
  pxe: Tidy up code style a little in pxe_utils
  pxe: Move common parsing coding into pxe_util
  pxe: Clean up the use of bootfile
  pxe: Drop get_bootfile_path()
  lib: Add tests for simple_itoa()
  lib: Add a function to convert a string to a hex value
  pxe: Return the file size from the getfile() function
  pxe: Refactor sysboot to have one helper
  doc: Move distro boot doc to rST
  pxe: Allow calling the pxe_get logic directly

 Kconfig                                   |   2 +
 Makefile                                  |   3 +-
 README                                    |   1 +
 common/Kconfig.boot => boot/Kconfig       |   0
 boot/Makefile                             |  37 ++
 {common => boot}/android_ab.c             |   0
 {common => boot}/boot_fit.c               |   0
 {common => boot}/bootm.c                  |   0
 {common => boot}/bootm_os.c               |   0
 {common => boot}/bootretry.c              |   0
 {common => boot}/common_fit.c             |   0
 {common => boot}/fdt_region.c             |   0
 {common => boot}/image-android-dt.c       |   0
 {common => boot}/image-android.c          |   0
 {common => boot}/image-board.c            |   0
 {common => boot}/image-cipher.c           |   0
 {common => boot}/image-fdt.c              |   0
 {common => boot}/image-fit-sig.c          |   0
 {common => boot}/image-fit.c              |   0
 {common => boot}/image-host.c             |   0
 {common => boot}/image-sig.c              |   0
 {common => boot}/image.c                  |   0
 {cmd => boot}/pxe_utils.c                 | 512 +++++++++++-----------
 cmd/Makefile                              |   4 +-
 cmd/pxe.c                                 | 136 +++---
 cmd/pxe_utils.h                           |  91 ----
 cmd/sysboot.c                             | 114 +++--
 common/Kconfig                            |   2 -
 common/Makefile                           |  22 -
 doc/android/boot-image.rst                |   2 +-
 doc/{README.distro => develop/distro.rst} | 177 ++++----
 doc/develop/index.rst                     |   1 +
 include/pxe_utils.h                       | 253 +++++++++++
 include/vsprintf.h                        |  25 +-
 lib/vsprintf.c                            |  20 +-
 scripts/Makefile.spl                      |   4 +-
 test/print_ut.c                           |  41 ++
 tools/Makefile                            |  18 +-
 38 files changed, 874 insertions(+), 591 deletions(-)
 rename common/Kconfig.boot => boot/Kconfig (100%)
 create mode 100644 boot/Makefile
 rename {common => boot}/android_ab.c (100%)
 rename {common => boot}/boot_fit.c (100%)
 rename {common => boot}/bootm.c (100%)
 rename {common => boot}/bootm_os.c (100%)
 rename {common => boot}/bootretry.c (100%)
 rename {common => boot}/common_fit.c (100%)
 rename {common => boot}/fdt_region.c (100%)
 rename {common => boot}/image-android-dt.c (100%)
 rename {common => boot}/image-android.c (100%)
 rename {common => boot}/image-board.c (100%)
 rename {common => boot}/image-cipher.c (100%)
 rename {common => boot}/image-fdt.c (100%)
 rename {common => boot}/image-fit-sig.c (100%)
 rename {common => boot}/image-fit.c (100%)
 rename {common => boot}/image-host.c (100%)
 rename {common => boot}/image-sig.c (100%)
 rename {common => boot}/image.c (100%)
 rename {cmd => boot}/pxe_utils.c (74%)
 delete mode 100644 cmd/pxe_utils.h
 rename doc/{README.distro => develop/distro.rst} (76%)
 create mode 100644 include/pxe_utils.h

Comments

Art Nikpal Oct. 15, 2021, 10:27 a.m. UTC | #1
hi Simon

I am still testing this patchset for master branch!  need more time
(but looks like works)

BTW: i have get some problems from prev your commits for example
unbootable raw initrd images
https://patchwork.ozlabs.org/project/uboot/patch/20211015101501.4091141-1-art@khadas.com/
i have send this patch maybe your can identificate problem more
properly (to much changes from v2021.07 - v2021.10
boot process for v2021.07 works well )

Tnx for your work

On Fri, Oct 15, 2021 at 2:48 AM Simon Glass <sjg@chromium.org> wrote:
>
> This collects together the patches previously sent relating to PXE.
>
> Firstly, it moves the boot code out of common/ and into a new boot/
> directory. This helps to collect these related files in one place, as
> common/ is quite large.
>
> Secondly, it provides patache so clean up the PXE code and refactor it
> into something closer to a module that can be called, teasing apart its
> reliance on the command-line interpreter to access filesystems and the
> like. Also it now uses function arguments and its own context struct
> internally rather than environment variables, which is very hard to
> follow. No core functional change is intended.
>
> Changes in v3:
> - Rebase to -master
>
> Changes in v2:
> - Rebase to -next
> - Split out from the bootmethod patches
>
> Simon Glass (18):
>   Create a new boot/ directory
>   pxe: Move API comments to the header files
>   pxe: Use a context pointer
>   pxe: Move do_getfile() into the context
>   pxe: Add a userdata field to the context
>   pxe: Tidy up the is_pxe global
>   pxe: Move pxe_utils files
>   pxe: Tidy up some comments in pxe_utils
>   pxe: Tidy up code style a little in pxe_utils
>   pxe: Move common parsing coding into pxe_util
>   pxe: Clean up the use of bootfile
>   pxe: Drop get_bootfile_path()
>   lib: Add tests for simple_itoa()
>   lib: Add a function to convert a string to a hex value
>   pxe: Return the file size from the getfile() function
>   pxe: Refactor sysboot to have one helper
>   doc: Move distro boot doc to rST
>   pxe: Allow calling the pxe_get logic directly
>
>  Kconfig                                   |   2 +
>  Makefile                                  |   3 +-
>  README                                    |   1 +
>  common/Kconfig.boot => boot/Kconfig       |   0
>  boot/Makefile                             |  37 ++
>  {common => boot}/android_ab.c             |   0
>  {common => boot}/boot_fit.c               |   0
>  {common => boot}/bootm.c                  |   0
>  {common => boot}/bootm_os.c               |   0
>  {common => boot}/bootretry.c              |   0
>  {common => boot}/common_fit.c             |   0
>  {common => boot}/fdt_region.c             |   0
>  {common => boot}/image-android-dt.c       |   0
>  {common => boot}/image-android.c          |   0
>  {common => boot}/image-board.c            |   0
>  {common => boot}/image-cipher.c           |   0
>  {common => boot}/image-fdt.c              |   0
>  {common => boot}/image-fit-sig.c          |   0
>  {common => boot}/image-fit.c              |   0
>  {common => boot}/image-host.c             |   0
>  {common => boot}/image-sig.c              |   0
>  {common => boot}/image.c                  |   0
>  {cmd => boot}/pxe_utils.c                 | 512 +++++++++++-----------
>  cmd/Makefile                              |   4 +-
>  cmd/pxe.c                                 | 136 +++---
>  cmd/pxe_utils.h                           |  91 ----
>  cmd/sysboot.c                             | 114 +++--
>  common/Kconfig                            |   2 -
>  common/Makefile                           |  22 -
>  doc/android/boot-image.rst                |   2 +-
>  doc/{README.distro => develop/distro.rst} | 177 ++++----
>  doc/develop/index.rst                     |   1 +
>  include/pxe_utils.h                       | 253 +++++++++++
>  include/vsprintf.h                        |  25 +-
>  lib/vsprintf.c                            |  20 +-
>  scripts/Makefile.spl                      |   4 +-
>  test/print_ut.c                           |  41 ++
>  tools/Makefile                            |  18 +-
>  38 files changed, 874 insertions(+), 591 deletions(-)
>  rename common/Kconfig.boot => boot/Kconfig (100%)
>  create mode 100644 boot/Makefile
>  rename {common => boot}/android_ab.c (100%)
>  rename {common => boot}/boot_fit.c (100%)
>  rename {common => boot}/bootm.c (100%)
>  rename {common => boot}/bootm_os.c (100%)
>  rename {common => boot}/bootretry.c (100%)
>  rename {common => boot}/common_fit.c (100%)
>  rename {common => boot}/fdt_region.c (100%)
>  rename {common => boot}/image-android-dt.c (100%)
>  rename {common => boot}/image-android.c (100%)
>  rename {common => boot}/image-board.c (100%)
>  rename {common => boot}/image-cipher.c (100%)
>  rename {common => boot}/image-fdt.c (100%)
>  rename {common => boot}/image-fit-sig.c (100%)
>  rename {common => boot}/image-fit.c (100%)
>  rename {common => boot}/image-host.c (100%)
>  rename {common => boot}/image-sig.c (100%)
>  rename {common => boot}/image.c (100%)
>  rename {cmd => boot}/pxe_utils.c (74%)
>  delete mode 100644 cmd/pxe_utils.h
>  rename doc/{README.distro => develop/distro.rst} (76%)
>  create mode 100644 include/pxe_utils.h
>
> --
> 2.33.0.1079.g6e70778dc9-goog
>
Simon Glass Oct. 26, 2021, 1:28 a.m. UTC | #2
Hi Ramon,

On Thu, 14 Oct 2021 at 12:48, Simon Glass <sjg@chromium.org> wrote:
>
> This collects together the patches previously sent relating to PXE.
>
> Firstly, it moves the boot code out of common/ and into a new boot/
> directory. This helps to collect these related files in one place, as
> common/ is quite large.
>
> Secondly, it provides patache so clean up the PXE code and refactor it
> into something closer to a module that can be called, teasing apart its
> reliance on the command-line interpreter to access filesystems and the
> like. Also it now uses function arguments and its own context struct
> internally rather than environment variables, which is very hard to
> follow. No core functional change is intended.
>
> Changes in v3:
> - Rebase to -master
>
> Changes in v2:
> - Rebase to -next
> - Split out from the bootmethod patches
>
> Simon Glass (18):
>   Create a new boot/ directory
>   pxe: Move API comments to the header files
>   pxe: Use a context pointer
>   pxe: Move do_getfile() into the context
>   pxe: Add a userdata field to the context
>   pxe: Tidy up the is_pxe global
>   pxe: Move pxe_utils files
>   pxe: Tidy up some comments in pxe_utils
>   pxe: Tidy up code style a little in pxe_utils
>   pxe: Move common parsing coding into pxe_util
>   pxe: Clean up the use of bootfile
>   pxe: Drop get_bootfile_path()
>   lib: Add tests for simple_itoa()
>   lib: Add a function to convert a string to a hex value
>   pxe: Return the file size from the getfile() function
>   pxe: Refactor sysboot to have one helper
>   doc: Move distro boot doc to rST
>   pxe: Allow calling the pxe_get logic directly
>
>  Kconfig                                   |   2 +
>  Makefile                                  |   3 +-
>  README                                    |   1 +
>  common/Kconfig.boot => boot/Kconfig       |   0
>  boot/Makefile                             |  37 ++
>  {common => boot}/android_ab.c             |   0
>  {common => boot}/boot_fit.c               |   0
>  {common => boot}/bootm.c                  |   0
>  {common => boot}/bootm_os.c               |   0
>  {common => boot}/bootretry.c              |   0
>  {common => boot}/common_fit.c             |   0
>  {common => boot}/fdt_region.c             |   0
>  {common => boot}/image-android-dt.c       |   0
>  {common => boot}/image-android.c          |   0
>  {common => boot}/image-board.c            |   0
>  {common => boot}/image-cipher.c           |   0
>  {common => boot}/image-fdt.c              |   0
>  {common => boot}/image-fit-sig.c          |   0
>  {common => boot}/image-fit.c              |   0
>  {common => boot}/image-host.c             |   0
>  {common => boot}/image-sig.c              |   0
>  {common => boot}/image.c                  |   0
>  {cmd => boot}/pxe_utils.c                 | 512 +++++++++++-----------
>  cmd/Makefile                              |   4 +-
>  cmd/pxe.c                                 | 136 +++---
>  cmd/pxe_utils.h                           |  91 ----
>  cmd/sysboot.c                             | 114 +++--
>  common/Kconfig                            |   2 -
>  common/Makefile                           |  22 -
>  doc/android/boot-image.rst                |   2 +-
>  doc/{README.distro => develop/distro.rst} | 177 ++++----
>  doc/develop/index.rst                     |   1 +
>  include/pxe_utils.h                       | 253 +++++++++++
>  include/vsprintf.h                        |  25 +-
>  lib/vsprintf.c                            |  20 +-
>  scripts/Makefile.spl                      |   4 +-
>  test/print_ut.c                           |  41 ++
>  tools/Makefile                            |  18 +-
>  38 files changed, 874 insertions(+), 591 deletions(-)
>  rename common/Kconfig.boot => boot/Kconfig (100%)
>  create mode 100644 boot/Makefile
>  rename {common => boot}/android_ab.c (100%)
>  rename {common => boot}/boot_fit.c (100%)
>  rename {common => boot}/bootm.c (100%)
>  rename {common => boot}/bootm_os.c (100%)
>  rename {common => boot}/bootretry.c (100%)
>  rename {common => boot}/common_fit.c (100%)
>  rename {common => boot}/fdt_region.c (100%)
>  rename {common => boot}/image-android-dt.c (100%)
>  rename {common => boot}/image-android.c (100%)
>  rename {common => boot}/image-board.c (100%)
>  rename {common => boot}/image-cipher.c (100%)
>  rename {common => boot}/image-fdt.c (100%)
>  rename {common => boot}/image-fit-sig.c (100%)
>  rename {common => boot}/image-fit.c (100%)
>  rename {common => boot}/image-host.c (100%)
>  rename {common => boot}/image-sig.c (100%)
>  rename {common => boot}/image.c (100%)
>  rename {cmd => boot}/pxe_utils.c (74%)
>  delete mode 100644 cmd/pxe_utils.h
>  rename doc/{README.distro => develop/distro.rst} (76%)
>  create mode 100644 include/pxe_utils.h
>
> --
> 2.33.0.1079.g6e70778dc9-goog
>

I see this series is assigned to you in patchwork. Did you see it? It
looks like you are network maintainer but that doesn't include the PXE
files for some reason...

Regards,
Simon