All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/21] Universal Payload initial series
@ 2024-07-13  7:00 Simon Glass
  2024-07-13  7:00 ` [PATCH v2 01/21] sandbox: Use const in os_jump_to_file() Simon Glass
                   ` (21 more replies)
  0 siblings, 22 replies; 41+ messages in thread
From: Simon Glass @ 2024-07-13  7:00 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: Michal Simek, Sean Anderson, Lean Sheng Tan, Simon Glass,
	AKASHI Takahiro, Abdellatif El Khlifi, Alexander Gendin,
	Anand Moon, Andre Przywara, Andrew Davis, Artur Rojek, Bin Meng,
	Bryan Brattlof, Caleb Connolly, Chanho Park, Devarsh Thakkar,
	Eddie James, Etienne Carriere, Francis Laniel,
	Heinrich Schuchardt, Ilias Apalodimas, Jerry Van Baren,
	Jesse Taube, Jonas Karlman, Joshua Watt, Kever Yang,
	Leon M. Busch-George, Lukas Funke, Manoj Sai, Marek Vasut,
	Marek Vasut, Mattijs Korpershoek, Nikhil M Jain, Nishanth Menon,
	Oleksandr Suvorov, Peter Robinson, Rasmus Villemoes, Raymond Mao,
	Sam Protsenko, Samuel Holland, Shiji Yang, Sughosh Ganu,
	Sumit Garg, Suniel Mahesh, Tom Fitzhenry, Tom Rini, Troy Kisky

Universal Payload (UPL) is an Industry Standard for firmware
components[1]. UPL is designed to improve interoperability within the
firmware industry, allowing mixing and matching of projects with less
friction and fewer project-specific implementations. UPL is
cross-platform, supporting ARM, x86 and RISC-V initially.

This series provides some initial support for this, targeting 0.9.1 and
sandbox only.

Features still to come include:
- Support for architectures
- FIT validation
- Handoff validation
- Interoperability tests

This series is available at dm/uplb-working and requires the alist
series at dm/alist-working[2]

[1] https://universalpayload.github.io/spec/
[2] https://patchwork.ozlabs.org/project/uboot/list/?series=414642

Changes in v2:
- Put the upl tests under their own subcommand to avoid bootstd init
- Add a function to init the UPL process in SPL
- Hang when something goes wrong, to avoid a broken boot
- Add a runtime flag to enable UPL
- Add a link to the spec
- Add a link to the command
- Support CI testing
- Rework to use alist instead of fixed-length arrays

Simon Glass (21):
  sandbox: Use const in os_jump_to_file()
  sandbox: Fix a comment in os_find_u_boot()
  test: Move some SPL-loading test-code into sandbox common
  sandbox: Enable SPL_LOAD_BLOCK
  fdt: Don't overwrite bloblist devicetree
  sandbox: fdt: Avoid overwriting an existing fdt
  sandbox: Return error code from read/write/seek
  sandbox: Add ELF file to VPL u-boot.img
  sandbox: Set up global_data earlier
  upl: Add support for reading a upl handoff
  upl: Add support for writing a upl handoff
  upl: Add basic tests
  upl: Add a command
  upl: Add support for Universal Payload in SPL
  spl: Plumb in the Universal Payload handoff
  upl: Plumb in universal payload to the init process
  sandbox_vpl: Enable Universal Payload
  upl: Add initial documentation
  sandbox: Add a flag to enable UPL
  sandbox: Add an SPL loader for UPL
  upl: Add an end-to-end test

 MAINTAINERS                       |  13 +
 Makefile                          |   4 +-
 arch/sandbox/cpu/cpu.c            |   2 +
 arch/sandbox/cpu/os.c             |  30 +-
 arch/sandbox/cpu/spl.c            | 116 +++++-
 arch/sandbox/cpu/start.c          |  18 +-
 arch/sandbox/include/asm/spl.h    |  15 +
 arch/sandbox/include/asm/state.h  |   1 +
 boot/Kconfig                      |  70 ++++
 boot/Makefile                     |   4 +
 boot/upl_common.c                 |  60 +++
 boot/upl_common.h                 |  24 ++
 boot/upl_read.c                   | 588 ++++++++++++++++++++++++++++
 boot/upl_write.c                  | 622 ++++++++++++++++++++++++++++++
 cmd/Kconfig                       |   7 +
 cmd/Makefile                      |   1 +
 cmd/upl.c                         | 118 ++++++
 common/board_f.c                  |  22 ++
 common/board_r.c                  |   2 +
 common/spl/Kconfig                |   1 +
 common/spl/Makefile               |   2 +
 common/spl/spl.c                  |   8 +
 common/spl/spl_fit.c              |  22 ++
 common/spl/spl_upl.c              | 171 ++++++++
 configs/sandbox_defconfig         |   1 +
 configs/sandbox_vpl_defconfig     |   4 +
 doc/usage/cmd/upl.rst             | 186 +++++++++
 doc/usage/index.rst               |   2 +
 doc/usage/upl.rst                 |  46 +++
 drivers/block/sandbox.c           |   4 +-
 drivers/usb/emul/sandbox_flash.c  |   2 +-
 fs/sandbox/sandboxfs.c            |   6 +-
 include/asm-generic/global_data.h |  19 +
 include/os.h                      |   6 +-
 include/spl.h                     |  16 +
 include/test/suites.h             |   1 +
 include/upl.h                     | 361 +++++++++++++++++
 lib/fdtdec.c                      |   1 +
 test/boot/Makefile                |   2 +
 test/boot/upl.c                   | 436 +++++++++++++++++++++
 test/cmd_ut.c                     |   3 +
 test/image/spl_load_os.c          |  53 +--
 test/py/tests/test_upl.py         |  38 ++
 43 files changed, 3036 insertions(+), 72 deletions(-)
 create mode 100644 boot/upl_common.c
 create mode 100644 boot/upl_common.h
 create mode 100644 boot/upl_read.c
 create mode 100644 boot/upl_write.c
 create mode 100644 cmd/upl.c
 create mode 100644 common/spl/spl_upl.c
 create mode 100644 doc/usage/cmd/upl.rst
 create mode 100644 doc/usage/upl.rst
 create mode 100644 include/upl.h
 create mode 100644 test/boot/upl.c
 create mode 100644 test/py/tests/test_upl.py

