Re: [PATCH v2 6/6] mips: lib: bootm: use bootm elf loading capabilities

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Antony, Oleksij,

Are you able to test this?

Sascha

On Thu, Apr 23, 2020 at 10:17:11AM +0200, Clement Leger wrote:
> Now that the elf file is loaded by the bootm core, there is no need for
> elf pointer anymore. Thus all elf related fields can be removed.
> 
> Signed-off-by: Clement Leger <cleger@xxxxxxxxx>
> ---
>  arch/mips/lib/bootm.c | 27 +++++++--------------------
>  1 file changed, 7 insertions(+), 20 deletions(-)
> 
> diff --git a/arch/mips/lib/bootm.c b/arch/mips/lib/bootm.c
> index 5bb09cc2d..c53a679c5 100644
> --- a/arch/mips/lib/bootm.c
> +++ b/arch/mips/lib/bootm.c
> @@ -46,43 +46,30 @@ static struct binfmt_hook binfmt_barebox_hook = {
>  static int do_bootm_elf(struct image_data *data)
>  {
>  	void (*entry)(int, void *);
> -	struct elf_image *elf;
> -	void *fdt, *buf;
> +	void *fdt;
>  	int ret = 0;
>  
> -	buf = read_file(data->os_file, NULL);
> -	if (!buf)
> -		return -EINVAL;
> -
> -	elf = elf_load_image(buf);
> -	if (IS_ERR(elf))
> -		return PTR_ERR(elf);
> -
>  	fdt = bootm_get_devicetree(data);
> -	if (IS_ERR(fdt)) {
> -		ret = PTR_ERR(fdt);
> -		goto bootm_elf_done;
> -	}
> +	if (IS_ERR(fdt))
> +		return PTR_ERR(fdt);
>  
>  	pr_info("Starting application at 0x%08lx, dts 0x%08lx...\n",
> -		phys_to_virt(elf->entry), data->of_root_node);
> +		phys_to_virt(data->os_address), data->of_root_node);
>  
>  	if (data->dryrun)
> -		goto bootm_elf_done;
> +		goto bootm_free_fdt;
>  
>  	shutdown_barebox();
>  
> -	entry = (void *) (unsigned long) elf->entry;
> +	entry = (void *) (unsigned long) data->os_address;
>  
>  	entry(-2, phys_to_virt((unsigned long)fdt));
>  
>  	pr_err("ELF application terminated\n");
>  	ret = -EINVAL;
>  
> -bootm_elf_done:
> -	elf_release_image(elf);
> +bootm_free_fdt:
>  	free(fdt);
> -	free(buf);
>  
>  	return ret;
>  }
> -- 
> 2.17.1
> 
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux