Skip to contentSkip to conversation

ARM: versatile: fix board support

PATCH New Stefano Babic 5 participants 13 messages Jun 24, 2011 – Aug 4, 2011 Kbuild

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ARM: versatile: fix board support

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.

Patch tested only under qemu, not on real boards.
Tested with QEMU emulator version 0.14.50.

CC Alessandro Rubini <[email protected]>
CC Lo?c Minier <[email protected]>

---

Because the versatile board is still broken, the patch tries to fix board support to be used with qemu. The versatile board is the board commonly described in the examples to run u-boot under qemu.

The patch tries to fix the comments to former Alessandro Rubini's patch:

http://www.mail-archive.com/u-boot at lists.denx.de/msg51136.html

 Makefile                           |    9 ---------
 board/armltd/versatile/config.mk   |    5 -----
 board/armltd/versatile/versatile.c |   10 +++++++++-
 boards.cfg                         |    3 +++
 include/configs/versatile.h        |   21 ++++++++++++++++++++-
 5 files changed, 32 insertions(+), 16 deletions(-)
 delete mode 100644 board/armltd/versatile/config.mk
Makefile +0 -9
index d14955f..2a85f91 100644
@@ -975,15 +975,6 @@ edb9315a_config: unconfig
 	@$(MKCONFIG) -n $@ -t $(@:_config=) edb93xx arm arm920t edb93xx - ep93xx
 
 #########################################################################
-# ARM supplied Versatile development boards
-#########################################################################
-
-versatile_config	\
-versatileab_config	\
-versatilepb_config :	unconfig
-	@board/armltd/versatile/split_by_variant.sh $@
-
-#########################################################################
 ## XScale Systems
 #########################################################################
 
board/armltd/versatile/config.mk deleted +0 -5
deleted file mode 100644
index 8b57af1..0000000
@@ -1,5 +0,0 @@
-#
-# image should be loaded at 0x01000000
-#
-
-CONFIG_SYS_TEXT_BASE = 0x01000000
board/armltd/versatile/versatile.c +9 -1
index 6e836dd..ee8cb5e 100644
@@ -51,7 +51,7 @@ void show_boot_progress(int progress)
  * Miscellaneous platform dependent initialisations
  */
 
-int board_init (void)
+int board_early_init_f (void)
 {
 	/*
 	 * set clock frequency:
@@ -62,6 +62,11 @@ int board_init (void)
 	  ((VERSATILE_TIMCLK << VERSATILE_TIMER1_EnSel) | (VERSATILE_TIMCLK << VERSATILE_TIMER2_EnSel) |
 	   (VERSATILE_TIMCLK << VERSATILE_TIMER3_EnSel) | (VERSATILE_TIMCLK << VERSATILE_TIMER4_EnSel));
 
+	return 0;
+}
+
+int board_init (void)
+{
 	/* arch number of Versatile Board */
 	gd->bd->bi_arch_number = MACH_TYPE_VERSATILE_PB;
 
@@ -88,6 +93,9 @@ int misc_init_r (void)
 ******************************/
 int dram_init (void)
 {
+	/* dram_init must store complete ramsize in gd->ram_size */
+	gd->ram_size = get_ram_size((volatile void *)CONFIG_SYS_SDRAM_BASE,
+				PHYS_SDRAM_1_SIZE);
 	return 0;
 }
 
boards.cfg +3 -0
index ac20c81..9397345 100644
@@ -71,6 +71,9 @@ smdk2410                     arm         arm920t     -                   samsung
 netstar                      arm         arm925t
 voiceblue                    arm         arm925t
 omap1510inn                  arm         arm925t     -                   ti
+versatileqemu                arm         arm926ejs   versatile           armltd         versatile   versatile:ARCH_VERSATILE_QEMU
+versatilepb                  arm         arm926ejs   versatile           armltd         versatile   versatile:ARCH_VERSATILE_PB
+versatileab                  arm         arm926ejs   versatile           armltd         versatile   versatile:ARCH_VERSATILE_AB
 aspenite                     arm         arm926ejs   -                   Marvell        armada100
 afeb9260                     arm         arm926ejs   -                   -              at91
 at91cap9adk                  arm         arm926ejs   -                   atmel          at91
include/configs/versatile.h +20 -1
index db68965..32cee82 100644
@@ -74,6 +74,7 @@
 /*
  * Size of malloc() pool
  */
+#define CONFIG_ENV_SIZE			8192
 #define CONFIG_SYS_MALLOC_LEN		(CONFIG_ENV_SIZE + 128 * 1024)
 
 /*
@@ -168,9 +169,26 @@
 #define PHYS_SDRAM_1_SIZE	0x08000000	/* 128 MB */
 #define PHYS_FLASH_SIZE		0x04000000	/* 64MB */
 
+#define CONFIG_SYS_SDRAM_BASE		PHYS_SDRAM_1
+#define CONFIG_SYS_INIT_RAM_ADDR	0x00800000
+#define CONFIG_SYS_INIT_RAM_SIZE	0x000FFFFF
+#define CONFIG_SYS_GBL_DATA_OFFSET	(CONFIG_SYS_INIT_RAM_SIZE - \
+						GENERATED_GBL_DATA_SIZE)
+#define CONFIG_SYS_INIT_SP_ADDR	(CONFIG_SYS_INIT_RAM_ADDR + \
+						CONFIG_SYS_GBL_DATA_OFFSET)
+
+#define CONFIG_BOARD_EARLY_INIT_F
+
 /*-----------------------------------------------------------------------
  * FLASH and environment organization
  */