-- 
2.34.1


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

end of thread, other threads:[~2024-08-07 14:38 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-13  7:00 [PATCH v2 00/21] Universal Payload initial series Simon Glass
2024-07-13  7:00 ` [PATCH v2 01/21] sandbox: Use const in os_jump_to_file() Simon Glass
2024-07-18  8:02   ` Mattijs Korpershoek
2024-07-13  7:00 ` [PATCH v2 02/21] sandbox: Fix a comment in os_find_u_boot() Simon Glass
2024-07-18  8:02   ` Mattijs Korpershoek
2024-07-13  7:00 ` [PATCH v2 03/21] test: Move some SPL-loading test-code into sandbox common Simon Glass
2024-07-18 14:11   ` Sean Anderson
2024-07-13  7:00 ` [PATCH v2 04/21] sandbox: Enable SPL_LOAD_BLOCK Simon Glass
2024-07-18 13:28   ` Sean Anderson
2024-07-18 23:58     ` Sean Anderson
2024-07-13  7:00 ` [PATCH v2 05/21] fdt: Don't overwrite bloblist devicetree Simon Glass
2024-07-13  7:00 ` [PATCH v2 06/21] sandbox: fdt: Avoid overwriting an existing fdt Simon Glass
2024-07-13  7:00 ` [PATCH v2 07/21] sandbox: Return error code from read/write/seek Simon Glass
2024-07-13  7:00 ` [PATCH v2 08/21] sandbox: Add ELF file to VPL u-boot.img Simon Glass
2024-07-13  7:00 ` [PATCH v2 09/21] sandbox: Set up global_data earlier Simon Glass
2024-07-13  7:00 ` [PATCH v2 10/21] upl: Add support for reading a upl handoff Simon Glass
2024-07-18 14:41   ` Heinrich Schuchardt
2024-07-20 12:36     ` Simon Glass
2024-07-13  7:00 ` [PATCH v2 11/21] upl: Add support for writing " Simon Glass
2024-07-13  7:00 ` [PATCH v2 12/21] upl: Add basic tests Simon Glass
2024-07-13  7:00 ` [PATCH v2 13/21] upl: Add a command Simon Glass
2024-07-13  7:00 ` [PATCH v2 14/21] upl: Add support for Universal Payload in SPL Simon Glass
2024-07-13  7:00 ` [PATCH v2 15/21] spl: Plumb in the Universal Payload handoff Simon Glass
2024-07-18 13:54   ` Sean Anderson
2024-07-20 12:36     ` Simon Glass
2024-07-20 14:44       ` Sean Anderson
2024-07-21 10:08         ` Simon Glass
2024-07-13  7:00 ` [PATCH v2 16/21] upl: Plumb in universal payload to the init process Simon Glass
2024-07-13  7:00 ` [PATCH v2 17/21] sandbox_vpl: Enable Universal Payload Simon Glass
2024-07-13  7:00 ` [PATCH v2 18/21] upl: Add initial documentation Simon Glass
2024-07-13  7:00 ` [PATCH v2 19/21] sandbox: Add a flag to enable UPL Simon Glass
2024-07-13  7:00 ` [PATCH v2 20/21] sandbox: Add an SPL loader for UPL Simon Glass
2024-07-18 14:12   ` Sean Anderson
2024-07-20 12:36     ` Simon Glass
2024-07-13  7:00 ` [PATCH v2 21/21] upl: Add an end-to-end test Simon Glass
2024-07-13  8:12 ` [PATCH v2 00/21] Universal Payload initial series Mark Kettenis
2024-07-13 19:40   ` Heinrich Schuchardt
2024-07-16 19:08     ` Tom Rini
2024-07-18  8:23       ` Heinrich Schuchardt
2024-07-18 14:15         ` Tom Rini
2024-08-07 14:36   ` Simon Glass

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.