
Hi all,
The U-Boot-v2 tree is now available. You can get it from the usual custodian page:
git clone git://www.denx.de/git/u-boot-v2.git u-boot-v2-arm
I already began to integrate the changes proposed in our last discussion, but unfortunately the start.S file for mpc5200 got quite broken during this (at least if you want to compile a relocatable binary). I think it should be our first target to work here since it prevents us from inserting other powerpc targets. If you think this is too broken to be usable at all, we may have to start off from the latest vanilla version. Another thing missing are Grants consolidate-lds-patches (there is currently only one linker script, but it should be in the ppc part, not in the board part).
It is too early to integrate extensive board support. On the other hand this is a bootloader which needs board support and the sandbox target is not enough for lowlevel things, so I think everyone interested in working with this tree should pick his favourite board (or maybe the weirdest, to see what constraints we have) and integrate the support into the tree.
If you find things that are too unflexible or things that work-for-noone-except-Sascha please complain ;)
latest changes include:
- 'linux' target has been renamed to 'sandbox' as proposed from Carsten Schlote.
- The console support is now position independent, so it can be used in early init stages where the runtime address does not match the link address. This is useful to start the same binary image from different locations (SDRAM/upper flash/lower flash). See include/reloc.h on how it works.
- In early init stages there are normally no writable global variables, because they are in flash. Traditionally this has been solved with the global_data struct, which was in SRAM during early init. This has been replaced with a special linker section. The contents of this section are copied to SRAM during startup and copied to SDRAM after startup. The contents can be accessed with the INITDATA() macro. See include/reloc.h on how it works.
- The early console is adjustable in both baudrate and port during early init. At the moment there is no mechanism though to read the environment in this stage to make use of this feature.
- There is a kconfig option to compile a relocatable U-Boot binary (CONFIG_RELOCATABLE). This option is currently broken, mostly because reloc_offset() uses the hardcoded TEXT_BASE to calculate the difference between link- and runtime address. Also the stack is placed at the end of available RAM and u-boot below it. This is a bad idea and was only to get something running. Maybe someone with assembler knowledge could have a look into it?
Regards Sascha