+#ifdef CONFIG_ARCH_VERSATILE_QEMU
+#define CONFIG_SYS_TEXT_BASE		0x10000
+#define CONFIG_SYS_NO_FLASH
+#define CONFIG_ENV_IS_NOWHERE
+#define CONFIG_SYS_MONITOR_LEN		0x80000
+#else
+#define CONFIG_SYS_TEXT_BASE		0x01000000
 /*
  * Use the CFI flash driver for ease of use
  */
@@ -222,7 +240,6 @@
 /* The ARM Boot Monitor is shipped in the lowest sector of flash */
 
 #define FLASH_TOP			(CONFIG_SYS_FLASH_BASE + PHYS_FLASH_SIZE)
-#define CONFIG_ENV_SIZE			8192
 #define CONFIG_ENV_ADDR			(FLASH_TOP - CONFIG_ENV_SECT_SIZE)
 #define CONFIG_ENV_OFFSET		(CONFIG_ENV_ADDR - CONFIG_SYS_FLASH_BASE)
 #define CONFIG_SYS_MONITOR_BASE		(CONFIG_ENV_ADDR - CONFIG_SYS_MONITOR_LEN)
@@ -230,4 +247,6 @@
 #define CONFIG_SYS_FLASH_PROTECTION	/* The devices have real protection */
 #define CONFIG_SYS_FLASH_EMPTY_INFO	/* flinfo indicates empty blocks */
 
+#endif
+
 #endif	/* __CONFIG_H */
Signature · 1 line
1.7.4.1
#1 lore raw

PATCH 1/1 ARM: versatile: fix board support

Quoted 3 lines · Stefano Babic

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!

Quoted 2 lines

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:

boards.cfg +1 -0
@@ -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
include/configs/ca9x4_ct_vxp.h +7 -0
@@ -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).

Signature · 1 line
Lo?c Minier
#2 lore raw

PATCH 1/1 ARM: versatile: fix board support

Am 24/06/2011 17:37, schrieb Lo?c Minier:

Quoted 6 lines · Stefano Babic
Quoted 3 lines

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!

You're welcome.

Quoted 4 lines
Quoted 3 lines

Patch tested only under qemu, not on real boards. Tested with QEMU emulator version 0.14.50.

Quoted 9 lines

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

