
On Sun, 09 Jan 2005 23:27:19 +0100, Wolfgang Denk wd@denx.de wrote:
Dear Leif,
in message 1095939429.29740.77.camel@fortress you wrote:
This patch adds support for the AMD db1550 board to u-boot. It is implemented as a flavor of the au1x00 family.
I tried to add it, but ran into a few problems so had to leave some parts out.
I had been using Leif's patch as a basis for a board we are working on and ran into the same issues applying it to CVS. (Thanks for the patch Leif!) What's below is offered up as a suggestion.
Here's what I did to fix it:
1) in the master Makefile I added a line to put ENDIANESS into the master config.mk
2) I changed the u-boot.lds file so that it can be used to produce a little endian file when used by a linker in little endian mode (no need to add a new linker file as far as I know)
3) changed the mips config.mk to look at ENDIANESS to set the -EL or -EB flags.
4) Similar changes under examples to match this scheme.
Some patch segments are below to clarify what I mean.
Index: Makefile =================================================================== RCS file: /cvsroot/u-boot/u-boot/Makefile,v retrieving revision 1.165 diff -r1.165 Makefile 1489a1490,1497
## RightHand Technologies Eldorado ######################################################################### eldorado_config : unconfig @ >include/config.h @./mkconfig $(@:_config=) mips mips eldorado @echo "ENDIANESS = little" >> include/config.mk
#########################################################################
Index: board/dbau1x00/u-boot.lds =================================================================== RCS file: /cvsroot/u-boot/u-boot/board/dbau1x00/u-boot.lds,v retrieving revision 1.1 diff -r1.1 u-boot.lds 25c25 < OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips") ---
OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-littlemips")
27c27 < OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips") ---
OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips")
Index: cpu/mips/config.mk =================================================================== RCS file: /cvsroot/u-boot/u-boot/cpu/mips/config.mk,v retrieving revision 1.3 diff -r1.3 config.mk 22a23,24
include $(TOPDIR)/include/config.mk
27c29 < echo "-mcpu=4kc -EB -mabicalls"; \ ---
echo "-mcpu=4kc -mabicalls"; \
29c31 < echo "-march=4kc -mtune=4kc -Wa,-mips_allow_branch_to_undefined -EB -mabicalls"; \ ---
echo "-march=4kc -mtune=4kc -Wa,-mips_allow_branch_to_undefined -mabicalls"; \
31a34,39
ifeq ($(ENDIANESS), little) PLATFORM_CPPFLAGS += -EL else PLATFORM_CPPFLAGS += -EB endif
Index: examples/Makefile =================================================================== RCS file: /cvsroot/u-boot/u-boot/examples/Makefile,v retrieving revision 1.23 diff -r1.23 Makefile 89c89,91 < ifeq ($(BIG_ENDIAN),y) ---
ifeq ($(ENDIANESS),little) EX_LDFLAGS += -EL else
Index: examples/mips.lds =================================================================== RCS file: /cvsroot/u-boot/u-boot/examples/mips.lds,v retrieving revision 1.2 diff -r1.2 mips.lds 25c25 < OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-bigmips") ---
OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-littlemips")
27c27 < OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradbigmips") ---
OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips")