All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 0/3] introduce genimg_get_kernel_addr()
@ 2014-08-01  0:39 Bryan Wu
  2014-08-01  0:39 ` [U-Boot] [PATCH 1/3] image: " Bryan Wu
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Bryan Wu @ 2014-08-01  0:39 UTC (permalink / raw)
  To: u-boot

When trying to fix the error message issue in pxe sysboot, we found
it's need a real kernel address for further image format detection.

So I take out such code from boot_get_kernel() of bootm.c and create
the new API functin genimg_get_kernel_addr(). Then convert pxe/sysboot
and bootm.c to use it.

Bryan Wu (3):
  image: introduce genimg_get_kernel_addr()
  pxe: detect image format before calling bootm/bootz
  bootm: use genimg_get_kernel_addr()

 common/bootm.c   | 25 +++++--------------------
 common/cmd_pxe.c | 15 +++++++++++----
 common/image.c   | 43 +++++++++++++++++++++++++++++++++++++++++++
 include/image.h  |  1 +
 4 files changed, 60 insertions(+), 24 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH 1/3] image: introduce genimg_get_kernel_addr()
  2014-08-01  0:39 [U-Boot] [PATCH 0/3] introduce genimg_get_kernel_addr() Bryan Wu
@ 2014-08-01  0:39 ` Bryan Wu
  2014-08-04 10:15   ` Simon Glass
  2014-08-10 22:21   ` [U-Boot] [U-Boot, " Tom Rini
  2014-08-01  0:39 ` [U-Boot] [PATCH 2/3] pxe: detect image format before calling bootm/bootz Bryan Wu
  2014-08-01  0:40 ` [U-Boot] [PATCH 3/3] bootm: use genimg_get_kernel_addr() Bryan Wu
  2 siblings, 2 replies; 12+ messages in thread
From: Bryan Wu @ 2014-08-01  0:39 UTC (permalink / raw)
  To: u-boot

Kernel address is normally stored as a string argument of bootm or bootz.
This function is taken out from boot_get_kernel() of bootm.c, which can be
reused by others.

Signed-off-by: Bryan Wu <pengw@nvidia.com>
---
 common/image.c  | 43 +++++++++++++++++++++++++++++++++++++++++++
 include/image.h |  1 +
 2 files changed, 44 insertions(+)

diff --git a/common/image.c b/common/image.c
index 11b3cf5..4e2816a 100644
--- a/common/image.c
+++ b/common/image.c
@@ -643,6 +643,49 @@ int genimg_get_comp_id(const char *name)
 
 #ifndef USE_HOSTCC
 /**
+ * genimg_get_kernel_addr - get the real kernel address
+ * @img_addr: a string might contain real image address
+ *
+ * genimg_get_kernel_addr() get the real kernel start address from a string
+ * which is normally the first argv of bootm/bootz
+ *
+ * returns:
+ *     kernel start address
+ */
+ulong genimg_get_kernel_addr(char * const img_addr)
+{
+#if defined(CONFIG_FIT)
+	const char	*fit_uname_config = NULL;
+	const char	*fit_uname_kernel = NULL;
+#endif
+
+	ulong kernel_addr;
+
+	/* find out kernel image address */
+	if (!img_addr) {
+		kernel_addr = load_addr;
+		debug("*  kernel: default image load address = 0x%08lx\n",
+		      load_addr);
+#if defined(CONFIG_FIT)
+	} else if (fit_parse_conf(img_addr, load_addr, &kernel_addr,
+				  fit_uname_config)) {
+		debug("*  kernel: config '%s' from image at 0x%08lx\n",
+		      *fit_uname_config, kernel_addr);
+	} else if (fit_parse_subimage(img_addr, load_addr, &kernel_addr,
+				     fit_uname_kernel)) {
+		debug("*  kernel: subimage '%s' from image at 0x%08lx\n",
+		      *fit_uname_kernel, kernel_addr);
+#endif
+	} else {
+		kernel_addr = simple_strtoul(img_addr, NULL, 16);
+		debug("*  kernel: cmdline image address = 0x%08lx\n",
+		      kernel_addr);
+	}
+
+	return kernel_addr;
+}
+
+/**
  * genimg_get_format - get image format type
  * @img_addr: image start address
  *
diff --git a/include/image.h b/include/image.h
index 3e8f78d..ca2fe86 100644
--- a/include/image.h
+++ b/include/image.h
@@ -424,6 +424,7 @@ enum fit_load_op {
 #define IMAGE_FORMAT_FIT	0x02	/* new, libfdt based format */
 #define IMAGE_FORMAT_ANDROID	0x03	/* Android boot image */
 
+ulong genimg_get_kernel_addr(char * const img_addr);
 int genimg_get_format(const void *img_addr);
 int genimg_has_config(bootm_headers_t *images);
 ulong genimg_get_image(ulong img_addr);
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH 2/3] pxe: detect image format before calling bootm/bootz
  2014-08-01  0:39 [U-Boot] [PATCH 0/3] introduce genimg_get_kernel_addr() Bryan Wu
  2014-08-01  0:39 ` [U-Boot] [PATCH 1/3] image: " Bryan Wu
@ 2014-08-01  0:39 ` Bryan Wu
  2014-08-10 22:21   ` [U-Boot] [U-Boot, " Tom Rini
  2014-08-01  0:40 ` [U-Boot] [PATCH 3/3] bootm: use genimg_get_kernel_addr() Bryan Wu
  2 siblings, 1 reply; 12+ messages in thread
