> From: Simon Glass <s...@chromium.org> > Date: Sun, 3 Dec 2023 17:26:17 -0700
Hi Simon, There is a typo in first line of the commit message: s/netbds/netbsd/. > It isn't clear how useful it is to pass the arguments of bootm to the > OS. For example, if "bootm 1000 2000 3000" is used, the three arguments > at the end are passed to the OS. This seems like a strange approach, > since the argument have already been parsed by U-Boot and processed. > > Rely instead on the "bootargs" mechanism, which is the standard > approach. It is a very Linuxy approach though. I suspect this feature was added to pass kernel arguments for "one-off" boots. For example bootm -s could be used to boot NetBSD in single-user mode and is quite a bit more convenient than: setenv bootargs -s bootm That said, I'm not sure to what extent the bootm command is used to boot NetBSD these days. So this may not really matter. Cheers, Mark > Signed-off-by: Simon Glass <s...@chromium.org> > --- > > boot/bootm_os.c | 16 +++------------- > 1 file changed, 3 insertions(+), 13 deletions(-) > > diff --git a/boot/bootm_os.c b/boot/bootm_os.c > index b92422171a84..b5055d78706c 100644 > --- a/boot/bootm_os.c > +++ b/boot/bootm_os.c > @@ -102,19 +102,9 @@ static int do_bootm_netbsd(int flag, int argc, char > *const argv[], > os_hdr = hdr; > } > > - if (argc > 0) { > - ulong len; > - int i; > - > - for (i = 0, len = 0; i < argc; i += 1) > - len += strlen(argv[i]) + 1; > - cmdline = malloc(len); > - copy_args(cmdline, argc, argv, ' '); > - } else { > - cmdline = env_get("bootargs"); > - if (cmdline == NULL) > - cmdline = ""; > - } > + cmdline = env_get("bootargs"); > + if (!cmdline) > + cmdline = ""; > > loader = (void (*)(struct bd_info *, struct legacy_img_hdr *, char *, > char *))images->ep; > > -- > 2.43.0.rc2.451.g8631bc7472-goog > >