I do not know if depends on the compiler (search in the mailing list against problem with gcc 4.5+). I tested with ELDK-4.2, that means gcc 4.2.2.

I use the same qemu as you, as I tested on Ubuntu-natty:
qemu-system-arm --version
QEMU emulator version 0.14.50 (Debian 0.14.50-2011.03-1-0ubuntu2), Copyright (c) 2003-2008 Fabrice Bellard

And I start the image with:

qemu-system-arm -M versatilepb -m 128M -kernel u-boot.bin -serial stdio -net nic,vlan=0,model=smc91c111

Warning: vlan 0 is not connected to host network

U-Boot 2011.06-rc3-00001-gd723904 (Jun 24 2011 - 18:26:27)

DRAM: 128 MiB
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   SMC91111-0

Note: because now the RAM is detected, the correct RAM size is displayed by U-Boot under qemu. In fact, starting with only 16MB I get:

$ qemu-system-arm -M versatilepb -m 16M -kernel u-boot.bin -serial stdio
-net nic,vlan=0,model=smc91c111
Warning: vlan 0 is not connected to host network

U-Boot 2011.06-rc3-00001-gd723904 (Jun 24 2011 - 18:26:27)

DRAM: 16 MiB
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   SMC91111-0

VersatilePB #

boards.cfg omap5912osk arm arm926ejs - ti · line 141

Quoted 9 lines

However, inspired by your changes I added these changes:

boards.cfg +1 -0
@@ -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

Probably we need some feedback from ML to know if we have to save the vexpress board or we have simply to drop it, because nobody seems to have interest on it. The versatile is the well known example to run the bootloader under qemu, I do not know if we have to extend the patch to include other boards.

For the same reason, I have not dropped in my patch board/armltd/integrator/split_by_variant.sh. This file is obsolete for versatile, and should be removed if the integrator boards will be removed in the next release.

boards.cfg omap5912osk arm arm926ejs - ti · line 143

Quoted 2 lines
boards.cfg +0 -0
 I wonder whether it would make sense to use the same ifdef for
 versatile and vexpress boards (QEMU_NO_FLASH?)

Extending the patch to vexpress, I agree using the same #ifdef. No need to add a special CONFIG_ for each board we want to run under qemu.

Quoted 3 lines
boards.cfg +0 -0
 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).

See at the beginning. It seems I am testing on the same distro as you, and if it does not work, there should be something related to the different toolchains we are using.
I have tested also with gcc 4.4.1, no problem found.

Best regards,
Stefano Babic

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================
#3 lore raw

PATCH 1/1 ARM: versatile: fix board support

Hi Stefano,

Quoted 5 lines · stefano babic

Probably we need some feedback from ML to know if we have to save the vexpress board or we have simply to drop it, because nobody seems to have interest on it. The versatile is the well known example to run the bootloader under qemu, I do not know if we have to extend the patch to include other boards.

I use U-boot in QEMU versatile express regularly. It's my primary place for testing the pxe/pxecfg/menu patches I've submitted recently. I have real versatile expresses available, but they're typically busy, so it's a useful way to try new changes without taking up a real system.

I have a copy of ca9x4_ct_vxp.h I copy in from outside the tree for building with - it strips out all the flash options, undef's CONFIG_CMD_IMLS, and def's CONFIG_SYS_NO_FLASH, CONFIG_ENV_IS_NOWHERE. So, I would welcome a cleaner way to get the same thing done.

Thanks,
Jason

#4 lore raw

PATCH 1/1 ARM: versatile: fix board support

In reply to stefano babic
Quoted 3 lines · stefano babic

I do not know if depends on the compiler (search in the mailing list against problem with gcc 4.5+). I tested with ELDK-4.2, that means gcc 4.2.2.

I tried with arm-linux-gnueabi-gcc-4.5 and arm-linux-gnueabi-gcc-4.4 and using your qemu-system-arm command line, but didn't have more luck than with arm-linux-gnueabi-gcc-4.6.

