Added template files for dual endian build
authorMike Line <m-line1@ti.com>
Wed, 3 Nov 2010 18:33:46 +0000 (14:33 -0400)
committerMike Line <m-line1@ti.com>
Wed, 3 Nov 2010 18:33:46 +0000 (14:33 -0400)
A single linker command file is used for both the big and little endian
IBL. The template file is used by make to create the list of object
files with the correct endian values to be used during link.

src/make/ibl_c6472/ibl_common.inc [new file with mode: 0644]
src/make/ibl_c6472/ibl_init_objs_template.inc [new file with mode: 0644]
src/make/ibl_c6472/ibl_objs_template.inc [new file with mode: 0644]

diff --git a/src/make/ibl_c6472/ibl_common.inc b/src/make/ibl_c6472/ibl_common.inc
new file mode 100644 (file)
index 0000000..aebda61
--- /dev/null
@@ -0,0 +1,38 @@
+/************************************************************************************
+ * FILE PURPOSE: Provide common memory and sections definitions for ibl_init and ibl
+ ************************************************************************************
+ * FILE NAME: ibl_common.inc
+ *
+ * DESCRIPTION: Defines the common memory map and section placement required
+ *                         to get ibl and ibl_init to work together in a two stage load
+ *                             process.
+ *************************************************************************************/
+
+-c
+-stack 0x800
+-heap  0x6000
+
+
+MEMORY
+{
+       TEXT_INIT :  origin = 0x800000, length = 0x2700
+       TEXT      :  origin = 0x802700, length = 0xd900
+       STACK     :  origin = 0x810000, length = 0x0800
+       HEAP      :  origin = 0x810800, length = 0x6000
+       DATA_INIT :  origin = 0x816800, length = 0x0200
+       DATA      :  origin = 0x816a00, length = 0x2e00
+       CFG       :  origin = 0x819800, length = 0x0300
+       STAT      :  origin = 0x819b00, length = 0x0200
+}
+
+
+SECTIONS
+{
+       .stack  > STACK
+       .sysmem > HEAP
+
+       .ibl_config_table > CFG
+       .ibl_status_table > STAT
+
+}
+
diff --git a/src/make/ibl_c6472/ibl_init_objs_template.inc b/src/make/ibl_c6472/ibl_init_objs_template.inc
new file mode 100644 (file)
index 0000000..3ec796f
--- /dev/null
@@ -0,0 +1,18 @@
+/* ibl_init_objs_template.inc
+ *
+ *  list of object files tagged with the endian field for replacement during make
+ */
+
+../main/c64x/make/iblinit.ENDIAN_TAG.oc
+../device/c64x/make/c6472init.ENDIAN_TAG.oc
+../hw/c64x/make/pll.ENDIAN_TAG.oc
+../hw/c64x/make/i2c.ENDIAN_TAG.oc
+../interp/c64x/make/btblwrap.ENDIAN_TAG.oc
+../interp/c64x/make/btblpr.ENDIAN_TAG.oc
+../interp/c64x/make/gem.ENDIAN_TAG.oc
+
+
+
+
+
+
diff --git a/src/make/ibl_c6472/ibl_objs_template.inc b/src/make/ibl_c6472/ibl_objs_template.inc
new file mode 100644 (file)
index 0000000..3ace89f
--- /dev/null
@@ -0,0 +1,37 @@
+/* ibl_objs_template.inc
+ *
+ * list of oject files tagged with the endian field for replacement during make
+ */
+
+../main/c64x/make/iblmain.ENDIAN_TAG.oc
+../device/c64x/make/c6472.ENDIAN_TAG.oc
+../ethboot/c64x/make/ethboot.ENDIAN_TAG.oc
+../nandboot/c64x/make/nandboot.ENDIAN_TAG.oc
+../driver/c64x/make/net.ENDIAN_TAG.oc
+../driver/c64x/make/arp.ENDIAN_TAG.oc
+../driver/c64x/make/ip.ENDIAN_TAG.oc
+../driver/c64x/make/udp.ENDIAN_TAG.oc
+../driver/c64x/make/stream.ENDIAN_TAG.oc
+../driver/c64x/make/timer.ENDIAN_TAG.oc
+../driver/c64x/make/bootp.ENDIAN_TAG.oc
+../driver/c64x/make/tftp.ENDIAN_TAG.oc
+../driver/c64x/make/nand.ENDIAN_TAG.oc
+../hw/c64x/make/t64.ENDIAN_TAG.oc
+../hw/c64x/make/cpmacdrv.ENDIAN_TAG.oc
+../hw/c64x/make/psc.ENDIAN_TAG.oc
+../hw/c64x/make/emif31.ENDIAN_TAG.oc
+../hw/c64x/make/mdio.ENDIAN_TAG.oc
+../hw/c64x/make/gpio.ENDIAN_TAG.oc
+../hw/c64x/make/nandgpio.ENDIAN_TAG.oc
+../interp/c64x/make/bis.ENDIAN_TAG.oc
+../interp/c64x/make/cload.ENDIAN_TAG.oc
+../interp/c64x/make/osal.ENDIAN_TAG.oc
+../interp/c64x/make/blob.ENDIAN_TAG.oc
+
+../interp/c64x/make/dload.ENDIAN_TAG.oc
+../interp/c64x/make/elfwrap.ENDIAN_TAG.oc
+../interp/c64x/make/dlw_client.ENDIAN_TAG.oc
+../interp/c64x/make/dload_endian.ENDIAN_TAG.oc
+../interp/c64x/make/ArrayList.ENDIAN_TAG.oc
+
+../ecc/c64x/make/3byte_ecc.ENDIAN_TAG.oc