Avoid changing the entry point on cores not loaded by remoteproc
[ipc/ipcdev.git] / packages / ti / ipc / remoteproc / linkcmd.xdt
1 %%{
2 /*
3  *  Copyright (c) 2008-2015, Texas Instruments Incorporated
4  *
5  *  Redistribution and use in source and binary forms, with or without
6  *  modification, are permitted provided that the following conditions
7  *  are met:
8  *
9  *  *  Redistributions of source code must retain the above copyright
10  *     notice, this list of conditions and the following disclaimer.
11  *
12  *  *  Redistributions in binary form must reproduce the above copyright
13  *     notice, this list of conditions and the following disclaimer in the
14  *     documentation and/or other materials provided with the distribution.
15  *
16  *  *  Neither the name of Texas Instruments Incorporated nor the names of
17  *     its contributors may be used to endorse or promote products derived
18  *     from this software without specific prior written permission.
19  *
20  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21  *  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22  *  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23  *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24  *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25  *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26  *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27  *  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28  *  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29  *  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30  *  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 %%}
34 %var resource = xdc.module('ti.ipc.remoteproc.Resource');
36 %/*
37 % * This check effectively verifies if we are a slave core
38 % * (loaded by remoteproc), and not just a peer core that
39 % * was not loaded by 'us'.
40 % */
41 %if (resource.$used) {
42 % if (xdc.module('ti.sysbios.BIOS').$used) {
43 %  if ((Program.build.target.$name.match(/C64P/)) ||
44 %    (Program.build.target.$name.match(/C674/)) ||
45 %    (Program.build.target.$name.match(/C64T/)) ||
46 %    (Program.build.target.$name.match(/C66/)) ||
47 %    (Program.build.target.$name.match(/C67P/))) {
48     /*
49      *  Set entry point to the HWI reset vector 0 to automatically satisfy
50      *  any alignment constraints for the boot vector.
51      */
52 %    if (Program.build.target.$name.match(/elf/)) {
53     -eti_sysbios_family_c64p_Hwi0
54 %    }
55 %    else {
56     -e_ti_sysbios_family_c64p_Hwi0
57 %    }
59     /*
60      * We just modified the entry point, so suppress "entry point symbol other
61      * than _c_int00 specified" warning.
62      */
63     --diag_suppress=10063
64 %  }
65 % }
66 %}