From: Bryan Wu @ 2014-08-01  0:39 UTC (permalink / raw)
  To: u-boot

Trying bootm for zImage will print out several error message which
is not necessary for this case. So detect image format firstly, only
try bootm for legacy and FIT format image then try bootz for others.

This patch needs new function genimg_get_kernel_addr().

Signed-off-by: Bryan Wu <pengw@nvidia.com>
---
 common/cmd_pxe.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/common/cmd_pxe.c b/common/cmd_pxe.c
index ba48692..59b3598 100644
--- a/common/cmd_pxe.c
+++ b/common/cmd_pxe.c
@@ -1,5 +1,6 @@
 /*
  * Copyright 2010-2011 Calxeda, Inc.
+ * Copyright (c) 2014, NVIDIA CORPORATION.  All rights reserved.
  *
  * SPDX-License-Identifier:	GPL-2.0+
  */
@@ -609,6 +610,8 @@ static int label_boot(cmd_tbl_t *cmdtp, struct pxe_label *label)
 	char *bootargs;
 	int bootm_argc = 3;
 	int len = 0;
+	ulong kernel_addr;
+	void *buf;
 
 	label_print(label);
 
@@ -771,11 +774,15 @@ static int label_boot(cmd_tbl_t *cmdtp, struct pxe_label *label)
 	if (bootm_argv[3])
 		bootm_argc = 4;
 
-	do_bootm(cmdtp, 0, bootm_argc, bootm_argv);
-
+	kernel_addr = genimg_get_kernel_addr(bootm_argv[1]);
+	buf = map_sysmem(kernel_addr, 0);
+	/* Try bootm for legacy and FIT format image */
+	if (genimg_get_format(buf) != IMAGE_FORMAT_INVALID)
+		do_bootm(cmdtp, 0, bootm_argc, bootm_argv);
 #ifdef CONFIG_CMD_BOOTZ
-	/* Try booting a zImage if do_bootm returns */
-	do_bootz(cmdtp, 0, bootm_argc, bootm_argv);
+	/* Try booting a zImage */
+	else
+		do_bootz(cmdtp, 0, bootm_argc, bootm_argv);
 #endif
 	return 1;
 }
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH 3/3] bootm: use genimg_get_kernel_addr()
  2014-08-01  0:39 [U-Boot] [PATCH 0/3] introduce genimg_get_kernel_addr() Bryan Wu
  2014-08-01  0:39 ` [U-Boot] [PATCH 1/3] image: " Bryan Wu
  2014-08-01  0:39 ` [U-Boot] [PATCH 2/3] pxe: detect image format before calling bootm/bootz Bryan Wu
@ 2014-08-01  0:40 ` Bryan Wu
  2014-08-01 19:18   ` Stephen Warren
                     ` (2 more replies)
  2 siblings, 3 replies; 12+ messages in thread
From: Bryan Wu @ 2014-08-01  0:40 UTC (permalink / raw)
  To: u-boot

Use the new API which is originally taken out from boot_get_kernel
of bootm.c

Signed-off-by: Bryan Wu <pengw@nvidia.com>
---
 common/bootm.c | 25 +++++--------------------
 1 file changed, 5 insertions(+), 20 deletions(-)

diff --git a/common/bootm.c b/common/bootm.c
index 7ec2ed8..aee68cd 100644
--- a/common/bootm.c
+++ b/common/bootm.c
@@ -731,26 +731,7 @@ static const void *boot_get_kernel(cmd_tbl_t *cmdtp, int flag, int argc,
 	int		os_noffset;
 #endif
 
-	/* find out kernel image address */
-	if (argc < 1) {
-		img_addr = load_addr;
-		debug("*  kernel: default image load address = 0x%08lx\n",
-		      load_addr);
-#if defined(CONFIG_FIT)
-	} else if (fit_parse_conf(argv[0], load_addr, &img_addr,
-				  &fit_uname_config)) {
-		debug("*  kernel: config '%s' from image at 0x%08lx\n",
-		      fit_uname_config, img_addr);
-	} else if (fit_parse_subimage(argv[0], load_addr, &img_addr,
-				     &fit_uname_kernel)) {
-		debug("*  kernel: subimage '%s' from image@0x%08lx\n",
-		      fit_uname_kernel, img_addr);
-#endif
-	} else {
-		img_addr = simple_strtoul(argv[0], NULL, 16);
-		debug("*  kernel: cmdline image address = 0x%08lx\n",
-		      img_addr);
-	}
+	img_addr = genimg_get_kernel_addr(argv[0]);
 
 	bootstage_mark(BOOTSTAGE_ID_CHECK_MAGIC);
 
@@ -807,6 +788,10 @@ static const void *boot_get_kernel(cmd_tbl_t *cmdtp, int flag, int argc,
 #endif
 #if defined(CONFIG_FIT)
 	case IMAGE_FORMAT_FIT:
+		if (!fit_parse_conf(argv[0], load_addr, &img_addr,
+					fit_uname_config))
+			fit_parse_subimage(argv[0], load_addr, &img_addr,
+					fit_uname_kernel);
 		os_noffset = fit_image_load(images, img_addr,
 				&fit_uname_kernel, &fit_uname_config,
 				IH_ARCH_DEFAULT, IH_TYPE_KERNEL,
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH 3/3] bootm: use genimg_get_kernel_addr()
  2014-08-01  0:40 ` [U-Boot] [PATCH 3/3] bootm: use genimg_get_kernel_addr() Bryan Wu
@ 2014-08-01 19:18   ` Stephen Warren
  2014-08-05  0:46     ` Bryan Wu
  2014-08-04 10:22   ` Simon Glass
  2014-08-10 22:21   ` [U-Boot] [U-Boot,3/3] " Tom Rini
  2 siblings, 1 reply; 12+ messages in thread
From: Stephen Warren @ 2014-08-01 19:18 UTC (permalink / raw)
  To: u-boot

On 07/31/2014 06:40 PM, Bryan Wu wrote:
> Use the new API which is originally taken out from boot_get_kernel
> of bootm.c

> diff --git a/common/bootm.c b/common/bootm.c

>   	case IMAGE_FORMAT_FIT:
> +		if (!fit_parse_conf(argv[0], load_addr, &img_addr,
> +					fit_uname_config))
> +			fit_parse_subimage(argv[0], load_addr, &img_addr,
> +					fit_uname_kernel);

I'd be tempted to try and rework patch 1/3 so that it could "return" the 
fit_uname_* values too. That way, you wouldn't need to call 
fit_parse_*() a second time here. This probably isn't a big issue though.

