diff options
author | Simon Glass <sjg@chromium.org> | 2023-01-17 10:47:58 -0700 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2023-01-23 18:11:40 -0500 |
commit | 25365879029d06b17b29010547e7a992901f51c0 (patch) | |
tree | c556c8d9cf06129efffa9a63b77a0f13e292cbeb | |
parent | e890e8c4cbeb6b8ed27d48be946ecec03ef267e2 (diff) |
bootstd: Set the distro_bootpart env var with scripts
This environment variable is supposed to be set so that the script knows
which partition holds the script. Set it before invoking the script.
Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | boot/bootmeth_script.c | 3 | ||||
-rw-r--r-- | include/bootflow.h | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/boot/bootmeth_script.c b/boot/bootmeth_script.c index 3a3907d75b..7050e45add 100644 --- a/boot/bootmeth_script.c +++ b/boot/bootmeth_script.c @@ -126,6 +126,8 @@ static int script_boot(struct udevice *dev, struct bootflow *bflow) if (!ret) ret = env_set_hex("devnum", desc->devnum); if (!ret) + ret = env_set_hex("distro_bootpart", bflow->part); + if (!ret) ret = env_set("prefix", bflow->subdir); if (!ret && IS_ENABLED(CONFIG_ARCH_SUNXI) && !strcmp("mmc", blk_get_devtype(bflow->blk))) @@ -135,6 +137,7 @@ static int script_boot(struct udevice *dev, struct bootflow *bflow) log_debug("devtype: %s\n", env_get("devtype")); log_debug("devnum: %s\n", env_get("devnum")); + log_debug("distro_bootpart: %s\n", env_get("distro_bootpart")); log_debug("prefix: %s\n", env_get("prefix")); log_debug("mmc_bootdev: %s\n", env_get("mmc_bootdev")); diff --git a/include/bootflow.h b/include/bootflow.h index bf71b09eda..ed9b61f511 100644 --- a/include/bootflow.h +++ b/include/bootflow.h @@ -144,6 +144,8 @@ enum bootflow_flags_t { * appear first, then the global ones, if any * @doing_global: true if we are iterating through the global bootmeths (which * happens before the normal ones) + * @method_flags: flags controlling which methods should be used for this @dev + * (enum bootflow_meth_flags_t) */ struct bootflow_iter { int flags; @@ -161,6 +163,7 @@ struct bootflow_iter { int first_glob_method; struct udevice **method_order; bool doing_global; + int method_flags; }; /** |