[processor-sdk/pdk.git] / packages / ti / transport / c6678 / ipc / examples / shmIpcBenchmark / bench_shm.cfg
diff --git a/packages/ti/transport/c6678/ipc/examples/shmIpcBenchmark/bench_shm.cfg b/packages/ti/transport/c6678/ipc/examples/shmIpcBenchmark/bench_shm.cfg
--- /dev/null
@@ -0,0 +1,148 @@
+/* --COPYRIGHT--,BSD
+ * Copyright (c) 2011, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * --/COPYRIGHT--*/
+
+/* Benchmark Task */
+var Task = xdc.useModule('ti.sysbios.knl.Task');
+var tskParams = new Task.Params;
+tskParams.instance.name = "tsk0";
+Program.global.task0 = Task.create('&tsk0', tskParams);
+
+var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
+Semaphore.supportsEvents = false;
+
+//var Load = xdc.useModule('ti.sysbios.utils.Load');
+//Load.hwiEnabled = false;
+//Load.swiEnabled = false;
+//Load.taskEnabled = false;
+
+var System = xdc.useModule('xdc.runtime.System');
+var Startup = xdc.useModule('xdc.runtime.Startup');
+var SysStd = xdc.useModule('xdc.runtime.SysStd');
+System.SupportProxy = SysStd;
+
+var BIOS = xdc.useModule('ti.sysbios.BIOS');
+BIOS.clockEnabled = false;
+BIOS.heapSize = 0x8000;
+
+var Timestamp = xdc.useModule("xdc.runtime.Timestamp");
+
+Program.sectMap[".msgQ_ptrs"] = new Program.SectionSpec();
+Program.sectMap[".msgQ_ptrs"] = "L2SRAM";
+
+Program.sectMap["platform_lib"] = new Program.SectionSpec();
+Program.sectMap["platform_lib"] = "L2SRAM";
+
+var PlatformLib = xdc.loadPackage('ti.platform.evmc6678l');
+
+/*
+** Register an EVM Init handler with BIOS. This will initialize the hardware. BIOS calls before it starts.
+**
+** If debugging with CCS, then this function will execute as CCS loads it if the option in your
+** Target Configuration file (.ccxml) has the option set to execute all code before Main. That is the
+** default.
+*/
+Startup.firstFxns.$add('&initPlatform');
+
+var cslSettings = xdc.useModule ('ti.csl.Settings');
+
+var cacheEnabled = true;
+var cacheLineSize = 128;
+var procName = null;
+var procNameList = [];
+
+var Settings = xdc.module('ti.sdo.ipc.family.Settings');
+var Cache = xdc.useModule('ti.sysbios.family.c66.Cache');
+var MessageQ = xdc.module('ti.sdo.ipc.MessageQ');
+var Notify = xdc.module('ti.sdo.ipc.Notify');
+var Ipc = xdc.useModule('ti.sdo.ipc.Ipc');
+Notify.SetupProxy = xdc.module(Settings.getNotifySetupDelegate());
+MessageQ.SetupTransportProxy= xdc.module(Settings.getMessageQSetupDelegate());
+
+/* Use shared memory IPC */
+Notify.SetupProxy = xdc.module('ti.sdo.ipc.family.c647x.NotifyCircSetup');
+MessageQ.SetupTransportProxy = xdc.module('ti.sdo.ipc.transports.TransportShmNotifySetup');
+
+/* Set to disable error printouts */
+/* var Error = xdc.useModule('xdc.runtime.Error'); */
+/* Error.raiseHook = null; */
+
+Program.global.NOTIFYSETUP = Notify.SetupProxy.delegate$.$name;
+Program.global.TRANSPORTSETUP = MessageQ.SetupTransportProxy.delegate$.$name;
+
+switch (Program.platformName) {
+ case "ti.sdo.ipc.examples.platforms.evm6678.core0":
+ case "ti.platforms.evm6678":
+ Program.global.USING_C6678 = 1;
+ procNameList = ["CORE0", "CORE1"];
+ Program.global.shmBase = 0x0C000000;
+ Program.global.shmSize = 0x00100000; /* Sized for greater than 8000 128 byte messageQ messages */
+ break;
+ case "ti.sdo.ipc.examples.platforms.evm6670.core0":
+ case "ti.platforms.evm6670":
+ Program.global.USING_C6670 = 1;
+ procNameList = ["CORE0", "CORE1"];
+ Program.global.shmBase = 0x0C000000;
+ Program.global.shmSize = 0x00100000; /* Sized for greater than 8000 128 byte messageQ messages */
+ break;
+ default:
+ throw("Unsupported platform: " + Program.platformName);
+}
+var MultiProc = xdc.useModule('ti.sdo.utils.MultiProc');
+MultiProc.setConfig(procName, procNameList);
+
+Program.global.DEVICENAME = Program.cpu.deviceName;
+Program.global.PROCNAMES = procNameList.join(",");
+Program.global.BUILDPROFILE = Program.build.profile;
+
+var SharedRegion = xdc.useModule('ti.sdo.ipc.SharedRegion');
+SharedRegion.translate = false;
+SharedRegion.setEntryMeta(0,
+ { base: Program.global.shmBase,
+ len: Program.global.shmSize,
+ ownerProcId: 0,
+ isValid: true,
+ cacheEnable: cacheEnabled,
+ cacheLineSize: cacheLineSize, /* Aligns allocated messages to a cache line */
+ name: "internal_shared_mem",
+ });
+
+
+/* Optimization stuff */
+Diags = xdc.useModule("xdc.runtime.Diags");
+var Defaults = xdc.useModule('xdc.runtime.Defaults');
+
+//Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF;
+Defaults.common$.logger = null;
+
+var Semaphore = xdc.useModule('ti.sysbios.knl.Semaphore');
+Semaphore.supportsEvents = false;
+