diff mbox

[U-Boot] pxe: Fix pxe boot with FIT image

Message ID 1470296690-29194-1-git-send-email-wenbin.song@nxp.com
State Accepted
Commit f63963f048fd34735a2862936dbd0615d7342f8b
Delegated to: Tom Rini
Headers show

Commit Message

Wenbin song Aug. 4, 2016, 7:44 a.m. UTC
From: York Sun <york.sun@nxp.com>

When FIT image is used, a single image provides kernel, device
tree and optionally ramdisk. Argc and argv need to be adjusted
to support this.

Signed-off-by: York Sun <york.sun@nxp.com>
---
 cmd/pxe.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

Comments

Tom Rini Aug. 30, 2016, 12:22 a.m. UTC | #1
On Thu, Aug 04, 2016 at 03:44:50PM +0800, Wenbin song wrote:

> From: York Sun <york.sun@nxp.com>
> 
> When FIT image is used, a single image provides kernel, device
> tree and optionally ramdisk. Argc and argv need to be adjusted
> to support this.
> 
> Signed-off-by: York Sun <york.sun@nxp.com>
> ---
>  cmd/pxe.c | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)

Can you please confirm you tested the other common cases of PXE booting
still work with this change?  Thanks!
Wenbin song Aug. 30, 2016, 7:08 a.m. UTC | #2
Hi, Tom

Yes, I have tested all kinds of cases.

Best Regards
Wenbin Song

> -----Original Message-----
> From: Tom Rini [mailto:trini@konsulko.com]
> Sent: Tuesday, August 30, 2016 8:22 AM
> To: Wenbin Song <wenbin.song@nxp.com>
> Cc: sjg@chromium.org; bmeng.cn@gmail.com; hs@denx.de;
> p.marczak@samsung.com; sr@denx.de; york sun <york.sun@nxp.com>; u-
> boot@lists.denx.de; Mingkai Hu <mingkai.hu@nxp.com>; Qianyu Gong
> <qianyu.gong@nxp.com>; Shaohui Xie <shaohui.xie@nxp.com>;
> zhiqian.hou@nxp.com
> Subject: Re: [U-Boot] [PATCH] pxe: Fix pxe boot with FIT image
> 
> On Thu, Aug 04, 2016 at 03:44:50PM +0800, Wenbin song wrote:
> 
> > From: York Sun <york.sun@nxp.com>
> >
> > When FIT image is used, a single image provides kernel, device tree
> > and optionally ramdisk. Argc and argv need to be adjusted to support
> > this.
> >
> > Signed-off-by: York Sun <york.sun@nxp.com>
> > ---
> >  cmd/pxe.c | 9 +++++----
> >  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> Can you please confirm you tested the other common cases of PXE booting still
> work with this change?  Thanks!
> 
> --
> Tom
diff mbox

Patch

diff --git a/cmd/pxe.c b/cmd/pxe.c
index 9434a18..0a07f14 100644
--- a/cmd/pxe.c
+++ b/cmd/pxe.c
@@ -620,7 +620,7 @@  static int label_boot(cmd_tbl_t *cmdtp, struct pxe_label *label)
 	char initrd_str[22];
 	char mac_str[29] = "";
 	char ip_str[68] = "";
-	int bootm_argc = 3;
+	int bootm_argc = 2;
 	int len = 0;
 	ulong kernel_addr;
 	void *buf;
@@ -652,8 +652,6 @@  static int label_boot(cmd_tbl_t *cmdtp, struct pxe_label *label)
 		strcpy(bootm_argv[2], getenv("ramdisk_addr_r"));
 		strcat(bootm_argv[2], ":");
 		strcat(bootm_argv[2], getenv("filesize"));
-	} else {
-		bootm_argv[2] = "-";
 	}
 
 	if (get_relfile_envaddr(cmdtp, label->kernel, "kernel_addr_r") < 0) {
@@ -785,8 +783,11 @@  static int label_boot(cmd_tbl_t *cmdtp, struct pxe_label *label)
 	if (!bootm_argv[3])
 		bootm_argv[3] = getenv("fdt_addr");
 
-	if (bootm_argv[3])
+	if (bootm_argv[3]) {
+		if (!bootm_argv[2])
+			bootm_argv[2] = "-";
 		bootm_argc = 4;
+	}
 
 	kernel_addr = genimg_get_kernel_addr(bootm_argv[1]);
 	buf = map_sysmem(kernel_addr, 0);