Re: [U-Boot] [PATCH 1/2] cmd: go: Make do_go available to outside boot.c
Hi Emmanuel, On 8 January 2018 at 03:00, Emmanuel Vadotwrote: > > > Hello Simon, > > On Sun, 7 Jan 2018 21:38:29 -0700 > Simon Glass wrote: > > > Hi Emmanuel, > > > > On 2 January 2018 at 14:27, Emmanuel Vadot wrote: > > > Some commands (like sysboot) might want to call go as they can encounter > > > a raw binary. > > > Make do_go callable for everyone. > > > > > > Signed-off-by: Emmanuel Vadot > > > --- > > > cmd/boot.c| 2 +- > > > include/command.h | 4 > > > 2 files changed, 5 insertions(+), 1 deletion(-) > > > > Can we instead move the code out of do_go() into another function > > which accepts C arguments, and then call that from do_go()? > > Sorry I do not understand what you mean. int go_exec(ulong addr) { existing code to jump to addr } do_go() { existing code to parse args go_exec(addr)l } Then you can call go_eec() from cmd/boot.c Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2] cmd: go: Make do_go available to outside boot.c
Hello Simon, On Sun, 7 Jan 2018 21:38:29 -0700 Simon Glasswrote: > Hi Emmanuel, > > On 2 January 2018 at 14:27, Emmanuel Vadot wrote: > > Some commands (like sysboot) might want to call go as they can encounter > > a raw binary. > > Make do_go callable for everyone. > > > > Signed-off-by: Emmanuel Vadot > > --- > > cmd/boot.c| 2 +- > > include/command.h | 4 > > 2 files changed, 5 insertions(+), 1 deletion(-) > > Can we instead move the code out of do_go() into another function > which accepts C arguments, and then call that from do_go()? Sorry I do not understand what you mean. > > > > diff --git a/cmd/boot.c b/cmd/boot.c > > index 72f2cf362d..5691c5f883 100644 > > --- a/cmd/boot.c > > +++ b/cmd/boot.c > > @@ -22,7 +22,7 @@ unsigned long do_go_exec(ulong (*entry)(int, char * const > > []), int argc, > > return entry (argc, argv); > > } > > > > -static int do_go(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) > > +int do_go(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) > > { > > ulong addr, rc; > > int rcode = 0; > > diff --git a/include/command.h b/include/command.h > > index 767cabb3df..377e2eadd4 100644 > > --- a/include/command.h > > +++ b/include/command.h > > @@ -105,6 +105,10 @@ extern int do_bootz(cmd_tbl_t *cmdtp, int flag, int > > argc, char * const argv[]); > > > > extern int do_booti(cmd_tbl_t *cmdtp, int flag, int argc, char * const > > argv[]); > > > > +#ifdef CONFIG_CMD_GO > > +extern int do_go(cmd_tbl_t *cmdtp, int flag, int argc, char * const > > argv[]); > > +#endif > > + > > extern int common_diskboot(cmd_tbl_t *cmdtp, const char *intf, int argc, > >char *const argv[]); > > > > -- > > 2.15.1 > > > > Regards, > Simon -- Emmanuel Vadot ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH 1/2] cmd: go: Make do_go available to outside boot.c
Hi Emmanuel, On 2 January 2018 at 14:27, Emmanuel Vadotwrote: > Some commands (like sysboot) might want to call go as they can encounter > a raw binary. > Make do_go callable for everyone. > > Signed-off-by: Emmanuel Vadot > --- > cmd/boot.c| 2 +- > include/command.h | 4 > 2 files changed, 5 insertions(+), 1 deletion(-) Can we instead move the code out of do_go() into another function which accepts C arguments, and then call that from do_go()? > > diff --git a/cmd/boot.c b/cmd/boot.c > index 72f2cf362d..5691c5f883 100644 > --- a/cmd/boot.c > +++ b/cmd/boot.c > @@ -22,7 +22,7 @@ unsigned long do_go_exec(ulong (*entry)(int, char * const > []), int argc, > return entry (argc, argv); > } > > -static int do_go(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) > +int do_go(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) > { > ulong addr, rc; > int rcode = 0; > diff --git a/include/command.h b/include/command.h > index 767cabb3df..377e2eadd4 100644 > --- a/include/command.h > +++ b/include/command.h > @@ -105,6 +105,10 @@ extern int do_bootz(cmd_tbl_t *cmdtp, int flag, int > argc, char * const argv[]); > > extern int do_booti(cmd_tbl_t *cmdtp, int flag, int argc, char * const > argv[]); > > +#ifdef CONFIG_CMD_GO > +extern int do_go(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]); > +#endif > + > extern int common_diskboot(cmd_tbl_t *cmdtp, const char *intf, int argc, >char *const argv[]); > > -- > 2.15.1 > Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 1/2] cmd: go: Make do_go available to outside boot.c
Some commands (like sysboot) might want to call go as they can encounter a raw binary. Make do_go callable for everyone. Signed-off-by: Emmanuel Vadot--- cmd/boot.c| 2 +- include/command.h | 4 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/cmd/boot.c b/cmd/boot.c index 72f2cf362d..5691c5f883 100644 --- a/cmd/boot.c +++ b/cmd/boot.c @@ -22,7 +22,7 @@ unsigned long do_go_exec(ulong (*entry)(int, char * const []), int argc, return entry (argc, argv); } -static int do_go(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +int do_go(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { ulong addr, rc; int rcode = 0; diff --git a/include/command.h b/include/command.h index 767cabb3df..377e2eadd4 100644 --- a/include/command.h +++ b/include/command.h @@ -105,6 +105,10 @@ extern int do_bootz(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]); extern int do_booti(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]); +#ifdef CONFIG_CMD_GO +extern int do_go(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]); +#endif + extern int common_diskboot(cmd_tbl_t *cmdtp, const char *intf, int argc, char *const argv[]); -- 2.15.1 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot