/*
 * Linker command file for TI bug reproduction
 * Derived from XDC configuro output
 */

/* Object files from application */
"Error.oe66"
"Flash.oe66"
"global-resource-list.oe66"
"GPIO.oe66"
"HostComm.oe66"
"Log.oe66"
"MainCore0.oe66"
"nandwriter.oe66"
"nimu_cppi_qmss_iface.oe66"
"nimu_osal.oe66"
"nimu_pa_iface.oe66"
"policy_dsp-only.oe66"
"Servers.oe66"
"setuprm.oe66"
"Timer.oe66"
"UART.oe66"
"Version.oe66"
"VXI.oe66"

/* Configuro generated files */
"Core0_pe66.oe66"
"ipc.ae66"
"utils.ae66"
"sysbios.ae66"

/* NDK libraries */
"hal_timer_bios.ae66"
"os.ae66"
"hal_userled_stub.ae66"
"hal_eth_stub.ae66"
"cgi.ae66"
"hdlc.ae66"
"console_min.ae66"
"netctrl.ae66"
"nettool.ae66"
"hal_ser_stub.ae66"
"servers_min.ae66"
"stk6_ppp_pppoe.ae66"

/* PDK libraries */
"ti.transport.ndk.nimu.ae66"
"ti.osal.ae66"
"ti.csl.ae66"
"ti.csl.intc.ae66"
"ti.drv.rm.ae66"
"ti.drv.qmss.ae66"
"ti.drv.cppi.ae66"
"ti.drv.pa.ae66"

/* BIOS/RTS libraries */
"ti.targets.rts6000.ae66"
"boot.ae66"

/* Platform library */
"ti.platform.evm6678l.ae66"

/* Runtime library */
"libc.a"

--retain="*(xdc.meta)"

--args 0x64
-heap  0x0
-stack 0x4000

MEMORY
{
    L2SRAM (RWX) : org = 0x800000, len = 0x80000
    MSMCSRAM (RWX) : org = 0xc000000, len = 0x400000
    CORE0_PROG (RWX) : org = 0x80100000, len = 0xfe00000
}

/* Content from ti.sysbios.family.c66 */
ti_sysbios_family_c66_Cache_l1dSize = 32768;
ti_sysbios_family_c66_Cache_l1pSize = 32768;
ti_sysbios_family_c66_Cache_l2Size = 0;

/* Content from ti.sdo.ipc */
SECTIONS
{
    ti.sdo.ipc.SharedRegion_0:  { . += 0x400000;} run > 0xc000000, type = NOLOAD
}

/* symbolic aliases */
xdc_runtime_Startup__EXECFXN__C = 1;
xdc_runtime_Startup__RESETFXN__C = 1;

SECTIONS
{
    .text: load >> CORE0_PROG
    .ti.decompress: load > CORE0_PROG
    .stack: load > L2SRAM
    GROUP: load > L2SRAM
    {
        .bss:
        .neardata:
        .rodata:
    }
    .cinit: load > CORE0_PROG
    .pinit: load >> CORE0_PROG
    .init_array: load > CORE0_PROG
    .const: load >> CORE0_PROG
    .data: load >> CORE0_PROG
    .fardata: load >> L2SRAM
    .switch: load >> CORE0_PROG
    .sysmem: load > CORE0_PROG
    .far: load >> CORE0_PROG
    .args: load > CORE0_PROG align = 0x4, fill = 0 {_argsize = 0x64; }
    .cio: load >> L2SRAM
    .ti.handler_table: load > CORE0_PROG
    .c6xabi.exidx: load > CORE0_PROG
    .c6xabi.extab: load >> CORE0_PROG
    .resmgr_memregion: load > L2SRAM align = 0x80
    .resmgr_handles: load > L2SRAM align = 0x10
    .resmgr_pa: load > L2SRAM align = 0x8
    .far:IMAGEDATA: load > L2SRAM align = 0x8
    .far:NDK_OBJMEM: load > L2SRAM align = 0x8
    .far:NDK_PACKETMEM: load > L2SRAM align = 0x80
    .far:taskStackSection: load > L2SRAM
    .nimu_eth_ll2: load > L2SRAM
    .sharedGRL: load > L2SRAM
    .sharedPolicy: load > L2SRAM
    sharedL2: load > L2SRAM
    .vecs: load > L2SRAM
    platform_lib: load > L2SRAM
    .heap: load > CORE0_PROG
    .flash: load > CORE0_PROG
    .cppi: load > CORE0_PROG
    .qmss: load > CORE0_PROG
    .code: load > CORE0_PROG
    .DbgSection: load > CORE0_PROG
    .uart: load > CORE0_PROG
    .logTrace: load > CORE0_PROG
    .hostcomm: load > CORE0_PROG
    xdc.meta: load > CORE0_PROG, type = COPY
}
