
Hi Sascha,
No, the scripts work here, but I did not find where MAXPAGESIZE and COMMONPAGESIZE are defined, they must come from the linker.
That was, what I meant. It's somewhere hacked into LD.
Do you need to define MAXPAGESIZE and COMMONPAGESIZE aswell or only CONSTANT? I would prefer hardcoding the values directly in the linker script. They are needed only for the sandbox target, but u-boot.lds.h is included for all architectures.
So it is better to use the hard-coded values in the linker script. At least as long as it takes for main-stream LD to support this fine extension.
btw I just read your wiki and 'sandbox' really is the better name for this target ;)
A simulation sandbox with a real GDB and host OS is really some kind of 'must have' :-) Most high-level stuff can be developed with it, and just the final tests need to be done on the target. And with some tweaking the 'sanbox' target should compile and run on all POSIX platforms, not just Linux. So calling it 'arch=linux' would be somehow limiting.
The relocation issue:
For the real targets U-Boot should be relocateable. Why? Simply because I might want to run something else than Linux on a target. U-Boot shouldn't occupy IRQ Vectors in RAM, nor should it be located in the middle of available RAM - simply because my 'OS' might want to use it as a single large block.
On most CPU architectures the IRQ/Except vectors can be placed into RAM - most times at address 0 and up. Most operating systems also link and load to the bootom of memory. The only place, which is rarely used by other code, is the top of memory. That's why U-Boot should relocate to this location whenever possible.
Regards Carsten
____________ Virus checked by G DATA AntiVirusKit Version: AVKA 17.259 from 02.07.2007 ____________ Virus checked by G DATA AntiVirus Version: AVKB 17.285 from 03.07.2007 Virus news: www.antiviruslab.com