summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 3513073)
raw | patch | inline | side by side (parent: 3513073)
author | unknown <a0216664@.dhcp.itg.ti.com> | |
Tue, 28 Sep 2010 12:01:28 +0000 (08:01 -0400) | ||
committer | unknown <a0216664@.dhcp.itg.ti.com> | |
Tue, 28 Sep 2010 12:01:28 +0000 (08:01 -0400) |
Make files modified to handle big endian version
index b0f9fd5670d176a8a9409c6f27018af03532def5..2cfead40a5eb8c428d9564507ce591571a318a55 100644 (file)
ECODIR= $(IBL_ROOT)/interp
-CSRC= bis.c cload.c osal.c btblpr.c btblwrap.c gem.c blob.c
+# BIS
+CSRC= bis.c
+
+# COFF
+CSRC += cload.c osal.c
+
+# TI BOOT TABLE
+CSRC += btblpr.c btblwrap.c gem.c
+
+# Blob
+CSRC += blob.c
+
+# elf loader files
+CSRC += dload.c elfwrap.c dlw_client.c dload_endian.c ArrayList.c
.PHONY: interp
vpath % $(ECODIR)/coff
vpath % $(ECODIR)/btbl
vpath % $(ECODIR)/blob
+vpath % $(ECODIR)/elf
interp: gen_cdefdep makefile $(OBJS)
index 1bd053d4e47439d17de5e2eda1bf17924544dfb8..50cc403f3a1ebe3b7718559cb5e0f700927b9dbc 100644 (file)
C6X_C_DIR+= ;$(IBL_ROOT)/interp/coff
C6X_C_DIR+= ;$(IBL_ROOT)/interp/btbl
C6X_C_DIR+= ;$(IBL_ROOT)/interp/blob
+C6X_C_DIR+= ;$(IBL_ROOT)/interp/elf
C6X_C_DIR+= ;$(IBL_ROOT)/arch/$(ARCH)
C6X_C_DIR+= ;$(IBL_ROOT)/device
C6X_C_DIR+= ;$(IBL_ROOT)/device/$(TARGET)
diff --git a/src/main/iblmain.c b/src/main/iblmain.c
index dc67161a600ffc6a06597c135b81db8a324f0fe5..c271ef15eef3c8137289ca40a03d8db67515d7d1 100644 (file)
--- a/src/main/iblmain.c
+++ b/src/main/iblmain.c
#include "iblblob.h"
#include "timer.h"
#include "i2c.h"
+#include "ibl_elf.h"
#include <string.h>
@@ -247,6 +248,12 @@ Uint32 iblBoot (BOOT_MODULE_FXN_TABLE *bootFxn, Int32 dataFormat, void *formatPa
iblBootBlob (bootFxn, &entry, formatParams);
break;
+#if 0
+ case ibl_BOOT_FORMAT_ELF:
+ iblBootElf (bootFxn, &entry);
+ break;
+#endif
+
default:
iblStatus.invalidDataFormatSpec += 1;
break;
index c655b3de7ac8fba1e1e8246384bf05e6f8094996..9458c4eafde07d1202d495b5509d1fb2d0eaa858 100644 (file)
../interp/c64x/make/btblpr.oc
../interp/c64x/make/gem.oc
../interp/c64x/make/blob.oc
+
+/*
+../interp/c64x/make/dload.oc
+../interp/c64x/make/elfwrap.oc
+../interp/c64x/make/dlw_client.oc
+../interp/c64x/make/dload_endian.oc
+../interp/c64x/make/ArrayList.oc
+*/
+
../ecc/c64x/make/3byte_ecc.oc
-c
MEMORY
{
- TEXT : origin = 0x801000, length = 0x10000
- STACK : origin = 0x811000, length = 0x0800
- HEAP : origin = 0x811800, length = 0x6000
- DATA : origin = 0x817800, length = 0x3000
- CFG : origin = 0x821800, length = 0x0300
- STAT : origin = 0x821b00, length = 0x0200
+ TEXT : origin = 0x801000, length = 0x20000
+ STACK : origin = 0x821000, length = 0x0800
+ HEAP : origin = 0x821800, length = 0x6000
+ DATA : origin = 0x827800, length = 0x3000
+ CFG : origin = 0x831800, length = 0x0300
+ STAT : origin = 0x831b00, length = 0x0200
}
SECTIONS
index d2290d61e6de3b8c264af20a3c6c4fda26e871b4..d988274e3e4e3a0501f8b139719b7a8112a8a323 100644 (file)
-a
-boot
-e _c_int00
--order L
ROMS
{
diff --git a/src/make/makestg2 b/src/make/makestg2
index 2c89626c503e044677f0e57efb03c60e16730ef4..621996cce0d6e2b0c05662edf744e2f082f9afe7 100644 (file)
--- a/src/make/makestg2
+++ b/src/make/makestg2
MODULES= main device ethboot nandboot driver hw interp ecc
CLEAN_MODULES=$(addprefix clean_,$(MODULES))
+ifeq ($(ENDIAN),little)
+ HEX_OPT= -order L
+ BCV_OPT= -le
+else
+ HEX_OPT= -order M
+ BCV_OPT= -be
+endif
include $(IBL_ROOT)/make/$(ARCH)/makedefs.mk
c6472: $(MODULES) utils
$(LD) -o ibl_$@/ibl_$@.out -m ibl_$@/ibl_$@.map ibl_$@/ibl.cmd $(RTLIBS)
- hex6x ibl_$@/ibl.rmd ibl_$@/ibl_$@.out
- ../util/bconvert/bconvert64x -le ibl_le.b ibl.b
+ hex6x $(HEX_OPT) ibl_$@/ibl.rmd ibl_$@/ibl_$@.out
+ ../util/bconvert/bconvert64x $(BCV_OPT) ibl_le.b ibl.b
$(CP) ibl.b ibl_$@
../util/btoccs/b2i2c ibl_$@/ibl.b ibl_$@/ibl.i2c.b
../util/btoccs/b2ccs ibl_$@/ibl.i2c.b ibl_$@/ibl.i2c.ccs
../util/romparse_$@/romparse ibl_$@/i2crom.map
$(CP) i2crom.ccs ibl_$@
- $(RM) -f i2crom.ccs ibl.b
+ $(RM) i2crom.ccs ibl.b
$(MODULES):
index fd4364e66349268f526ce3dbc34dcde2bd1b86be..2b007c2f99cb8e1a25fe902e31692df486ca85bc 100644 (file)
ifeq ($(ENDIAN),little)
LIB= $(TOOLSC6X)/cgtools/lib/rts64plus.lib
OPT=
+ C2B_OPT=
else
LIB= $(TOOLSC6X)/cgtools/lib/rts64pluse.lib
OPT= -me
+ C2B_OPT= -swap
endif
test2_$(ENDIAN).blob: test2_$(ENDIAN).bccs
- ..\..\util\btoccs\ccs2bin $< $@
+ ..\..\util\btoccs\ccs2bin $(C2B_OPT) $< $@
test2_$(ENDIAN).bccs: test2_$(ENDIAN).b
..\..\util\btoccs\b2ccs $< $@
index 6f4e852aeb3c9044d25d02361491ccfddb52d411..28f63645d9633d7d8a5fb4307c0b5e67d2cac092 100644 (file)
ibl.ethConfig[0].useBootpFileName = FALSE;
ibl.ethConfig[0].bootFormat = ibl_BOOT_FORMAT_BBLOB;
+#if 0
SETIP(ibl.ethConfig[0].ethInfo.ipAddr, 192,168,2,100);
SETIP(ibl.ethConfig[0].ethInfo.serverIp, 192,168,2,110);
SETIP(ibl.ethConfig[0].ethInfo.gatewayIp, 192,168,2,2);
SETIP(ibl.ethConfig[0].ethInfo.netmask, 255,255,255,0);
+#endif
+ SETIP(ibl.ethConfig[0].ethInfo.ipAddr, 10,218,109,35);
+ SETIP(ibl.ethConfig[0].ethInfo.serverIp, 10,218,109,196);
+ SETIP(ibl.ethConfig[0].ethInfo.gatewayIp, 10,218,109,1);
+ SETIP(ibl.ethConfig[0].ethInfo.netmask, 255,255,255,0);
/* Leave the hardware address as 0 so the e-fuse value will be used */