Hi, On 23 September 2016 at 04:17, Zubair Lutfullah Kakakhel <zubair.kakak...@imgtec.com> wrote: > Hi, > > comments at end > > > On 09/19/2016 01:57 AM, Simon Glass wrote: >> >> On 9 September 2016 at 02:18, Zubair Lutfullah Kakakhel >> <zubair.kakak...@imgtec.com> wrote: >>> >>> This bug appears in b6396403 which makes u-boot unable to pass >>> arguments via bootm to a standalone application without this patch. >>> >>> Steps to reproduce. >>> >>> Compile a u-boot. Use mkimage to package the standalone hello_world.bin >>> file. >>> >>> e.g. For the MIPS Boston platform >>> >>> mkimage -n "hello" -A mips -O u-boot -C none -T standalone \ >>> -a 0xffffffff80200000 -d hello_world.bin \ >>> -ep 0xffffffff80200000 hello_out >>> >>> Then tftp hello_out and run it using >>> >>> boston # dhcp 192.168.154.45:hello_out >>> ... >>> boston # bootm $loadaddr 123 321 >>> >>> Without the patch the following output is observed. >>> >>> boston # bootm $loadaddr 123 321 >>> Image Name: hello >>> Image Type: MIPS U-Boot Standalone Program (uncompressed) >>> Data Size: 1240 Bytes = 1.2 KiB >>> Load Address: 80200000 >>> Entry Point: 80200000 >>> Verifying Checksum ... OK >>> Loading Standalone Program ... OK >>> Example expects ABI version 8 >>> Actual U-Boot ABI version 8 >>> Hello World >>> argc = 0 >>> argv[0] = "0xffffffff88000000" >>> >>> With the patch, you see the following. >>> >>> boston # bootm $loadaddr 123 321 >>> Image Name: hello >>> Image Type: MIPS U-Boot Standalone Program (uncompressed) >>> Data Size: 1240 Bytes = 1.2 KiB >>> Load Address: 80200000 >>> Entry Point: 80200000 >>> Verifying Checksum ... OK >>> Loading Standalone Program ... OK >>> Example expects ABI version 8 >>> Actual U-Boot ABI version 8 >>> Hello World >>> argc = 3 >>> argv[0] = "0xffffffff88000000" >>> argv[1] = "123" >>> argv[2] = "321" >>> argv[3] = "<NULL>" >>> >>> Without the patch, the go command at the entry point seems to work. >>> >>> boston # go 0xffffffff80200000 123 321 >>> Example expects ABI version 8 >>> Actual U-Boot ABI version 8 >>> Hello World >>> argc = 3 >>> argv[0] = "0xffffffff80200000" >>> argv[1] = "123" >>> argv[2] = "321" >>> argv[3] = "<NULL>" >>> Hit any key to exit ... >>> >>> Signed-off-by: Zubair Lutfullah Kakakhel <zubair.kakak...@imgtec.com> >>> >>> --- >>> >>> Tested on the MIPS Boston platform. >>> --- >>> common/bootm.c | 4 +--- >>> 1 file changed, 1 insertion(+), 3 deletions(-) >>> >>> diff --git a/common/bootm.c b/common/bootm.c >>> index e6da551..a26ada4 100644 >>> --- a/common/bootm.c >>> +++ b/common/bootm.c >>> @@ -602,10 +602,8 @@ int do_bootm_states(cmd_tbl_t *cmdtp, int flag, int >>> argc, char * const argv[], >>> if (!ret && (states & BOOTM_STATE_FINDOS)) >>> ret = bootm_find_os(cmdtp, flag, argc, argv); >>> >>> - if (!ret && (states & BOOTM_STATE_FINDOTHER)) { >>> + if (!ret && (states & BOOTM_STATE_FINDOTHER)) >>> ret = bootm_find_other(cmdtp, flag, argc, argv); >>> - argc = 0; /* consume the args */ >>> - } >>> >>> /* Load the OS */ >>> if (!ret && (states & BOOTM_STATE_LOADOS)) { >>> -- >>> 1.9.1 >>> >> >> Reviewed-by: Simon Glass <s...@chromium.org> >> > > Thanks for the review. > > Can this be applied as is or do I need to send it again without the RFC > and as a Patch?
I think it is fine as is. Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot