From: Simon Glass <sjg@chromium.org>
To: U-Boot Mailing List <u-boot@lists.denx.de>
Cc: "Tom Rini" <trini@konsulko.com>, "Simon Glass" <sjg@chromium.org>,
"AKASHI Takahiro" <akashi.tkhro@gmail.com>,
"Alexander Gendin" <agendin@matrox.com>,
"Caleb Connolly" <caleb.connolly@linaro.org>,
"Dragan Simic" <dsimic@manjaro.org>,
"Eddie James" <eajames@linux.ibm.com>,
"Emil Kronborg" <emil.kronborg@protonmail.com>,
"Francis Laniel" <francis.laniel@amarulasolutions.com>,
"Guillaume La Roque" <glaroque@baylibre.com>,
"Heinrich Schuchardt" <xypron.glpk@gmx.de>,
"Igor Opaniuk" <igor.opaniuk@gmail.com>,
"Ilias Apalodimas" <ilias.apalodimas@linaro.org>,
"Ion Agorria" <ion@agorria.com>,
"Jerome Forissier" <jerome.forissier@linaro.org>,
"Joe Hershberger" <joe.hershberger@ni.com>,
"Johan Jonker" <jbx6244@gmail.com>,
"Jonas Karlman" <jonas@kwiboo.se>,
"Julien Masson" <jmasson@baylibre.com>,
"Marek Vasut" <marek.vasut+renesas@mailbox.org>,
"Marek Vasut" <marex@denx.de>,
"Mark Kettenis" <kettenis@openbsd.org>,
"Martyn Welch" <martyn.welch@collabora.com>,
"Mattijs Korpershoek" <mkorpershoek@baylibre.com>,
"Maxim Moskalets" <maximmosk4@gmail.com>,
"Michael Trimarchi" <michael@amarulasolutions.com>,
"Nam Cao" <namcao@linutronix.de>,
"Pavel Herrmann" <morpheus.ibis@gmail.com>,
"Peter Robinson" <pbrobinson@gmail.com>,
"Quentin Schulz" <quentin.schulz@cherry.de>,
"Rasmus Villemoes" <rasmus.villemoes@prevas.dk>,
"Raymond Mao" <raymond.mao@linaro.org>,
"Sean Anderson" <seanga2@gmail.com>,
"Sean Edmond" <seanedmond@microsoft.com>,
"Sebastian Reichel" <sebastian.reichel@collabora.com>,
"Shantur Rathore" <i@shantur.com>, "Stefan Roese" <sr@denx.de>,
"Sughosh Ganu" <sughosh.ganu@linaro.org>,
"Svyatoslav Ryhel" <clamor95@gmail.com>,
"Thomas Weißschuh" <thomas.weissschuh@linutronix.de>,
"Tim Harvey" <tharvey@gateworks.com>,
"Tom Fitzhenry" <tom@tom-fitzhenry.me.uk>,
"Tony Dinh" <mibodhi@gmail.com>,
"Vincent Stehlé" <vincent.stehle@arm.com>
Subject: [PATCH 00/34] bootstd: Support recording images
Date: Thu, 17 Oct 2024 17:23:39 -0600 [thread overview]
Message-ID: <20241017232413.724808-1-sjg@chromium.org> (raw)
This series provides a way to keep track of the images used in bootstd,
including the type of each image.
At present this is sort-of handled by struct bootflow but in quite an
ad-hoc way. The structure has become quite large and is hard to query.
Future work will be able to reduce its size.
Ultimately the 'bootflow info' command may change to also show images as
a list, but that is left for later, as this series is already fairly
long. So for now, just introduce the concept and adjust bootstd to use
it, with a simple command to list the images.
This series includes various alist enhancements, to make use of this new
data structure a little easier.
Simon Glass (34):
alist: Mention the error condition in alist_add_placeholder()
alist: Add a comment for alist_init_struct()
alist: Expand the comment for alist_get()
alist: Add a way to get the next element
alist: Add for-loop helpers
alist: Add a function to empty the list
alist: Add a way to efficiently filter an alist
dm: core: Add a function to see if a device exists
test: boot: Use a consistent name for the script bootmeth
bootstd: Move bootflow-adding to bootstd
bootstd: Move bootflow-clearing to bootstd
bootstd: Add a function to get bootstd only if available
bootstd: Drop the bootdev-specific list of bootflows
bootstd: Move the bootflow list into an alist
image: Add a new type for extlinux
image: Add a new type for EFI apps
image: Add a new type for logo images
image: Add a new type for a command-line string
test: Expand implementation of ut_list_has_dm_tests()
test: Drop the duplicate line in setup_bootmenu_image()
test: boot: Update bootflow_iter() for console checking
bootstd: cros: Correct the x86-setup address
bootstd: Maintain a list of images
bootstd: Update bootmeth_alloc_file() to record images
boot: pxe: Drop the duplicate comment on get_pxe_file()
efi: Simplify reading files by using the common function
bootmeth: Update the read_file() method to include a type
efi: Check the filename-allocation in the network path
boot: Update extlinux pxe_getfile_func() to include type
boot: Update pxe bootmeth to record images
Update bootmeth_alloc_other() to record images
bootstd: Avoid showing an invalid buffer address
bootstd: Update cros bootmeth to record images
bootstd: Add a simple command to list images
boot/bootdev-uclass.c | 76 +++-------
boot/bootflow.c | 37 +++--
boot/bootmeth-uclass.c | 54 ++++++-
boot/bootmeth_android.c | 3 +-
boot/bootmeth_cros.c | 33 +++-
boot/bootmeth_efi.c | 16 +-
boot/bootmeth_efi_mgr.c | 3 +-
boot/bootmeth_extlinux.c | 7 +-
boot/bootmeth_pxe.c | 21 ++-
boot/bootmeth_qfw.c | 3 +-
boot/bootmeth_sandbox.c | 3 +-
boot/bootmeth_script.c | 7 +-
boot/bootstd-uclass.c | 59 ++++++-
boot/image.c | 4 +
boot/pxe_utils.c | 36 ++---
boot/vbe_simple.c | 5 +-
cmd/Kconfig | 9 ++
cmd/Makefile | 1 +
cmd/bootdev.c | 2 +-
cmd/bootflow.c | 13 +-
cmd/bootstd.c | 65 ++++++++
cmd/pxe.c | 2 +-
cmd/sysboot.c | 6 +-
doc/develop/bootstd/overview.rst | 21 ++-
doc/usage/cmd/bootstd.rst | 79 ++++++++++
doc/usage/index.rst | 1 +
drivers/core/uclass.c | 11 ++
include/alist.h | 139 ++++++++++++++++-
include/bootdev.h | 27 ----
include/bootflow.h | 44 ++++--
include/bootmeth.h | 20 ++-
include/bootstd.h | 50 +++++-
include/dm/uclass.h | 11 ++
include/image.h | 4 +
include/pxe_utils.h | 14 +-
lib/alist.c | 41 +++++
test/boot/bootflow.c | 110 +++++++++++++-
test/dm/core.c | 22 +++
test/lib/alist.c | 253 +++++++++++++++++++++++++++++++
test/py/tests/test_ut.py | 5 +-
test/test-main.c | 18 ++-
41 files changed, 1143 insertions(+), 192 deletions(-)
create mode 100644 cmd/bootstd.c
create mode 100644 doc/usage/cmd/bootstd.rst
--
2.34.1
next reply other threads:[~2024-10-17 23:31 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-17 23:23 Simon Glass [this message]
2024-10-17 23:23 ` [PATCH 01/34] alist: Mention the error condition in alist_add_placeholder() Simon Glass
2024-10-17 23:23 ` [PATCH 02/34] alist: Add a comment for alist_init_struct() Simon Glass
2024-10-17 23:23 ` [PATCH 03/34] alist: Expand the comment for alist_get() Simon Glass
2024-10-17 23:23 ` [PATCH 04/34] alist: Add a way to get the next element Simon Glass
2024-10-17 23:23 ` [PATCH 05/34] alist: Add for-loop helpers Simon Glass
2024-10-17 23:23 ` [PATCH 06/34] alist: Add a function to empty the list Simon Glass
2024-10-17 23:23 ` [PATCH 07/34] alist: Add a way to efficiently filter an alist Simon Glass
2024-10-17 23:23 ` [PATCH 08/34] dm: core: Add a function to see if a device exists Simon Glass
2024-10-17 23:23 ` [PATCH 09/34] test: boot: Use a consistent name for the script bootmeth Simon Glass
2024-10-17 23:23 ` [PATCH 10/34] bootstd: Move bootflow-adding to bootstd Simon Glass
2024-10-17 23:23 ` [PATCH 11/34] bootstd: Move bootflow-clearing " Simon Glass
2024-10-17 23:23 ` [PATCH 12/34] bootstd: Add a function to get bootstd only if available Simon Glass
2024-10-17 23:23 ` [PATCH 13/34] bootstd: Drop the bootdev-specific list of bootflows Simon Glass
2024-10-17 23:23 ` [PATCH 14/34] bootstd: Move the bootflow list into an alist Simon Glass
2024-10-17 23:23 ` [PATCH 15/34] image: Add a new type for extlinux Simon Glass
2024-10-18 3:14 ` Tom Rini
2024-10-18 14:57 ` Simon Glass
2024-10-18 15:17 ` Tom Rini
2024-10-18 17:20 ` Simon Glass
2024-10-18 17:54 ` Tom Rini
2024-10-18 18:19 ` Simon Glass
2024-10-18 18:31 ` Tom Rini
2024-10-17 23:23 ` [PATCH 16/34] image: Add a new type for EFI apps Simon Glass
2024-10-18 9:03 ` Mark Kettenis
2024-10-18 14:55 ` Simon Glass
2024-10-17 23:23 ` [PATCH 17/34] image: Add a new type for logo images Simon Glass
2024-10-17 23:23 ` [PATCH 18/34] image: Add a new type for a command-line string Simon Glass
2024-10-17 23:23 ` [PATCH 19/34] test: Expand implementation of ut_list_has_dm_tests() Simon Glass
2024-10-17 23:23 ` [PATCH 20/34] test: Drop the duplicate line in setup_bootmenu_image() Simon Glass
2024-10-17 23:24 ` [PATCH 21/34] test: boot: Update bootflow_iter() for console checking Simon Glass
2024-10-17 23:24 ` [PATCH 22/34] bootstd: cros: Correct the x86-setup address Simon Glass
2024-10-17 23:24 ` [PATCH 23/34] bootstd: Maintain a list of images Simon Glass
2024-10-18 3:14 ` Tom Rini
2024-10-18 4:01 ` Heinrich Schuchardt
2024-10-18 15:01 ` Simon Glass
2024-10-18 16:33 ` Tom Rini
2024-10-18 17:20 ` Simon Glass
2024-10-18 18:04 ` Tom Rini
2024-10-18 18:48 ` Simon Glass
2024-10-18 21:30 ` Tom Rini
2024-10-19 11:49 ` Simon Glass
2024-10-19 16:30 ` Tom Rini
2024-10-22 12:16 ` Simon Glass
2024-10-22 15:01 ` Tom Rini
2024-10-22 17:00 ` Simon Glass
2024-10-23 18:41 ` Tom Rini
2024-10-31 18:04 ` Simon Glass
2024-10-17 23:24 ` [PATCH 24/34] bootstd: Update bootmeth_alloc_file() to record images Simon Glass
2024-10-17 23:24 ` [PATCH 25/34] boot: pxe: Drop the duplicate comment on get_pxe_file() Simon Glass
2024-10-17 23:24 ` [PATCH 26/34] efi: Simplify reading files by using the common function Simon Glass
2024-10-18 3:14 ` Tom Rini
2024-10-17 23:24 ` [PATCH 27/34] bootmeth: Update the read_file() method to include a type Simon Glass
2024-10-17 23:24 ` [PATCH 28/34] efi: Check the filename-allocation in the network path Simon Glass
2024-10-17 23:24 ` [PATCH 29/34] boot: Update extlinux pxe_getfile_func() to include type Simon Glass
2024-10-17 23:24 ` [PATCH 30/34] boot: Update pxe bootmeth to record images Simon Glass
2024-10-17 23:24 ` [PATCH 31/34] Update bootmeth_alloc_other() " Simon Glass
2024-10-17 23:24 ` [PATCH 32/34] bootstd: Avoid showing an invalid buffer address Simon Glass
2024-10-17 23:24 ` [PATCH 33/34] bootstd: Update cros bootmeth to record images Simon Glass
2024-10-17 23:24 ` [PATCH 34/34] bootstd: Add a simple command to list images Simon Glass
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241017232413.724808-1-sjg@chromium.org \
--to=sjg@chromium.org \
--cc=agendin@matrox.com \
--cc=akashi.tkhro@gmail.com \
--cc=caleb.connolly@linaro.org \
--cc=clamor95@gmail.com \
--cc=dsimic@manjaro.org \
--cc=eajames@linux.ibm.com \
--cc=emil.kronborg@protonmail.com \
--cc=francis.laniel@amarulasolutions.com \
--cc=glaroque@baylibre.com \
--cc=i@shantur.com \
--cc=igor.opaniuk@gmail.com \
--cc=ilias.apalodimas@linaro.org \
--cc=ion@agorria.com \
--cc=jbx6244@gmail.com \
--cc=jerome.forissier@linaro.org \
--cc=jmasson@baylibre.com \
--cc=joe.hershberger@ni.com \
--cc=jonas@kwiboo.se \
--cc=kettenis@openbsd.org \
--cc=marek.vasut+renesas@mailbox.org \
--cc=marex@denx.de \
--cc=martyn.welch@collabora.com \
--cc=maximmosk4@gmail.com \
--cc=mibodhi@gmail.com \
--cc=michael@amarulasolutions.com \
--cc=mkorpershoek@baylibre.com \
--cc=morpheus.ibis@gmail.com \
--cc=namcao@linutronix.de \
--cc=pbrobinson@gmail.com \
--cc=quentin.schulz@cherry.de \
--cc=rasmus.villemoes@prevas.dk \
--cc=raymond.mao@linaro.org \
--cc=seanedmond@microsoft.com \
--cc=seanga2@gmail.com \
--cc=sebastian.reichel@collabora.com \
--cc=sr@denx.de \
--cc=sughosh.ganu@linaro.org \
--cc=tharvey@gateworks.com \
--cc=thomas.weissschuh@linutronix.de \
--cc=tom@tom-fitzhenry.me.uk \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=vincent.stehle@arm.com \
--cc=xypron.glpk@gmx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.