[PATCH 1/1] arm: bootm: zImage allow to use the concataned oftree

Sascha Hauer s.hauer at pengutronix.de
Thu Apr 12 06:03:55 EDT 2012


On Wed, Apr 11, 2012 at 11:13:08AM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> This will allow to update it with fixup.
> 
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>

This looks like a followup to the previous patch, but it does not apply
neither with or without this patch.

Sascha

> ---
>  arch/arm/lib/bootm.c |   19 ++++++++++++-------
>  1 files changed, 12 insertions(+), 7 deletions(-)
> 
> diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
> index 813927a..213f136 100644
> --- a/arch/arm/lib/bootm.c
> +++ b/arch/arm/lib/bootm.c
> @@ -14,6 +14,7 @@
>  #include <sizes.h>
>  #include <libbb.h>
>  #include <magicvar.h>
> +#include <libfdt.h>
>  
>  #include <asm/byteorder.h>
>  #include <asm/setup.h>
> @@ -127,8 +128,6 @@ struct zimage_header {
>  static int do_bootz_linux_fdt(int fd, struct image_data *data)
>  {
>  	struct fdt_header __header, *header;
> -	struct resource *r = data->os_res;
> -	struct resource *of_res = data->os_res;
>  	void *oftree;
>  	int ret;
>  
> @@ -144,14 +143,12 @@ static int do_bootz_linux_fdt(int fd, struct image_data *data)
>  
>  	end = be32_to_cpu(header->totalsize);
>  
> -	of_res = request_sdram_region("oftree", r->start + r->size, end);
> -	if (!of_res) {
> -		perror("zImage: oftree request_sdram_region");
> +	oftree = malloc(end + 0x8000);
> +	if (!oftree) {
> +		perror("zImage: oftree malloc");
>  		return -ENOMEM;
>  	}
>  
> -	oftree = (void*)of_res->start;
> -
>  	memcpy(oftree, header, sizeof(*header));
>  
>  	end -= sizeof(*header);
> @@ -164,6 +161,14 @@ static int do_bootz_linux_fdt(int fd, struct image_data *data)
>  		return -EIO;
>  	}
>  
> +	fdt_open_into(oftree, oftree, end + 0x8000);
> +
> +	ret = of_fix_tree(oftree);
> +	if (ret)
> +		return ret;
> +
> +	data->oftree = oftree;
> +
>  	pr_info("zImage: concatenated oftree detected\n");
>  
>  	return 0;
> -- 
> 1.7.9.1
> 
> 
> _______________________________________________
> barebox mailing list
> barebox at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list