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

Loïc Minier lool at dooz.org
Fri Jun 24 17:37:18 CEST 2011


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

-- 
Loïc Minier


More information about the U-Boot mailing list