Hi Bin, On Wed, 12 Jul 2023 at 05:48, Bin Meng <[email protected]> wrote: > > Hi Simon, > > On Tue, Jun 20, 2023 at 4:24 PM Simon Glass <[email protected]> wrote: > > > > The "bootargs" environment variable is used to set the command-line > > arguments to pass to the OS. Use this same mechanism with bootstd as well. > > When the variable is updated, it is written to the current bootflow. When > > the current bootflow is updated, the environment variable is updated too. > > > > Signed-off-by: Simon Glass <[email protected]> > > --- > > > > (no changes since v1) > > > > boot/bootflow.c | 59 ++++++++++++++++++++++++++++++++++++++++++ > > cmd/bootflow.c | 6 +++++ > > include/env_callback.h | 6 +++-- > > 3 files changed, 69 insertions(+), 2 deletions(-) > > > > diff --git a/boot/bootflow.c b/boot/bootflow.c > > index 487552fa28c0..62b7f45ab278 100644 > > --- a/boot/bootflow.c > > +++ b/boot/bootflow.c > > @@ -12,6 +12,7 @@ > > #include <bootmeth.h> > > #include <bootstd.h> > > #include <dm.h> > > +#include <env_internal.h> > > #include <malloc.h> > > #include <dm/device-internal.h> > > #include <dm/uclass-internal.h> > > @@ -552,3 +553,61 @@ int bootflow_iter_check_system(const struct > > bootflow_iter *iter) > > > > return -ENOTSUPP; > > } > > + > > +/** > > + * bootflow_cmdline_set() - Set the command line for a bootflow > > + * > > + * @value: New command-line string > > + * Returns 0 if OK, -ENOENT if no current bootflow, -ENOMEM if out of > > memory > > + */ > > +int bootflow_cmdline_set(struct bootflow *bflow, const char *value) > > +{ > > + char *cmdline = NULL; > > + > > + if (value) { > > + cmdline = strdup(value); > > + if (!cmdline) > > + return -ENOMEM; > > + } > > + > > + free(bflow->cmdline); > > v1 comment was not addressed. But I assume bflow->cmdline is zero for > the very first time so there will be no issue.
Yes it is. > > > + bflow->cmdline = cmdline; > > + > > + return 0; > > +} > > Reviewed-by: Bin Meng <[email protected]> > > Regards, > Bin Regards, Simon

