[U-Boot] [PATCH] ARM: versatile: fix board support

Albert ARIBAUD
2011-08-04T09:01:31Z

Stefano, Lo?c,

On 24/06/2011 17:37, Lo?c Minier wrote:
> On Fri, Jun 24, 2011, Stefano Babic wrote:
>> Versatile board is used as example to run u-boot under qemu.
>> The patch fixes relocation for all versatile boards and adds
>> a versatileqemu target to be used under qemu.
>
> Thanks a lot!
>
>> Patch tested only under qemu, not on real boards.
>> Tested with QEMU emulator version 0.14.50.
>
> I've built u-boot tip with your patch with:
> make CROSS_COMPILE=arm-linux-gnueabi- O=$PWD/obj-versatileqemu \
> versatileqemu_config
> make CROSS_COMPILE=arm-linux-gnueabi- O=$PWD/obj-versatileqemu -j3
> using the Ubuntu (Linaro-based, 4.6.0-14ubuntu1cross1.52) armel
> cross-compiler but couldn't get this to start with my incantations of:
> qemu-system-arm -M versatilepb -kernel obj-versatileqemu/u-boot \
> -m 128 -serial stdio
> and other combinations I've tried
>
> However, inspired by your changes I added these changes:
> --- a/boards.cfg
> +++ b/boards.cfg
> @@ -138,6 +138,7 @@ omap5912osk arm arm926ejs - ti
> edminiv2 arm arm926ejs - LaCie orion5x
> dkb arm arm926ejs - Marvell pantheon
> ca9x4_ct_vxp arm armv7 vexpress armltd
> +qemuvexpressa9 arm armv7 vexpress armltd - ca9x4_ct_vxp:ARCH_QEMU_VEXPRESS
> efikamx arm armv7 efikamx - mx5 mx51evk:IMX_CONFIG=board/efikamx/imximage.cfg
> mx51evk arm armv7 mx51evk freescale mx5 mx51evk:IMX_CONFIG=board/freescale/mx51evk/imximage.cfg
> mx53evk arm armv7 mx53evk freescale mx5 mx53evk:IMX_CONFIG=board/freescale/mx53evk/imximage.cfg
> --- a/include/configs/ca9x4_ct_vxp.h
> +++ b/include/configs/ca9x4_ct_vxp.h
> @@ -148,6 +148,12 @@
> "cp ${initrdaddr} ${initrd} ${maxinitrd}; " \
> "bootm ${kerneladdr} ${initrd}\0"
>
> +#ifdef CONFIG_ARCH_QEMU_VEXPRESS
> +#define CONFIG_ENV_SIZE 8192
> +#define CONFIG_SYS_NO_FLASH
> +#define CONFIG_ENV_IS_NOWHERE
> +#define CONFIG_SYS_MONITOR_LEN 0x80000
> +#else
> /* FLASH and environment organization */
> #define PHYS_FLASH_SIZE 0x04000000 /* 64MB */
> #define CONFIG_SYS_FLASH_CFI 1
> @@ -187,6 +193,7 @@
> #define CONFIG_SYS_FLASH_EMPTY_INFO /* flinfo indicates empty blocks */
> #define CONFIG_SYS_FLASH_BANKS_LIST { CONFIG_SYS_FLASH_BASE0, \
> CONFIG_SYS_FLASH_BASE1 }
> +#endif
>
> /* Monitor Command Prompt */
> #define CONFIG_SYS_CBSIZE 512 /* Console I/O Buffer Size */
>
> and built with:
> make CROSS_COMPILE=arm-linux-gnueabi- O=$PWD/obj-qemuvexpressa9 \
> qemuvexpressa9_config
> make CROSS_COMPILE=arm-linux-gnueabi- O=$PWD/obj-qemuvexpressa9 -j3 \
> $PWD/obj-qemuvexpressa9/u-boot
> and this started fine with:
> qemu-system-arm -M vexpress-a9 -kernel obj-qemuvexpressa9/u-boot \
> -m 1024 -serial stdio
>
> I wonder whether it would make sense to use the same ifdef for
> versatile and vexpress boards (QEMU_NO_FLASH?) and prefix the board
> names with qemu; e.g. qemu_versatile_foo?
>
> Could you share your recipe for getting the versatileqemu config to
> start? I'm using Ubuntu's qemu (Linaro-based,
> 0.14.50-2011.06-0-0ubuntu1).
>

Does this mean Stefano's patch will see a V2, or should I try and apply
it as-is?

Amicalement,
--
Albert.