The series,
Tested-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH 1/3] image: introduce genimg_get_kernel_addr()
  2014-08-01  0:39 ` [U-Boot] [PATCH 1/3] image: " Bryan Wu
@ 2014-08-04 10:15   ` Simon Glass
  2014-08-10 22:21   ` [U-Boot] [U-Boot, " Tom Rini
  1 sibling, 0 replies; 12+ messages in thread
From: Simon Glass @ 2014-08-04 10:15 UTC (permalink / raw)
  To: u-boot

Hi Bryan,

On 31 July 2014 18:39, Bryan Wu <cooloney@gmail.com> wrote:
> Kernel address is normally stored as a string argument of bootm or bootz.
> This function is taken out from boot_get_kernel() of bootm.c, which can be
> reused by others.
>
> Signed-off-by: Bryan Wu <pengw@nvidia.com>
> ---
>  common/image.c  | 43 +++++++++++++++++++++++++++++++++++++++++++
>  include/image.h |  1 +
>  2 files changed, 44 insertions(+)
>
> diff --git a/common/image.c b/common/image.c
> index 11b3cf5..4e2816a 100644
> --- a/common/image.c
> +++ b/common/image.c
> @@ -643,6 +643,49 @@ int genimg_get_comp_id(const char *name)
>
>  #ifndef USE_HOSTCC
>  /**
> + * genimg_get_kernel_addr - get the real kernel address
> + * @img_addr: a string might contain real image address
> + *
> + * genimg_get_kernel_addr() get the real kernel start address from a string
> + * which is normally the first argv of bootm/bootz
> + *
> + * returns:
> + *     kernel start address
> + */

I know you are being consistent, but actually I think this should be
in the header file - you could move some of the other functions
comments there too if you like (in a separate patch).

Also you should document the behaviour when @img_addr is NULL.

> +ulong genimg_get_kernel_addr(char * const img_addr)
> +{
> +#if defined(CONFIG_FIT)
> +       const char      *fit_uname_config = NULL;
> +       const char      *fit_uname_kernel = NULL;

I don't think we need the tabs after 'char'.

> +#endif
> +

nit: Remove this blank line.

> +       ulong kernel_addr;
> +
> +       /* find out kernel image address */
> +       if (!img_addr) {
> +               kernel_addr = load_addr;
> +               debug("*  kernel: default image load address = 0x%08lx\n",
> +                     load_addr);
> +#if defined(CONFIG_FIT)
> +       } else if (fit_parse_conf(img_addr, load_addr, &kernel_addr,
> +                                 fit_uname_config)) {
> +               debug("*  kernel: config '%s' from image at 0x%08lx\n",
> +                     *fit_uname_config, kernel_addr);
> +       } else if (fit_parse_subimage(img_addr, load_addr, &kernel_addr,
> +                                    fit_uname_kernel)) {
> +               debug("*  kernel: subimage '%s' from image at 0x%08lx\n",
> +                     *fit_uname_kernel, kernel_addr);
> +#endif
> +       } else {
> +               kernel_addr = simple_strtoul(img_addr, NULL, 16);
> +               debug("*  kernel: cmdline image address = 0x%08lx\n",
> +                     kernel_addr);
> +       }
> +
> +       return kernel_addr;
> +}
> +
> +/**
>   * genimg_get_format - get image format type
>   * @img_addr: image start address
>   *
> diff --git a/include/image.h b/include/image.h
> index 3e8f78d..ca2fe86 100644
> --- a/include/image.h
> +++ b/include/image.h
> @@ -424,6 +424,7 @@ enum fit_load_op {
>  #define IMAGE_FORMAT_FIT       0x02    /* new, libfdt based format */
>  #define IMAGE_FORMAT_ANDROID   0x03    /* Android boot image */
>
> +ulong genimg_get_kernel_addr(char * const img_addr);
>  int genimg_get_format(const void *img_addr);
>  int genimg_has_config(bootm_headers_t *images);
>  ulong genimg_get_image(ulong img_addr);
> --
> 1.9.1
>

Regards,
Simon

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH 3/3] bootm: use genimg_get_kernel_addr()
  2014-08-01  0:40 ` [U-Boot] [PATCH 3/3] bootm: use genimg_get_kernel_addr() Bryan Wu
  2014-08-01 19:18   ` Stephen Warren
@ 2014-08-04 10:22   ` Simon Glass
  2014-08-10 22:21   ` [U-Boot] [U-Boot,3/3] " Tom Rini
  2 siblings, 0 replies; 12+ messages in thread
From: Simon Glass @ 2014-08-04 10:22 UTC (permalink / raw)
  To: u-boot

Hi Bryan,

On 31 July 2014 18:40, Bryan Wu <cooloney@gmail.com> wrote:
> Use the new API which is originally taken out from boot_get_kernel
> of bootm.c
>
> Signed-off-by: Bryan Wu <pengw@nvidia.com>
> ---
>  common/bootm.c | 25 +++++--------------------
>  1 file changed, 5 insertions(+), 20 deletions(-)
>
> diff --git a/common/bootm.c b/common/bootm.c
> index 7ec2ed8..aee68cd 100644
> --- a/common/bootm.c
> +++ b/common/bootm.c
> @@ -731,26 +731,7 @@ static const void *boot_get_kernel(cmd_tbl_t *cmdtp, int flag, int argc,
>         int             os_noffset;
>  #endif
>
> -       /* find out kernel image address */
> -       if (argc < 1) {
> -               img_addr = load_addr;
> -               debug("*  kernel: default image load address = 0x%08lx\n",
> -                     load_addr);
> -#if defined(CONFIG_FIT)
> -       } else if (fit_parse_conf(argv[0], load_addr, &img_addr,
> -                                 &fit_uname_config)) {
> -               debug("*  kernel: config '%s' from image at 0x%08lx\n",
> -                     fit_uname_config, img_addr);
> -       } else if (fit_parse_subimage(argv[0], load_addr, &img_addr,
> -                                    &fit_uname_kernel)) {
> -               debug("*  kernel: subimage '%s' from image at 0x%08lx\n",
> -                     fit_uname_kernel, img_addr);
> -#endif
> -       } else {
> -               img_addr = simple_strtoul(argv[0], NULL, 16);
> -               debug("*  kernel: cmdline image address = 0x%08lx\n",
> -                     img_addr);
> -       }
> +       img_addr = genimg_get_kernel_addr(argv[0]);

Do you think it would be clearer to say

          img_addr = genimg_get_kernel_addr(arg < 1 ? NULL : argv[0]);

I don't think it matters in practice, just a little nervous about
people going off the end of the args.

>
>         bootstage_mark(BOOTSTAGE_ID_CHECK_MAGIC);
>
> @@ -807,6 +788,10 @@ static const void *boot_get_kernel(cmd_tbl_t *cmdtp, int flag, int argc,
>  #endif
>  #if defined(CONFIG_FIT)
>         case IMAGE_FORMAT_FIT:
> +               if (!fit_parse_conf(argv[0], load_addr, &img_addr,
> +                                       fit_uname_config))
> +                       fit_parse_subimage(argv[0], load_addr, &img_addr,
> +                                       fit_uname_kernel);
>                 os_noffset = fit_image_load(images, img_addr,
>                                 &fit_uname_kernel, &fit_uname_config,
>                                 IH_ARCH_DEFAULT, IH_TYPE_KERNEL,
> --
> 1.9.1
>

Regards,
Simon

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] [PATCH 3/3] bootm: use genimg_get_kernel_addr()
  2014-08-01 19:18   ` Stephen Warren
@ 2014-08-05  0:46     ` Bryan Wu
  0 siblings, 0 replies; 12+ messages in thread
From: Bryan Wu @ 2014-08-05  0:46 UTC (permalink / raw)
  To: u-boot

On Fri, Aug 1, 2014 at 12:18 PM, Stephen Warren <swarren@wwwdotorg.org> wrote:
> On 07/31/2014 06:40 PM, Bryan Wu wrote:
>>
>> Use the new API which is originally taken out from boot_get_kernel
>> of bootm.c
>
>
>> diff --git a/common/bootm.c b/common/bootm.c
>
>
>>         case IMAGE_FORMAT_FIT:
>> +               if (!fit_parse_conf(argv[0], load_addr, &img_addr,
>> +                                       fit_uname_config))
>> +                       fit_parse_subimage(argv[0], load_addr, &img_addr,
>> +                                       fit_uname_kernel);
>
>
> I'd be tempted to try and rework patch 1/3 so that it could "return" the
> fit_uname_* values too. That way, you wouldn't need to call fit_parse_*() a
> second time here. This probably isn't a big issue though.
>

I actually tried to do that at beginning but it makes a little bit
complicated for the caller like pxe code. I believe most of users
don't care about those 2 fit uname arguments but only the kernel
address. So I think we can make it simpler firstly.

Thanks,
-Bryan

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] [U-Boot, 1/3] image: introduce genimg_get_kernel_addr()
  2014-08-01  0:39 ` [U-Boot] [PATCH 1/3] image: " Bryan Wu
  2014-08-04 10:15   ` Simon Glass
@ 2014-08-10 22:21   ` Tom Rini
  2014-08-12 17:27     ` Bryan Wu
  1 sibling, 1 reply; 12+ messages in thread
From: Tom Rini @ 2014-08-10 22:21 UTC (permalink / raw)
  To: u-boot

On Thu, Jul 31, 2014 at 05:39:58PM -0700, Bryan Wu wrote:

> Kernel address is normally stored as a string argument of bootm or bootz.
> This function is taken out from boot_get_kernel() of bootm.c, which can be
> reused by others.
> 
> Signed-off-by: Bryan Wu <pengw@nvidia.com>

After doing the following to fix warnings:
diff --git a/common/image.c b/common/image.c
index 4e2816a..a2999c0 100644
--- a/common/image.c
+++ b/common/image.c
@@ -668,13 +668,13 @@ ulong genimg_get_kernel_addr(char * const img_addr)
 		      load_addr);
 #if defined(CONFIG_FIT)
 	} else if (fit_parse_conf(img_addr, load_addr, &kernel_addr,
-				  fit_uname_config)) {
+				  &fit_uname_config)) {
 		debug("*  kernel: config '%s' from image at 0x%08lx\n",
-		      *fit_uname_config, kernel_addr);
+		      fit_uname_config, kernel_addr);
 	} else if (fit_parse_subimage(img_addr, load_addr, &kernel_addr,
-				     fit_uname_kernel)) {
+				     &fit_uname_kernel)) {
 		debug("*  kernel: subimage '%s' from image at 0x%08lx\n",
-		      *fit_uname_kernel, kernel_addr);
+		      fit_uname_kernel, kernel_addr);
 #endif
 	} else {
 		kernel_addr = simple_strtoul(img_addr, NULL, 16);

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140810/74876541/attachment.pgp>

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [U-Boot] [U-Boot, 2/3] pxe: detect image format before calling bootm/bootz
  2014-08-01  0:39 ` [U-Boot] [PATCH 2/3] pxe: detect image format before calling bootm/bootz Bryan Wu