I'll try gdbing into this

Signature · 1 line
Lo?c Minier
#5 lore raw

PATCH 1/1 ARM: versatile: fix board support

Quoted 5 lines · Lo?c Minier
Quoted 3 lines · stefano babic

I do not know if depends on the compiler (search in the mailing list against problem with gcc 4.5+). I tested with ELDK-4.2, that means gcc 4.2.2.

Hi Lo?c,

Quoted 3 lines

I tried with arm-linux-gnueabi-gcc-4.5 and arm-linux-gnueabi-gcc-4.4 and using your qemu-system-arm command line, but didn't have more luck than with arm-linux-gnueabi-gcc-4.6.

Do you mean the versatile or the vexpress board ? I get the vexpress working, but only mapping the RAM to the address 0 and not to the correct address (0x60000000). This only because qemu maps 64MB starting from address 0 as RAM. However, setting the real physical address for SDRAM it does not work - maybe this a qemu related issue ?

Best regards,
Stefano Babic

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================
#6 lore raw

PATCH 1/1 ARM: versatile: fix board support

Quoted 5 lines · Stefano Babic

Do you mean the versatile or the vexpress board ? I get the vexpress working, but only mapping the RAM to the address 0 and not to the correct address (0x60000000). This only because qemu maps 64MB starting from address 0 as RAM. However, setting the real physical address for SDRAM it does not work - maybe this a qemu related issue ?

Vexpress works for me out of the box (not changing any code outside of the QEMU config patch I've sent); the versatile work doesn't work at all, I don't get any serial output.

Signature · 1 line
Lo?c Minier
#7 lore raw

PATCH 1/1 ARM: versatile: fix board support

Thanks Stefano,

This works for me as well.

Regards,
Jeroen

[jeroen at blue /usr/home/jeroen]$ qemu --version
QEMU emulator version 0.14.0, Copyright (c) 2003-2008 Fabrice Bellard

[jeroen at blue /usr/home/jeroen]$ arm-none-eabi-gcc -v
Using built-in specs.
COLLECT_GCC=arm-none-eabi-gcc
COLLECT_LTO_WRAPPER=/usr/compat/linux/usr/local/cs/bin/../libexec/gcc/arm-none-eabi/4.5.2/lto-wrapper
Target: arm-none-eabi
Configured with:
/scratch/janisjo/arm-eabi-lite/src/gcc-4.5-2011.03/configure
--build=i686-pc-linux-gnu --host=i686-pc-linux-gnu
--target=arm-none-eabi --enable-threads --disable-libmudflap
--disable-libssp --disable-libstdcxx-pch
--enable-extra-sgxxlite-multilibs --with-gnu-as --with-gnu-ld
--with-specs='%{save-temps: -fverbose-asm} -D__CS_SOURCERYGXX_MAJ__=2011
-D__CS_SOURCERYGXX_MIN__=3 -D__CS_SOURCERYGXX_REV__=42
%{O2:%{!fno-remove-local-statics: -fremove-local-statics}}
%{O*:%{O|O0|O1|O2|Os:;:%{!fno-remove-local-statics:
-fremove-local-statics}}}' --enable-languages=c,c++ --disable-shared
--enable-lto --with-newlib --with-pkgversion='Sourcery G++ Lite
2011.03-42' --with-bugurl=https://support.codesourcery.com/GNUToolchain/
--disable-nls --prefix=/opt/codesourcery --with-headers=yes
--with-sysroot=/opt/codesourcery/arm-none-eabi
--with-build-sysroot=/scratch/janisjo/arm-eabi-lite/install/arm-none-eabi --with-gmp=/scratch/janisjo/arm-eabi-lite/obj/host-libs-2011.03-42-arm-none-eabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/janisjo/arm-eabi-lite/obj/host-libs-2011.03-42-arm-none-eabi-i686-pc-linux-gnu/usr --with-mpc=/scratch/janisjo/arm-eabi-lite/obj/host-libs-2011.03-42-arm-none-eabi-i686-pc-linux-gnu/usr --with-ppl=/scratch/janisjo/arm-eabi-lite/obj/host-libs-2011.03-42-arm-none-eabi-i686-pc-linux-gnu/usr
--with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic
-lm'
--with-cloog=/scratch/janisjo/arm-eabi-lite/obj/host-libs-2011.03-42-arm-none-eabi-i686-pc-linux-gnu/usr --with-libelf=/scratch/janisjo/arm-eabi-lite/obj/host-libs-2011.03-42-arm-none-eabi-i686-pc-linux-gnu/usr
--disable-libgomp --enable-poison-system-directories
--with-build-time-tools=/scratch/janisjo/arm-eabi-lite/install/arm-none-eabi/bin --with-build-time-tools=/scratch/janisjo/arm-eabi-lite/install/arm-none-eabi/bin
Thread model: single
gcc version 4.5.2 (Sourcery G++ Lite 2011.03-42)

#8 lore raw

PATCH 1/1 ARM: versatile: fix board support

In reply to Loïc Minier

Stefano, Lo?c,

Quoted 64 lines · Lo?c Minier
Quoted 3 lines · Stefano Babic

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!

Quoted 2 lines

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:

boards.cfg +1 -0
@@ -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
include/configs/ca9x4_ct_vxp.h +7 -0
@@ -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
Quoted 8 lines

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,

Signature · 1 line
Albert.
#9 lore raw

PATCH 1/1 ARM: versatile: fix board support

Quoted 2 lines · Albert ARIBAUD

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

I personally think you should merge it as it makes it work again for Stefano and the board builds again; I guess I should look into the toolchain issue I'm seeing and which I bet others will see in the future too, but I didn't get to that so far.

Signature · 1 line
Lo?c Minier
#10 lore raw

PATCH 1/1 ARM: versatile: fix board support

Hi Lo?c,

Quoted 8 lines · Lo?c Minier
Quoted 2 lines · Albert ARIBAUD

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

I personally think you should merge it as it makes it work again for Stefano and the board builds again; I guess I should look into the toolchain issue I'm seeing and which I bet others will see in the future too, but I didn't get to that so far.

Will do, then.

Note that Patchwork got confused by the fact that in your first reply to Stefano's patch, you copy-pasted parts of his patch without the quotation headers ("> ") before each line. This caused Patchwork to believe that ou'd posted another patch, and to attribute the conversion to "your" patch rather than "Stefano's" patch. Not much of a problem here as the conversion did not result in a V2 and thus needs not be recorded with the patch, but it could have.

I'll mark "your" patch as rejected.

Amicalement,

Signature · 1 line
Albert.
#11 lore raw

PATCH 1/1 ARM: versatile: fix board support

In reply to Albert ARIBAUD
Quoted 2 lines · Albert ARIBAUD

Stefano, Lo?c,

Hi Albert,

Quoted 2 lines

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

As far as I know, there someone else who tested the patch successfully:

http://lists.denx.de/pipermail/u-boot/2011-July/095798.html

I think you can take the patch as it is.

I do not know why it does not work for Lo?c. We have quite the same environment, including the same distro and the same qemu version (maybe it depends I run on the 32 bit and not on the x86_64 ?). We tried different toolchains with the same results (working for me, not working for Lo?c).

Regards,
Stefano

Signature · 5 lines
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de
=====================================================================
#12 lore raw

PATCH 1/1 ARM: versatile: fix board support

In reply to Stefano Babic
Quoted 11 lines · Stefano Babic

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.

Patch tested only under qemu, not on real boards. Tested with QEMU emulator version 0.14.50.

CC Alessandro Rubini<[email protected]>
CC Lo?c Minier<[email protected]>

---

Applied to u-boot-arm/master, thanks!

(please allow for it to appear in the denx u-boot-arm repo as I am rolling back to remove two erreneously applied commits)

Amicalement,

Signature · 1 line
Albert.