From f6cd0a36cee32e89449f71ce495dc8f4cd175ad8 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 12 Oct 2025 00:43:53 -0600 Subject: [PATCH] boot: Improve comments related to global bootmeths Add a few comments about global bootmeths and first_glob_method Signed-off-by: Simon Glass Reviewed-by: Heinrich Schuchardt Reviewed-by: Mattijs Korpershoek Reviewed-by: Sam Protsenko --- boot/bootflow.c | 1 + boot/bootmeth-uclass.c | 1 + include/bootflow.h | 3 ++- test/boot/bootflow.c | 2 +- 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/boot/bootflow.c b/boot/bootflow.c index d79f303486d..15df7069209 100644 --- a/boot/bootflow.c +++ b/boot/bootflow.c @@ -344,6 +344,7 @@ static int bootflow_check(struct bootflow_iter *iter, struct bootflow *bflow) struct udevice *dev; int ret; + /* handle global bootmeths if needed */ if (IS_ENABLED(CONFIG_BOOTMETH_GLOBAL) && iter->doing_global) { bootflow_iter_set_dev(iter, NULL, 0); ret = bootmeth_get_bootflow(iter->method, bflow); diff --git a/boot/bootmeth-uclass.c b/boot/bootmeth-uclass.c index 188f6ea1895..bb2dd8447cf 100644 --- a/boot/bootmeth-uclass.c +++ b/boot/bootmeth-uclass.c @@ -204,6 +204,7 @@ int bootmeth_setup_iter_order(struct bootflow_iter *iter, bool include_global) goto err_order; } + /* start with the global bootmeths */ if (IS_ENABLED(CONFIG_BOOTMETH_GLOBAL) && include_global && iter->first_glob_method != -1 && iter->first_glob_method != count) { iter->cur_method = iter->first_glob_method; diff --git a/include/bootflow.h b/include/bootflow.h index 32422067723..2ef6eb25cf5 100644 --- a/include/bootflow.h +++ b/include/bootflow.h @@ -250,7 +250,8 @@ enum bootflow_meth_flags_t { * @cur_label: Current label being processed * @num_methods: Number of bootmeth devices in @method_order * @cur_method: Current method number, an index into @method_order - * @first_glob_method: First global method, if any, else -1 + * @first_glob_method: Index of first global method within @method_order[], if + * any, else -1 * @cur_prio: Current priority being scanned * @method_order: List of bootmeth devices to use, in order. The normal methods * appear first, then the global ones, if any diff --git a/test/boot/bootflow.c b/test/boot/bootflow.c index 8de5a310add..7cd83dc7443 100644 --- a/test/boot/bootflow.c +++ b/test/boot/bootflow.c @@ -401,7 +401,7 @@ static int bootflow_system(struct unit_test_state *uts) ut_assertok(device_probe(dev)); sandbox_set_fake_efi_mgr_dev(dev, true); - /* We should get a single 'bootmgr' method right at the end */ + /* We should get a single 'bootmgr' method at the start */ bootstd_clear_glob(); ut_assertok(run_command("bootflow scan -lH", 0)); ut_assert_skip_to_line( -- 2.47.3