@ 2014-08-10 22:21   ` Tom Rini
  0 siblings, 0 replies; 12+ messages in thread
From: Tom Rini @ 2014-08-10 22:21 UTC (permalink / raw)
  To: u-boot

On Thu, Jul 31, 2014 at 05:39:59PM -0700, Bryan Wu wrote:

> Trying bootm for zImage will print out several error message which
> is not necessary for this case. So detect image format firstly, only
> try bootm for legacy and FIT format image then try bootz for others.
> 
> This patch needs new function genimg_get_kernel_addr().
> 
> Signed-off-by: Bryan Wu <pengw@nvidia.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140810/535482d9/attachment.pgp>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [U-Boot] [U-Boot,3/3] bootm: use genimg_get_kernel_addr()
  2014-08-01  0:40 ` [U-Boot] [PATCH 3/3] bootm: use genimg_get_kernel_addr() Bryan Wu
  2014-08-01 19:18   ` Stephen Warren
  2014-08-04 10:22   ` Simon Glass
@ 2014-08-10 22:21   ` Tom Rini
  2 siblings, 0 replies; 12+ messages in thread
From: Tom Rini @ 2014-08-10 22:21 UTC (permalink / raw)
  To: u-boot

On Thu, Jul 31, 2014 at 05:40:00PM -0700, Bryan Wu wrote:

> Use the new API which is originally taken out from boot_get_kernel
> of bootm.c
> 
> Signed-off-by: Bryan Wu <pengw@nvidia.com>
> Tested-by: Stephen Warren <swarren@nvidia.com>
> Reviewed-by: Stephen Warren <swarren@nvidia.com>

After doing the following to fix warnings:
diff --git a/common/bootm.c b/common/bootm.c
index aee68cd..76d811c 100644
--- a/common/bootm.c
+++ b/common/bootm.c
@@ -789,9 +789,9 @@ static const void *boot_get_kernel(cmd_tbl_t *cmdtp, int flag, int argc,
 #if defined(CONFIG_FIT)
 	case IMAGE_FORMAT_FIT:
 		if (!fit_parse_conf(argv[0], load_addr, &img_addr,
-					fit_uname_config))
+					&fit_uname_config))
 			fit_parse_subimage(argv[0], load_addr, &img_addr,
-					fit_uname_kernel);
+					&fit_uname_kernel);
 		os_noffset = fit_image_load(images, img_addr,
 				&fit_uname_kernel, &fit_uname_config,
 				IH_ARCH_DEFAULT, IH_TYPE_KERNEL,
Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140810/838245b3/attachment.pgp>

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [U-Boot] [U-Boot, 1/3] image: introduce genimg_get_kernel_addr()
  2014-08-10 22:21   ` [U-Boot] [U-Boot, " Tom Rini
@ 2014-08-12 17:27     ` Bryan Wu
  0 siblings, 0 replies; 12+ messages in thread
From: Bryan Wu @ 2014-08-12 17:27 UTC (permalink / raw)
  To: u-boot

On Sun, Aug 10, 2014 at 3:21 PM, Tom Rini <trini@ti.com> wrote:
> On Thu, Jul 31, 2014 at 05:39:58PM -0700, Bryan Wu wrote:
>
>> Kernel address is normally stored as a string argument of bootm or bootz.
>> This function is taken out from boot_get_kernel() of bootm.c, which can be
>> reused by others.
>>
>> Signed-off-by: Bryan Wu <pengw@nvidia.com>
>
> After doing the following to fix warnings:
> diff --git a/common/image.c b/common/image.c
> index 4e2816a..a2999c0 100644
> --- a/common/image.c
> +++ b/common/image.c
> @@ -668,13 +668,13 @@ ulong genimg_get_kernel_addr(char * const img_addr)
>                       load_addr);
>  #if defined(CONFIG_FIT)
>         } else if (fit_parse_conf(img_addr, load_addr, &kernel_addr,
> -                                 fit_uname_config)) {
> +                                 &fit_uname_config)) {

My bad, thanks for fixing this.

-Bryan

>                 debug("*  kernel: config '%s' from image at 0x%08lx\n",
> -                     *fit_uname_config, kernel_addr);
> +                     fit_uname_config, kernel_addr);
>         } else if (fit_parse_subimage(img_addr, load_addr, &kernel_addr,
> -                                    fit_uname_kernel)) {
> +                                    &fit_uname_kernel)) {
>                 debug("*  kernel: subimage '%s' from image at 0x%08lx\n",
> -                     *fit_uname_kernel, kernel_addr);
> +                     fit_uname_kernel, kernel_addr);
>  #endif
>         } else {
>                 kernel_addr = simple_strtoul(img_addr, NULL, 16);
>
> Applied to u-boot/master, thanks!
>
> --
> Tom

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2014-08-12 17:27 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-01  0:39 [U-Boot] [PATCH 0/3] introduce genimg_get_kernel_addr() Bryan Wu
2014-08-01  0:39 ` [U-Boot] [PATCH 1/3] image: " Bryan Wu
2014-08-04 10:15   ` Simon Glass
2014-08-10 22:21   ` [U-Boot] [U-Boot, " Tom Rini
2014-08-12 17:27     ` Bryan Wu
2014-08-01  0:39 ` [U-Boot] [PATCH 2/3] pxe: detect image format before calling bootm/bootz Bryan Wu
2014-08-10 22:21   ` [U-Boot] [U-Boot, " Tom Rini
2014-08-01  0:40 ` [U-Boot] [PATCH 3/3] bootm: use genimg_get_kernel_addr() Bryan Wu
2014-08-01 19:18   ` Stephen Warren
2014-08-05  0:46     ` Bryan Wu
2014-08-04 10:22   ` Simon Glass
2014-08-10 22:21   ` [U-Boot] [U-Boot,3/3] " Tom Rini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.