From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?iso-8859-1?Q?Lo=EFc?= Minier Date: Fri, 24 Jun 2011 17:37:18 +0200 Subject: [U-Boot] [PATCH] ARM: versatile: fix board support In-Reply-To: <1308920678-7013-1-git-send-email-sbabic@denx.de> References: <1308920678-7013-1-git-send-email-sbabic@denx.de> Message-ID: <20110624153718.GA2609@bee.dooz.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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