From: G Anthony Date: Fri, 1 Mar 2013 00:27:20 +0000 (-0800) Subject: OMAP5 MessageQ: Got MessageQ stack over RPMSG to build for OMAP5 SMP only. X-Git-Tag: 3.00.00.11_eng~5^2~3 X-Git-Url: https://git.ti.com/gitweb?p=ipc%2Fipcdev.git;a=commitdiff_plain;h=1bc728c1285c2d1f6832716f4a7acb4be430c784 OMAP5 MessageQ: Got MessageQ stack over RPMSG to build for OMAP5 SMP only. Re-enabled messageq_single and messageq_multi tests in ti/ipc/tests, and update the config to switch off OMAP5 IPU platform and others. Signed-off-by: G Anthony --- diff --git a/packages/ti/configs/omap54xx/IpcCommon.cfg.xs b/packages/ti/configs/omap54xx/IpcCommon.cfg.xs index ee860bb..8486166 100644 --- a/packages/ti/configs/omap54xx/IpcCommon.cfg.xs +++ b/packages/ti/configs/omap54xx/IpcCommon.cfg.xs @@ -50,10 +50,6 @@ var BIOS = xdc.useModule('ti.sysbios.BIOS'); /* Reduces code size, by only pulling in modules explicitly referenced: */ BIOS.libType = BIOS.LibType_Custom; -/* This calls MessageQCopy_init() once before BIOS_start(): */ -xdc.loadPackage('ti.ipc.ipcmgr'); -BIOS.addUserStartupFunction('&IpcMgr_rpmsgStartup'); - xdc.loadPackage('ti.ipc.rpmsg'); xdc.loadPackage('ti.ipc.family.omap54xx'); diff --git a/packages/ti/ipc/tests/package.bld b/packages/ti/ipc/tests/package.bld index 10347ac..8e23769 100644 --- a/packages/ti/ipc/tests/package.bld +++ b/packages/ti/ipc/tests/package.bld @@ -113,7 +113,6 @@ for (var i = 0; i < Build.targets.length; i++) { }).addObjects(["dual_transports.c"]); } -/* RE-ENABLE after ping_rpmsg works on OMAP5 SMP: Pkg.addExecutable(name + "/messageq_multi", targ, platform, { cfgScript: "rpmsg_transport", defs: "-D BENCHMARK " @@ -123,7 +122,7 @@ for (var i = 0; i < Build.targets.length; i++) { cfgScript: "rpmsg_transport", defs: "-D BENCHMARK " }).addObjects(["messageq_single.c"]); -*/ + if (platform.match(/^ti\.platforms\.evmOMAPL138\:DSP/)) { Pkg.addExecutable(name + "/nano_test", targ, platform, { cfgScript: "rpmsg_transport" diff --git a/packages/ti/ipc/tests/ping_rpmsg.cfg b/packages/ti/ipc/tests/ping_rpmsg.cfg index fdf1bb7..d184a52 100644 --- a/packages/ti/ipc/tests/ping_rpmsg.cfg +++ b/packages/ti/ipc/tests/ping_rpmsg.cfg @@ -30,8 +30,8 @@ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -print ("Program.cpu.deviceName = " + Program.cpu.deviceName); -print ("Program.platformName = " + Program.platformName); +//print ("Program.cpu.deviceName = " + Program.cpu.deviceName); +//print ("Program.platformName = " + Program.platformName); /* This will match for omap5 SMP only: */ if (Program.platformName.match(/ipu/)) { @@ -42,6 +42,11 @@ if (Program.platformName.match(/ipu/)) { Program.global.tsk1 = Task.create('&pingTaskFxn', params); Task.deleteTerminatedTasks = true; + /* This calls MessageQCopy_init() once before BIOS_start(): */ + xdc.loadPackage('ti.ipc.ipcmgr'); + var BIOS = xdc.useModule('ti.sysbios.BIOS'); + BIOS.addUserStartupFunction('&IpcMgr_rpmsgStartup'); + xdc.loadCapsule("ti/configs/omap54xx/IpcCommon.cfg.xs"); xdc.includeFile("ti/configs/omap54xx/IpuSmp.cfg"); xdc.includeFile("ti/configs/omap54xx/IpuAmmu.cfg"); diff --git a/packages/ti/ipc/tests/rpmsg_transport.cfg b/packages/ti/ipc/tests/rpmsg_transport.cfg index f0004bf..970f3b3 100644 --- a/packages/ti/ipc/tests/rpmsg_transport.cfg +++ b/packages/ti/ipc/tests/rpmsg_transport.cfg @@ -31,9 +31,40 @@ */ -xdc.loadCapsule("messageq_common.cfg.xs"); +//print ("Program.cpu.deviceName = " + Program.cpu.deviceName); +//print ("Program.platformName = " + Program.platformName); + +/* This will match for omap5 SMP only: */ +if (Program.platformName.match(/ipu/)) { + /* This initializes the MessageQ Transport RPMSG stack: */ + xdc.loadPackage('ti.ipc.ipcmgr'); + var BIOS = xdc.useModule('ti.sysbios.BIOS'); + BIOS.addUserStartupFunction('&IpcMgr_ipcStartup'); + + var HeapBuf = xdc.useModule('ti.sysbios.heaps.HeapBuf'); + var params = new HeapBuf.Params; + params.align = 8; + params.blockSize = 512; + params.numBlocks = 256; + var msgHeap = HeapBuf.create(params); + + var MessageQ = xdc.useModule('ti.sdo.ipc.MessageQ'); + MessageQ.registerHeapMeta(msgHeap, 0); + + var Diags = xdc.useModule('xdc.runtime.Diags'); + var VirtioSetup = xdc.useModule('ti.ipc.transports.TransportVirtioSetup'); + VirtioSetup.common$.diags_INFO = Diags.RUNTIME_OFF; + + xdc.loadCapsule("ti/configs/omap54xx/IpcCommon.cfg.xs"); + xdc.includeFile("ti/configs/omap54xx/IpuSmp.cfg"); + xdc.includeFile("ti/configs/omap54xx/IpuAmmu.cfg"); +} +else { + xdc.loadCapsule("messageq_common.cfg.xs"); +} var MessageQ = xdc.useModule('ti.sdo.ipc.MessageQ'); + var VirtioSetup = xdc.useModule('ti.ipc.transports.TransportVirtioSetup'); MessageQ.SetupTransportProxy = VirtioSetup;