[PATCH] ARM: put a valid "barebox" signature in the header on big-endian systems.

Sascha Hauer s.hauer at pengutronix.de
Sun May 6 14:17:54 EDT 2012


On Sat, May 05, 2012 at 11:47:19PM +0200, Krzysztof Halasa wrote:
> Signed-off-by: Krzysztof Hałasa <khc at pm.waw.pl>
> 
> diff --git a/arch/arm/include/asm/barebox-arm-head.h b/arch/arm/include/asm/barebox-arm-head.h
> index 0dc3074..2c250e9 100644
> --- a/arch/arm/include/asm/barebox-arm-head.h
> +++ b/arch/arm/include/asm/barebox-arm-head.h
> @@ -24,8 +24,7 @@ static inline void barebox_arm_head(void)
>  		"1: b 1b\n"
>  		"1: b 1b\n"
>  #endif
> -		".word 0x65726162\n"			/* 'bare' */
> -		".word 0x00786f62\n"			/* 'box' */
> +		".asciz \"barebox\"\n"
>  		".word _text\n"				/* text base. If copied there,
>  							 * barebox can skip relocation

Does the barebox filetype detection need a fix aswell?

enum filetype file_detect_type(void *_buf)
{
        u32 *buf = _buf;
        u8 *buf8 = _buf;

        if (strncmp(buf8, "#!/bin/sh", 9) == 0)
                return filetype_sh;
        if (buf[8] == 0x65726162 && buf[9] == 0x00786f62)
                return filetype_arm_barebox;

This seems wrong on big endian systems.

Sascha

-- 
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