]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - ipc/ipcdev.git/commitdiff
c28: remove c28 support
authorChris Ring <cring@ti.com>
Wed, 9 Sep 2015 18:25:49 +0000 (11:25 -0700)
committerAngela Stegmaier <angelabaker@ti.com>
Fri, 11 Sep 2015 15:30:47 +0000 (10:30 -0500)
Delete C28-related packages, and remove build-related support.

Signed-off-by: Chris Ring <cring@ti.com>
38 files changed:
ipc-bios.bld
ipc-bios.mak
packages/ti/sdo/ipc/Build.xs
packages/ti/sdo/ipc/family/Settings.xs
packages/ti/sdo/ipc/family/f2837x/IpcMgr.c [deleted file]
packages/ti/sdo/ipc/family/f2837x/IpcMgr.xdc [deleted file]
packages/ti/sdo/ipc/family/f2837x/IpcMgr.xs [deleted file]
packages/ti/sdo/ipc/family/f2837x/NameServerBlock.c [deleted file]
packages/ti/sdo/ipc/family/f2837x/NameServerBlock.xdc [deleted file]
packages/ti/sdo/ipc/family/f2837x/NameServerBlock.xs [deleted file]
packages/ti/sdo/ipc/family/f2837x/NotifyDriverCirc.c [deleted file]
packages/ti/sdo/ipc/family/f2837x/NotifyDriverCirc.xdc [deleted file]
packages/ti/sdo/ipc/family/f2837x/NotifyDriverCirc.xs [deleted file]
packages/ti/sdo/ipc/family/f2837x/TransportCirc.c [deleted file]
packages/ti/sdo/ipc/family/f2837x/TransportCirc.xdc [deleted file]
packages/ti/sdo/ipc/family/f2837x/TransportCirc.xs [deleted file]
packages/ti/sdo/ipc/family/f2837x/linkcmd.xdt [deleted file]
packages/ti/sdo/ipc/family/f2837x/package.bld [deleted file]
packages/ti/sdo/ipc/family/f2837x/package.xdc [deleted file]
packages/ti/sdo/ipc/family/f2837x/package.xs [deleted file]
packages/ti/sdo/ipc/family/f28m35x/IpcMgr.c [deleted file]
packages/ti/sdo/ipc/family/f28m35x/IpcMgr.xdc [deleted file]
packages/ti/sdo/ipc/family/f28m35x/IpcMgr.xs [deleted file]
packages/ti/sdo/ipc/family/f28m35x/NameServerBlock.c [deleted file]
packages/ti/sdo/ipc/family/f28m35x/NameServerBlock.xdc [deleted file]
packages/ti/sdo/ipc/family/f28m35x/NameServerBlock.xs [deleted file]
packages/ti/sdo/ipc/family/f28m35x/NotifyDriverCirc.c [deleted file]
packages/ti/sdo/ipc/family/f28m35x/NotifyDriverCirc.xdc [deleted file]
packages/ti/sdo/ipc/family/f28m35x/NotifyDriverCirc.xs [deleted file]
packages/ti/sdo/ipc/family/f28m35x/TransportCirc.c [deleted file]
packages/ti/sdo/ipc/family/f28m35x/TransportCirc.xdc [deleted file]
packages/ti/sdo/ipc/family/f28m35x/TransportCirc.xs [deleted file]
packages/ti/sdo/ipc/family/f28m35x/linkcmd.xdt [deleted file]
packages/ti/sdo/ipc/family/f28m35x/package.bld [deleted file]
packages/ti/sdo/ipc/family/f28m35x/package.xdc [deleted file]
packages/ti/sdo/ipc/family/f28m35x/package.xs [deleted file]
packages/ti/sdo/utils/Build.xs
products.mak

index 80fd6c8311e8851a37d2e069bfd007381217a2dc..7a927110b72597344e9f91e50dd2eda5e889f311 100644 (file)
@@ -79,9 +79,6 @@ var c6xOpts = " -mi10 -mo -pdr -pden -pds=238 -pds=880 -pds1110 -g ";
  */
 
 var ccOpts = {
  */
 
 var ccOpts = {
-    "ti.targets.C28_large"            : " -mo -g ",
-    "ti.targets.C28_float"            : " -mo -g ",
-
     "ti.targets.C64P"                 : c6xOpts,
     "ti.targets.C64P_big_endian"      : c6xOpts,
     "ti.targets.C674"                 : c6xOpts,
     "ti.targets.C64P"                 : c6xOpts,
     "ti.targets.C64P_big_endian"      : c6xOpts,
     "ti.targets.C674"                 : c6xOpts,
index ef2bdde118c7aa8c4c24fa5bfcbf9b56d9c753fa..d4bbee262e77e9dafff75eb8ba1b401a032a4c36 100644 (file)
@@ -74,8 +74,6 @@ include ./products.mak
 XDCARGS= \
     PLATFORM=\"$(PLATFORM)\" \
     BIOS_SMPENABLED=\"$(BIOS_SMPENABLED)\" \
 XDCARGS= \
     PLATFORM=\"$(PLATFORM)\" \
     BIOS_SMPENABLED=\"$(BIOS_SMPENABLED)\" \
-    ti.targets.C28_large=\"$(ti.targets.C28_large)\" \
-    ti.targets.C28_float=\"$(ti.targets.C28_float)\" \
     ti.targets.C64P=\"$(ti.targets.C64P)\" \
     ti.targets.C64P_big_endian=\"$(ti.targets.C64P_big_endian)\" \
     ti.targets.C674=\"$(ti.targets.C674)\" \
     ti.targets.C64P=\"$(ti.targets.C64P)\" \
     ti.targets.C64P_big_endian=\"$(ti.targets.C64P_big_endian)\" \
     ti.targets.C674=\"$(ti.targets.C674)\" \
index 180b384c702c2982c15234be318fd5aa04eefc13..87c0163b66e14eb17ae14ec1925d82d70afef4c4 100644 (file)
@@ -38,7 +38,6 @@ var BIOS = null;
 var Build = null;
 var Ipc = null;
 
 var Build = null;
 var Ipc = null;
 
-var custom28xOpts = " -q -mo ";
 var custom6xOpts = " -q -mi10 -mo -pdr -pden -pds=238 -pds=880 -pds1110 ";
 var customARP32xOpts = " -q --gen_func_subsections ";
 var customArmOpts = " -q -ms --opt_for_speed=2 ";
 var custom6xOpts = " -q -mi10 -mo -pdr -pden -pds=238 -pds=880 -pds1110 ";
 var customARP32xOpts = " -q --gen_func_subsections ";
 var customArmOpts = " -q -ms --opt_for_speed=2 ";
@@ -50,8 +49,6 @@ var customGnuArmA8Opts = " ";
 var customGnuArmA15Opts = " ";
 
 var ccOptsList = {
 var customGnuArmA15Opts = " ";
 
 var ccOptsList = {
-    "ti.targets.C28_large"                      : custom28xOpts,
-    "ti.targets.C28_float"                      : custom28xOpts,
     "ti.targets.C64P"                           : custom6xOpts,
     "ti.targets.elf.C64P"                       : custom6xOpts,
     "ti.targets.C64P_big_endian"                : custom6xOpts,
     "ti.targets.C64P"                           : custom6xOpts,
     "ti.targets.elf.C64P"                       : custom6xOpts,
     "ti.targets.C64P_big_endian"                : custom6xOpts,
@@ -447,15 +444,6 @@ var C64TSources  = "ti/sdo/ipc/gates/GateHWSpinlock.c " +
                    "ti/sdo/ipc/family/omap4430/NotifySetup.c " +
                    "ti/sdo/ipc/family/omap4430/InterruptDsp.c ";
 
                    "ti/sdo/ipc/family/omap4430/NotifySetup.c " +
                    "ti/sdo/ipc/family/omap4430/InterruptDsp.c ";
 
-var C28Sources   = "ti/sdo/ipc/family/f28m35x/NotifyDriverCirc.c " +
-                   "ti/sdo/ipc/family/f28m35x/IpcMgr.c " +
-                   "ti/sdo/ipc/family/f28m35x/TransportCirc.c " +
-                   "ti/sdo/ipc/family/f28m35x/NameServerBlock.c " +
-                   "ti/sdo/ipc/family/f2837x/NotifyDriverCirc.c " +
-                   "ti/sdo/ipc/family/f2837x/IpcMgr.c " +
-                   "ti/sdo/ipc/family/f2837x/TransportCirc.c " +
-                   "ti/sdo/ipc/family/f2837x/NameServerBlock.c ";
-
 var M3Sources    = "ti/sdo/ipc/gates/GateHWSpinlock.c " +
                    "ti/sdo/ipc/family/omap4430/NotifySetup.c " +
                    "ti/sdo/ipc/family/omap4430/NotifyCircSetup.c " +
 var M3Sources    = "ti/sdo/ipc/gates/GateHWSpinlock.c " +
                    "ti/sdo/ipc/family/omap4430/NotifySetup.c " +
                    "ti/sdo/ipc/family/omap4430/NotifyCircSetup.c " +
@@ -548,9 +536,6 @@ var ARP32Sources = "ti/sdo/ipc/gates/GateHWSpinlock.c " +
                    "ti/sdo/ipc/family/tda3xx/NotifySetup.c ";
 
 var cList = {
                    "ti/sdo/ipc/family/tda3xx/NotifySetup.c ";
 
 var cList = {
-    "ti.targets.C28_large"              : commonSources + C28Sources,
-    "ti.targets.C28_float"              : commonSources + C28Sources,
-
     "ti.targets.C64P"                   : commonSources + C647xSources +
                                                 C64PSources,
     "ti.targets.C64P_big_endian"        : commonSources + C647xSources +
     "ti.targets.C64P"                   : commonSources + C647xSources +
                                                 C64PSources,
     "ti.targets.C64P_big_endian"        : commonSources + C647xSources +
@@ -634,9 +619,6 @@ var asmList64P = [
 ];
 
 var asmList = {
 ];
 
 var asmList = {
-    "ti.targets.C28_large"              : asmListNone,
-    "ti.targets.C28_float"              : asmListNone,
-
     "ti.targets.C64P"                   : asmList64P,
     "ti.targets.C64P_big_endian"        : asmList64P,
     "ti.targets.C674"                   : asmList64P,
     "ti.targets.C64P"                   : asmList64P,
     "ti.targets.C64P_big_endian"        : asmList64P,
     "ti.targets.C674"                   : asmList64P,
index e8e594a16147d4c12d446d724446a3a43a72a3c4..8c774da874d46ee757da90fe28e4c72ddb525d48 100644 (file)
@@ -199,8 +199,6 @@ var procNames = {
     'OMAP5430'          : ["DSP", "IPU", "HOST"],
 
     'Arctic'            : ["DSP", "ARP32"],
     'OMAP5430'          : ["DSP", "IPU", "HOST"],
 
     'Arctic'            : ["DSP", "ARP32"],
-    'F28M3.*'           : ["M3", "C28"],
-    'F2837.*'           : ["CORE0", "CORE1"],
     'LM3.*'             : [ "" ],  /* single core, any name can be used */
     'Vayu'              : ["DSP1", "DSP2", "EVE1", "EVE2", "EVE3", "EVE4",
                            "IPU1", "IPU2", "IPU1-0", "IPU1-1", "IPU2-0",
     'LM3.*'             : [ "" ],  /* single core, any name can be used */
     'Vayu'              : ["DSP1", "DSP2", "EVE1", "EVE2", "EVE3", "EVE4",
                            "IPU1", "IPU2", "IPU1-0", "IPU1-1", "IPU2-0",
@@ -251,8 +249,6 @@ var hostProcNames = {
     'TMS320C6670'       : ["CORE0"],
     'TMS320C6472'       : ["CORE0"],
     'TMS320C6474'       : ["CORE0"],
     'TMS320C6670'       : ["CORE0"],
     'TMS320C6472'       : ["CORE0"],
     'TMS320C6474'       : ["CORE0"],
-    'F28M3.*'           : ["M3"],
-    'F2837.*'           : ["CORE0"],
     'TMS320TCI6630K2L'  : ["HOST"],
     'TMS320C66AK2H12'   : ["HOST"],
     'TMS320TCI6634'     : ["CORE0"],
     'TMS320TCI6630K2L'  : ["HOST"],
     'TMS320C66AK2H12'   : ["HOST"],
     'TMS320TCI6634'     : ["CORE0"],
@@ -276,8 +272,6 @@ var nameServerRemoteDelegates = {
     'TMS320C6474'       : { del: 'ti.sdo.ipc.nsremote.NameServerRemoteNotify',},
     'OMAP4430'          : { del: 'ti.sdo.ipc.nsremote.NameServerRemoteNotify',},
     'Arctic'            : { del: 'ti.sdo.ipc.nsremote.NameServerRemoteNotify',},
     'TMS320C6474'       : { del: 'ti.sdo.ipc.nsremote.NameServerRemoteNotify',},
     'OMAP4430'          : { del: 'ti.sdo.ipc.nsremote.NameServerRemoteNotify',},
     'Arctic'            : { del: 'ti.sdo.ipc.nsremote.NameServerRemoteNotify',},
-    'F28M3.*'           : { del: 'ti.sdo.ipc.family.f28m35x.NameServerBlock', },
-    'F2837.*'           : { del: 'ti.sdo.ipc.family.f2837x.NameServerBlock', },
     'Vayu'              : { del: 'ti.sdo.ipc.nsremote.NameServerRemoteNotify',},
     'TDA3X'             : { del: 'ti.sdo.ipc.nsremote.NameServerRemoteNotify' },
     'TMS320TCI6634'     : { del: 'ti.sdo.ipc.nsremote.NameServerRemoteNotify',},
     'Vayu'              : { del: 'ti.sdo.ipc.nsremote.NameServerRemoteNotify',},
     'TDA3X'             : { del: 'ti.sdo.ipc.nsremote.NameServerRemoteNotify' },
     'TMS320TCI6634'     : { del: 'ti.sdo.ipc.nsremote.NameServerRemoteNotify',},
@@ -300,8 +294,6 @@ var notifySetupDelegates = {
     'TMS320TCI6634'     : { del: 'ti.sdo.ipc.family.tci663x.NotifyCircSetup', },
     'OMAP4430'          : { del: 'ti.sdo.ipc.family.omap4430.NotifySetup', },
     'Arctic'            : { del: 'ti.sdo.ipc.family.arctic.NotifyCircSetup', },
     'TMS320TCI6634'     : { del: 'ti.sdo.ipc.family.tci663x.NotifyCircSetup', },
     'OMAP4430'          : { del: 'ti.sdo.ipc.family.omap4430.NotifySetup', },
     'Arctic'            : { del: 'ti.sdo.ipc.family.arctic.NotifyCircSetup', },
-    'F28M3.*'           : { del: 'ti.sdo.ipc.notifyDrivers.NotifySetupNull', },
-    'F2837.*'           : { del: 'ti.sdo.ipc.notifyDrivers.NotifySetupNull', },
     'LM3.*'             : { del: 'ti.sdo.ipc.notifyDrivers.NotifySetupNull', },
     'Vayu'              : { del: 'ti.sdo.ipc.family.vayu.NotifySetup', },
     'TDA3X'             : { del: 'ti.sdo.ipc.family.tda3xx.NotifySetup'  },
     'LM3.*'             : { del: 'ti.sdo.ipc.notifyDrivers.NotifySetupNull', },
     'Vayu'              : { del: 'ti.sdo.ipc.family.vayu.NotifySetup', },
     'TDA3X'             : { del: 'ti.sdo.ipc.family.tda3xx.NotifySetup'  },
@@ -326,8 +318,6 @@ var messageQSetupDelegates = {
     'TMS320TCI6634'     : { del: 'ti.sdo.ipc.transports.TransportShmNotifySetup', },
     'OMAP4430'          : { del: 'ti.sdo.ipc.transports.TransportShmSetup', },
     'Arctic'            : { del: 'ti.sdo.ipc.transports.TransportShmNotifySetup', },
     'TMS320TCI6634'     : { del: 'ti.sdo.ipc.transports.TransportShmNotifySetup', },
     'OMAP4430'          : { del: 'ti.sdo.ipc.transports.TransportShmSetup', },
     'Arctic'            : { del: 'ti.sdo.ipc.transports.TransportShmNotifySetup', },
-    'F28M3.*'           : { del: 'ti.sdo.ipc.transports.TransportNullSetup', },
-    'F2837.*'           : { del: 'ti.sdo.ipc.transports.TransportNullSetup', },
     'LM3.*'             : { del: 'ti.sdo.ipc.transports.TransportNullSetup', },
     'Vayu'              : { del: 'ti.sdo.ipc.transports.TransportShmSetup', },
     'TDA3X'             : { del: 'ti.sdo.ipc.transports.TransportShmSetup' }
     'LM3.*'             : { del: 'ti.sdo.ipc.transports.TransportNullSetup', },
     'Vayu'              : { del: 'ti.sdo.ipc.transports.TransportShmSetup', },
     'TDA3X'             : { del: 'ti.sdo.ipc.transports.TransportShmSetup' }
@@ -347,7 +337,6 @@ var interruptDelegates = {
         'TMS320TI816X'  : { del: 'ti.sdo.ipc.family.ti81xx.InterruptDucati', },
         'TMS320C6A8149' : { del: 'ti.sdo.ipc.family.c6a8149.InterruptDucati', },
         'OMAP4430'      : { del: 'ti.sdo.ipc.family.omap4430.InterruptDucati', },
         'TMS320TI816X'  : { del: 'ti.sdo.ipc.family.ti81xx.InterruptDucati', },
         'TMS320C6A8149' : { del: 'ti.sdo.ipc.family.c6a8149.InterruptDucati', },
         'OMAP4430'      : { del: 'ti.sdo.ipc.family.omap4430.InterruptDucati', },
-        'F28M3.*'       : { del: 'ti.sdo.ipc.family.f28m35x.InterruptM3', },
     },
     'ti.catalog.arm.cortexm4' : {
         'Vayu'          : { del: 'ti.sdo.ipc.family.vayu.InterruptIpu', },
     },
     'ti.catalog.arm.cortexm4' : {
         'Vayu'          : { del: 'ti.sdo.ipc.family.vayu.InterruptIpu', },
@@ -385,9 +374,6 @@ var interruptDelegates = {
         'Vayu'          : { del: 'ti.sdo.ipc.family.vayu.InterruptArp32', },
         'TDA3X'         : { del: 'ti.sdo.ipc.family.tda3xx.InterruptArp32' },
     },
         'Vayu'          : { del: 'ti.sdo.ipc.family.vayu.InterruptArp32', },
         'TDA3X'         : { del: 'ti.sdo.ipc.family.tda3xx.InterruptArp32' },
     },
-    'ti.catalog.c2800' : {
-        'F28M3.*'       : { del: 'ti.sdo.ipc.family.f28m35x.InterruptC28', },
-    },
 };
 for (var family in interruptDelegates) {
     setDeviceAliases(interruptDelegates[family], deviceAliases);
 };
 for (var family in interruptDelegates) {
     setDeviceAliases(interruptDelegates[family], deviceAliases);
diff --git a/packages/ti/sdo/ipc/family/f2837x/IpcMgr.c b/packages/ti/sdo/ipc/family/f2837x/IpcMgr.c
deleted file mode 100644 (file)
index 76e8275..0000000
+++ /dev/null
@@ -1,288 +0,0 @@
-/*
- * Copyright (c) 2014, 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.
- */
-/*
- *  ======== IpcMgr.c ========
- */
-
-#include <xdc/std.h>
-#include <xdc/runtime/Assert.h>
-#include <xdc/runtime/Error.h>
-#include <xdc/runtime/Startup.h>
-
-#include <ti/sysbios/hal/Hwi.h>
-#include <ti/sdo/ipc/family/f2837x/NotifyDriverCirc.h>
-#include <ti/sdo/ipc/family/f2837x/NameServerBlock.h>
-#include <ti/sdo/ipc/family/f2837x/TransportCirc.h>
-#include <ti/sdo/ipc/_MessageQ.h>
-#include <ti/sdo/ipc/_Notify.h>
-#include <ti/sdo/utils/_MultiProc.h>
-
-#include "package/internal/IpcMgr.xdc.h"
-
-#define IPCACK  (0x50000)
-#define IPCSTS  (IPCACK + 0x2)
-#define IPCSET  (IPCACK + 0x4)
-#define IPCCLR  (IPCACK + 0x6)
-#define IPCFLG  (IPCACK + 0x8)
-
-#define CPU1_IPCFLAG  10
-#define CPU2_IPCFLAG  11
-
-/*
- *  ======== IpcMgr_Module_startup ========
- *  In this function CPU1 is used to enable shared memory.
- *  In addition, the owner of each block of memory initializes its blocks
- *  based on the static configuration parameters.
- *  IPC flags are used by CPU1 and CPU2 for synchronization.
- *
- *  CPU1 starts by creating its driver instances and then sets CPU2's
- *  IPC flag, allowing CPU2 proceed.  Then CPU1 waits for its
- *  IPC flag to be set by CPU2 before proceeding. Once CPU1's IPC flag is set
- *  by the CPU2, CPU1 clears its IPC flag and continues.
- *
- *  CPU2 starts by waiting for its IPC flag to be set by CPU1.
- *  Once its IPC flag is set by CPU1, CPU2 clears its IPC flag and
- *  proceeds to create its driver instances.  CPU2 then sets CPU1's
- *  IPC flag to let CPU1 proceed.
- *
- *  The shared memory usage looks like the following:
- *
- *      |--------------------|
- *      | Notify Driver      |
- *      |                    |
- *      |--------------------|
- *      | NameServer         |
- *      | Remote Driver      |
- *      |--------------------|
- *      | MessageQ Transport |
- *      |                    |
- *      |--------------------|
- */
-Int IpcMgr_Module_startup(Int phase)
-{
-    Int status;
-    SizeT memReq;
-    Ptr writeAddr = (UInt32 *)IpcMgr_writeAddr;
-    Ptr readAddr = (UInt32 *)IpcMgr_readAddr;
-    UInt16 remoteProcId;
-    NotifyDriverCirc_Params notifyDrvParams;
-    TransportCirc_Params transportParams;
-    volatile UInt32 *set = (volatile UInt32 *)IPCSET;
-    volatile UInt32 *stat = (volatile UInt32 *)IPCSTS;
-    volatile UInt32 *ack = (volatile UInt32 *)IPCACK;
-
-    /*
-     *  This code assumes that the device's CPU1 and CPU2 MultiProc Ids
-     *  are next to each other (e.g. n and n + 1) and that the first
-     *  one is even (e.g. n is even).
-     */
-    if (MultiProc_self() & 1) {
-        /* I'm odd */
-        remoteProcId = MultiProc_self() - 1;
-    }
-    else {
-        /* I'm even */
-        remoteProcId = MultiProc_self() + 1;
-    }
-
-    /* Wait for Hwi module to initialize first because of NotifyDriverCirc  */
-    if (!Hwi_Module_startupDone()) {
-        return Startup_NOTDONE;
-    }
-
-    if (!IpcMgr_cpu1) {
-        /* Wait for CPU1 to set CPU2's IPC flag */
-        while (!(*stat & (1 << CPU2_IPCFLAG))) {
-        }
-
-        /* Clear own IPC flag */
-        *ack = 1 << CPU2_IPCFLAG;
-    }
-
-    /* Determine the amount of memory required for NotifyDriverCirc */
-    NotifyDriverCirc_Params_init(&notifyDrvParams);
-    notifyDrvParams.writeAddr = writeAddr;
-    memReq = NotifyDriverCirc_sharedMemReq(&notifyDrvParams);
-
-    /* Call NotifyCircSetup attach to remote processor */
-    status = IpcMgr_notifyCircAttach(remoteProcId,
-                 writeAddr, readAddr);
-
-    Assert_isTrue(status >= 0, IpcMgr_A_internal);
-
-    /* Update the read/write address */
-    writeAddr = (Ptr)((UInt32)writeAddr + memReq);
-    readAddr = (Ptr)((UInt32)readAddr + memReq);
-
-    /* Determine the amount of memory required for NameServerBlock */
-    memReq = NameServerBlock_sharedMemReq(NULL);
-
-    /* Call NameServerBlock attach to remote processor */
-    status = IpcMgr_nameServerAttach(remoteProcId, writeAddr, readAddr);
-
-    Assert_isTrue(status >= 0, IpcMgr_A_internal);
-
-    /* Update the read/write address */
-    writeAddr = (Ptr)((UInt32)writeAddr + memReq);
-    readAddr = (Ptr)((UInt32)readAddr + memReq);
-
-    /* Determine the amount of memory required for TransportCirc */
-    TransportCirc_Params_init(&transportParams);
-    transportParams.writeAddr = writeAddr;
-    memReq = TransportCirc_sharedMemReq(&transportParams);
-
-    /* Call TransportCircSetup attach to remote processor */
-    status = IpcMgr_transportCircAttach(remoteProcId,
-                 writeAddr, readAddr);
-
-    Assert_isTrue(status >= 0, IpcMgr_A_internal);
-
-    if (IpcMgr_cpu1) {
-        /* Set CPU2 IPC flag to tell CPU2 to proceed */
-        *set = 1 << CPU2_IPCFLAG;
-
-        /* Wait for CPU2 to set CPU1's IPC flag */
-        while (!(*stat & (1 << CPU1_IPCFLAG))) {
-        }
-
-        /* Clear own IPC flag */
-        *ack = 1 << CPU1_IPCFLAG;
-    }
-    else {
-        /* Set CPU1's IPC flag to tell CPU1 to proceed */
-        *set = 1 << CPU1_IPCFLAG;
-    }
-    return (Startup_DONE);
-}
-
-/*
- *  ======== IpcMgr_notifyCircAttach ========
- *  Initialize interrupt
- */
-Int IpcMgr_notifyCircAttach(UInt16 remoteProcId, Ptr writeAddr, Ptr readAddr)
-{
-    NotifyDriverCirc_Params notifyDrvParams;
-    NotifyDriverCirc_Handle notifyDrvHandle;
-    ti_sdo_ipc_Notify_Handle notifyHandle;
-    Error_Block eb;
-    Int status = Notify_S_SUCCESS;
-
-    /* Initialize the error block */
-    Error_init(&eb);
-
-    /* Setup the notify driver to the remote processor */
-    NotifyDriverCirc_Params_init(&notifyDrvParams);
-
-    /* Set the read/write address of the param */
-    notifyDrvParams.readAddr = readAddr;
-    notifyDrvParams.writeAddr = writeAddr;
-
-    /* Create the notify driver instance */
-    notifyDrvHandle = NotifyDriverCirc_create(&notifyDrvParams, &eb);
-    if (notifyDrvHandle == NULL) {
-        return (Notify_E_FAIL);
-    }
-
-    /* Create the notify instance */
-    notifyHandle = ti_sdo_ipc_Notify_create(
-                       NotifyDriverCirc_Handle_upCast(notifyDrvHandle),
-                       remoteProcId, 0, NULL, &eb);
-
-    if (notifyHandle == NULL) {
-        NotifyDriverCirc_delete(&notifyDrvHandle);
-        status = Notify_E_FAIL;
-    }
-
-    return (status);
-}
-
-/*
- *  ======== IpcMgr_nameServerAttach ========
- */
-Int IpcMgr_nameServerAttach(UInt16 remoteProcId, Ptr writeAddr, Ptr readAddr)
-{
-    NameServerBlock_Params nsbParams;
-    NameServerBlock_Handle handle;
-    Int status = NameServerBlock_E_FAIL;
-    Error_Block eb;
-
-    Error_init(&eb);
-
-    /* Init the param */
-    NameServerBlock_Params_init(&nsbParams);
-
-    /* Set the read/write addresses */
-    nsbParams.readAddr  = readAddr;
-    nsbParams.writeAddr = writeAddr;
-
-    /* Create only if notify driver has been created to remote proc */
-    if (Notify_intLineRegistered(remoteProcId, 0)) {
-        handle = NameServerBlock_create(remoteProcId,
-                                        &nsbParams,
-                                        &eb);
-        if (handle != NULL) {
-            status = NameServerBlock_S_SUCCESS;
-        }
-    }
-
-    return (status);
-}
-
-/*
- *  ======== IpcMgr_transportCircAttach ========
- */
-Int IpcMgr_transportCircAttach(UInt16 remoteProcId, Ptr writeAddr,
-    Ptr readAddr)
-{
-    TransportCirc_Handle handle;
-    TransportCirc_Params params;
-    Int status = MessageQ_E_FAIL;
-    Error_Block eb;
-
-    Error_init(&eb);
-
-    /* Init the transport parameters */
-    TransportCirc_Params_init(&params);
-    params.readAddr = readAddr;
-    params.writeAddr = writeAddr;
-
-    /* Make sure notify driver has been created */
-    if (Notify_intLineRegistered(remoteProcId, 0)) {
-        handle = TransportCirc_create(remoteProcId, &params, &eb);
-
-        if (handle != NULL) {
-            status = MessageQ_S_SUCCESS;
-        }
-    }
-
-    return (status);
-}
diff --git a/packages/ti/sdo/ipc/family/f2837x/IpcMgr.xdc b/packages/ti/sdo/ipc/family/f2837x/IpcMgr.xdc
deleted file mode 100644 (file)
index 6d334ba..0000000
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * Copyright (c) 2014, 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.
- */
-/*
- *  ======== IpcMgr.xdc ========
- */
-
-import xdc.runtime.Assert;
-import xdc.runtime.Error;
-
-/*!
- *  ======== IpcMgr ========
- *  IPC Manager
- *
- *  This modules is used only for F2837x devices.  Users can statically
- *  configure which shared memory segments to enable, the owner processor
- *  and the owner's write access.  This module is used for specifying shared
- *  memory for IPC between the two C28 processors (CPU1 master and
- *  CPU2 slave).
- *
- *  There are no API's that need to be called.  The necessary drivers for
- *  IPC are all created within this module's startup function.  The shared
- *  memory is also programmed within this function.  There is handshaking
- *  between the processors.  CPU1 releases CPU2 from reset and both processors
- *  will synchronize at this point.
- *
- *  The {@link #readAddr} must point to shared memory which is writeable
- *  by the remote core while the {@link #writeAddr} must point to shared
- *  memory which is writeable by the local core.  The {@link #readAddr}
- *  and {@link #writeAddr} pointers must point to different shared memory
- *  blocks.  Memory addresses must be specified in the local core's
- *  memory space.
- *
- *  The {@link #cpu1} configuration parameter specifies whether or not
- *  the executable will be run on CPU1 or CPU2.
- *
- *  For example on CPU1:
- *  @p(code)
- *  var IpcMgr = xdc.useModule('ti.sdo.ipc.family.f2837x.IpcMgr');
- *  IpcMgr.readAddr  = 0x3F800;
- *  IpcMgr.writeAddr = 0x3FC00;
- *  @p
- *
- *  On the CPU2:
- *  @p(code)
- *  var IpcMgr = xdc.useModule('ti.sdo.ipc.family.f2837x.IpcMgr');
- *  IpcMgr.readAddr  = 0x3FC00;
- *  IpcMgr.writeAddr = 0x3F800;
- *  IpcMgr.cpu1 = false;
- *  @p
- */
-
-@ModuleStartup
-
-module IpcMgr
-{
-    /*
-     *************************************************************************
-     *                       Generic Errors/Asserts
-     *************************************************************************
-     */
-
-    /*!
-     *  ======== A_internal ========
-     *  Assert raised when an internal error is encountered
-     */
-    config Assert.Id A_internal = {
-        msg: "A_internal: An internal error has occurred"
-    };
-
-    /*!
-     *  ======== A_invParam ========
-     *  Assert raised when a parameter is invalid
-     */
-    config Assert.Id A_invParam  = {
-        msg: "A_invParam: Invalid configuration parameter supplied"
-    };
-
-    /*!
-     *  ======== A_notEnoughMemory ========
-     *  Assert raised when there's not enough memory for creating instances.
-     */
-    config Assert.Id A_notEnoughMemory  = {
-        msg: "A_notEnoughMemory: There is not enough memory for operation"
-    };
-
-    /*!
-     *  ======== A_nullArgument ========
-     *  Assert raised when a required argument is null
-     */
-    config Assert.Id A_nullArgument  = {
-        msg: "A_nullArgument: Required argument is null"
-    };
-
-    /*!
-     *  ======== E_internal ========
-     *  Error raised when an internal error occured
-     */
-    config Error.Id E_internal  = {
-        msg: "E_internal: An internal error occurred"
-    };
-
-    /*
-     *************************************************************************
-     *                       Module-wide Config Parameters
-     *************************************************************************
-     */
-
-    /*!
-     *  ======== genLinkerSections ========
-     *  For generating or not generating the linker sections
-     *
-     *  By default this is set to 'true' so the following linker sections
-     *  are generated for the amount of memory used for IPC. For the
-     *  read address - "ti.sdo.ipc.family.f2837x.IpcMgr.readSect" and for
-     *  the write address - "ti.sdo.ipc.family.f2837x.IpcMgr.writeSect".
-     *  To disable generation, set this to 'false'.
-     */
-    metaonly config Bool genLinkerSections = true;
-
-    /*!
-     *  ======== cpu1 ========
-     *  Set to false if this is CPU2.
-     */
-    config Bool cpu1 = true;
-
-    /*!
-     *  ======== ipcSetFlag ========
-     *  The IPC set flag that is used for generating the IPC interrupt
-     *
-     *  Only a value of 0, 1, 2, or 3 are valid since only those flags
-     *  have an interrupt associated with them. This value must be the
-     *  same on both processors.
-     */
-    config UInt32 ipcSetFlag = 3;
-
-    /*!
-     *  ======== messageQSize ========
-     *  The largest MessageQ size (in bytes) supported by the transport
-     *
-     *  This value must be large enough to handle the largest message.
-     *  The size must be specified in bytes.
-     */
-    config UInt32 messageQSize = 128;
-
-    /*!
-     *  ======== messageQEventId ========
-     *  Notify event ID for MessageQ transport.
-     */
-    config UInt16 messageQEventId = 2;
-
-    /*!
-     *  ======== nameServerEventId ========
-     *  Notify event ID for NameServer.
-     */
-    config UInt16 nameServerEventId = 4;
-
-    /*!
-     *  ======== numNotifyMsgs ========
-     *  The number of messages for the Notify driver's circular buffer
-     *
-     *  This is used to determine the size of the put and get buffers.
-     *  This value must be a power of 2.  A value of 'N' allows 'N-1'
-     *  outstanding notifications.
-     */
-    config UInt32 numNotifyMsgs = 32;
-
-    /*!
-     *  ======== numMessageQMsgs ========
-     *  The number of messages for the MessageQ transport's circular buffer
-     *
-     *  This is used to determine the size of the put and get buffers.
-     *  This value must be a power of 2.  A value of 'N' allows 'N-1'
-     *  outstanding notifications.
-     */
-    config UInt32 numMessageQMsgs = 4;
-
-    /*!
-     *  ======== readAddr ========
-     *  The base address of read-only shared memory.
-     *
-     *  The address must be specified in the local core's memory space.
-     *  It must point to the same physical address as the writeAddr for
-     *  the remote processor.
-     */
-    config Ptr readAddr;
-
-    /*!
-     *  ======== writeAddr ========
-     *  The base address of read/write shared memory.
-     *
-     *  The address must be specified in the local core's memory space.
-     *  It must point to the same physical address as the readAddr for
-     *  the remote processor.
-     */
-    config Ptr writeAddr;
-
-internal:
-
-    /* the amount of shared memory used */
-    config UInt32 sharedMemSizeUsed;
-
-    /* function to create NotifyCirc driver instances */
-    Int notifyCircAttach(UInt16 remoteProcId, Ptr writeAddr, Ptr readAddr);
-
-    /* function to create NameServer remote instances */
-    Int nameServerAttach(UInt16 remoteProcId, Ptr writeAddr, Ptr readAddr);
-
-    /* function to create MessageQ transport instances */
-    Int transportCircAttach(UInt16 remoteProcId, Ptr writeAddr, Ptr readAddr);
-}
diff --git a/packages/ti/sdo/ipc/family/f2837x/IpcMgr.xs b/packages/ti/sdo/ipc/family/f2837x/IpcMgr.xs
deleted file mode 100644 (file)
index 38f4e75..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Copyright (c) 2014, 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.
- */
-/*
- *  ======== IpcMgr.xs ========
- */
-
-var IpcMgr           = null;
-var MultiProc        = null;
-var NotifyDriverCirc = null;
-var NameServerBlock  = null;
-var TransportCirc    = null;
-var Hwi              = null;
-var Boot             = null;
-
-/*
- *  ======== module$meta$init ========
- */
-function module$meta$init()
-{
-    /* Only process during "cfg" phase */
-    if (xdc.om.$name != "cfg") {
-        return;
-    }
-
-    IpcMgr = this;
-
-    var NameServer = xdc.useModule('ti.sdo.utils.NameServer');
-    NameServer.SetupProxy = xdc.useModule('ti.sdo.ipc.family.f2837x.NameServerBlock');
-}
-
-/*
- *  ======== module$use ========
- */
-function module$use()
-{
-    MultiProc = xdc.useModule("ti.sdo.utils.MultiProc");
-    NotifyDriverCirc =
-        xdc.useModule("ti.sdo.ipc.family.f2837x.NotifyDriverCirc");
-    NameServerBlock =
-        xdc.useModule("ti.sdo.ipc.family.f2837x.NameServerBlock");
-    TransportCirc =
-        xdc.useModule("ti.sdo.ipc.family.f2837x.TransportCirc");
-    Hwi = xdc.useModule("ti.sysbios.hal.Hwi");
-
-    if (IpcMgr.cpu1) {
-        Boot = xdc.useModule("ti.catalog.c2800.initF2837x.Boot");
-    }
-
-    /* Init the number of messages for notify driver */
-    NotifyDriverCirc.numMsgs = IpcMgr.numNotifyMsgs;
-
-    /* Init the number of messages for messageQ transport */
-    TransportCirc.numMsgs = IpcMgr.numMessageQMsgs;
-    TransportCirc.maxMsgSizeInBytes = IpcMgr.messageQSize;
-    TransportCirc.notifyEventId = IpcMgr.messageQEventId;
-}
-
-/*
- *  ======== module$static$init ========
- */
-function module$static$init(mod, params)
-{
-    /* check to make sure readAddr and writeAddr have been set */
-    if (params.readAddr == undefined) {
-        IpcMgr.$logError("IpcMgr.readAddr is undefined", IpcMgr);
-    }
-
-    if (params.writeAddr == undefined) {
-        IpcMgr.$logError("IpcMgr.writeAddr is undefined", IpcMgr);
-    }
-
-    /* init the interrupt ids */
-    if ((params.ipcSetFlag < 0) || (params.ipcSetFlag > 3)) {
-        IpcMgr.$logError("IpcMgr.ipcSetFlag must be 0, 1, 2, or 3 " +
-            "because they are the only flags associated with an interrupt.",
-            IpcMgr);
-    }
-
-    /* calculate the amount of shared memory used */
-    IpcMgr.sharedMemSizeUsed = NotifyDriverCirc.sharedMemReqMeta(null) +
-                               NameServerBlock.sharedMemReqMeta(null) +
-                               TransportCirc.sharedMemReqMeta(null);
-
-    /* validate sharedMemoryOwnerMask is correct for the readAddr/writeAddr */
-    if (IpcMgr.cpu1) {
-        /* TODO: This needs to be tested. */
-        /*  From linker command file
-         *  (ti/platforms/tms320x28/include/F28377D.cmd),
-         *  these are the shared ram blocks:
-         *  RAMGS0  : origin = 0x00C000, length = 0x001000
-         *  RAMGS1  : origin = 0x00D000, length = 0x001000
-         *  RAMGS2  : origin = 0x00E000, length = 0x001000
-         *  RAMGS3  : origin = 0x00F000, length = 0x001000
-         *  RAMGS4  : origin = 0x010000, length = 0x001000
-         *  RAMGS5  : origin = 0x011000, length = 0x001000
-         *  RAMGS6  : origin = 0x012000, length = 0x001000
-         *  RAMGS7  : origin = 0x013000, length = 0x001000
-         *  RAMGS8  : origin = 0x014000, length = 0x001000
-         *  RAMGS9  : origin = 0x015000, length = 0x001000
-         *  RAMGS10 : origin = 0x016000, length = 0x001000
-         *  RAMGS11 : origin = 0x017000, length = 0x001000
-         *  RAMGS12 : origin = 0x018000, length = 0x001000
-         *  RAMGS13 : origin = 0x019000, length = 0x001000
-         *  RAMGS14 : origin = 0x01A000, length = 0x001000
-         *  RAMGS15 : origin = 0x01B000, length = 0x001000
-         */
-
-        var Boot = xdc.module('ti.catalog.c2800.initF2837x.Boot');
-        if ((IpcMgr.writeAddr >= 0xC000) && (IpcMgr.writeAddr < 0x1C000)) {
-            /*
-             *  Determine segment being used for the writeAddr.
-             *  The shared RAM base address starts 0xC000 to 0x1A000.
-             *  Each segment with a length of 0x2000 (byte addressing).
-             */
-            var writeSeg = (IpcMgr.writeAddr - 0xC000) >> 13;
-
-            /* This CPU must be owner of writeAddr shared memory segment */
-            if (Boot.sharedMemoryOwnerMask & (1 << writeSeg)) {
-                IpcMgr.$logError("IpcMgr.writeAddr is set to address: " +
-                utils.toHex(IpcMgr.writeAddr) + "," +
-                " but Boot.sharedMemoryOwnerMask bit: " + writeSeg +
-                " must not be set. Unset this bit to make CPU1 the owner.",
-                        IpcMgr);
-            }
-        }
-
-        if ((IpcMgr.readAddr >= 0xC000) &&
-            (IpcMgr.readAddr < 0x1C000)) {
-            /*
-             *  Determine segment being used for the CPU2 readAddr.
-             *  The shared RAM base address starts 0xC000 to 0x1A000.
-             *  Each segment with a length of 0x2000 (byte addressing).
-             */
-            var readSeg = (IpcMgr.readAddr - 0xC000) >> 13;
-
-            /* CPU2 must be owner of readAddr shared memory segment */
-            if (!(Boot.sharedMemoryOwnerMask & (1 << readSeg))) {
-                IpcMgr.$logError("IpcMgr.readAddr is set to address: " +
-                utils.toHex(IpcMgr.readAddr) + "," +
-                " but IpcMgr.sharedMemoryOwnerMask bit: " + readSeg +
-                " is not set. This bit must be set so CPU2 is the owner.",
-                        IpcMgr);
-            }
-        }
-    }
-}
-
-/*
- *  ======== module$validate ========
- */
-function module$validate()
-{
-    if ((xdc.module('ti.sdo.ipc.Ipc').$used) ||
-        (xdc.module('ti.sdo.ipc.GateMP').$used) ||
-        (xdc.module('ti.sdo.ipc.SharedRegion').$used) ||
-        (xdc.module('ti.sdo.ipc.ListMP').$used)) {
-        IpcMgr.$logError("One or more of the following modules " +
-            "[Ipc, GateMP, ListMP, SharedRegion] are being used " +
-            "but are not supported on this device.", IpcMgr);
-    }
-}
diff --git a/packages/ti/sdo/ipc/family/f2837x/NameServerBlock.c b/packages/ti/sdo/ipc/family/f2837x/NameServerBlock.c
deleted file mode 100644 (file)
index dcede8f..0000000
+++ /dev/null
@@ -1,431 +0,0 @@
-/*
- * Copyright (c) 2014, 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.
- */
-/*
- *  ======== NameServerBlock.c ========
- */
-
-#include <xdc/std.h>
-#include <string.h>
-#include <stdlib.h>
-
-#include <xdc/runtime/Assert.h>
-#include <xdc/runtime/Error.h>
-#include <xdc/runtime/knl/ISync.h>
-
-#include <ti/sysbios/BIOS.h>
-#include <ti/sysbios/hal/Hwi.h>
-#include <ti/sysbios/knl/Swi.h>
-#include <ti/sysbios/knl/Semaphore.h>
-
-#include <ti/sdo/ipc/family/f2837x/IpcMgr.h>
-
-#include "package/internal/NameServerBlock.xdc.h"
-
-#include <ti/sdo/ipc/_Notify.h>
-#include <ti/sdo/utils/_MultiProc.h>
-#include <ti/sdo/utils/_NameServer.h>
-
-/* Need to use reserved notify events */
-#undef NameServerBlock_notifyEventId
-#define NameServerBlock_notifyEventId \
-        ti_sdo_ipc_family_f2837x_NameServerBlock_notifyEventId + \
-                    (UInt32)((UInt32)Notify_SYSTEMKEY << 16)
-
-
-
-/*
- *************************************************************************
- *                       Instance functions
- *************************************************************************
- */
-Int NameServerBlock_Instance_init(NameServerBlock_Object *obj,
-        UInt16 remoteProcId,
-        const NameServerBlock_Params *params,
-        Error_Block *eb)
-{
-    Int               status;
-    Semaphore_Params  semParams;
-    Semaphore_Handle  semRemoteWait;
-    Semaphore_Handle  semMultiBlock;
-    Swi_Handle        swiHandle;
-    Swi_Params        swiParams;
-
-    /* Assert that a NameServerBlock_Params has been supplied */
-    Assert_isTrue(params != NULL, IpcMgr_A_nullArgument);
-
-    /* Assert that remoteProcId is valid */
-    Assert_isTrue(remoteProcId != MultiProc_self() &&
-                  remoteProcId != MultiProc_INVALIDID,
-                  IpcMgr_A_invParam);
-
-    semRemoteWait = NameServerBlock_Instance_State_semRemoteWait(obj);
-    semMultiBlock = NameServerBlock_Instance_State_semMultiBlock(obj);
-    swiHandle = NameServerBlock_Instance_State_swiObj(obj);
-
-    obj->readRequest = (NameServerBlock_Message *)(params->readAddr);
-    obj->readResponse = (NameServerBlock_Message *)(
-                        (UInt32)params->readAddr +
-                        sizeof(NameServerBlock_Message));
-    obj->writeRequest = (NameServerBlock_Message *)(params->writeAddr);
-    obj->writeResponse = (NameServerBlock_Message *)(
-                         (UInt32)params->writeAddr +
-                         sizeof(NameServerBlock_Message));
-    obj->remoteProcId = remoteProcId;
-
-    /* construct the Semaphore */
-    Semaphore_Params_init(&semParams);
-    Semaphore_construct(Semaphore_struct(semRemoteWait), 0, &semParams);
-
-    /* construct the semaphore */
-    Semaphore_construct(Semaphore_struct(semMultiBlock), 1, &semParams);
-
-    /* swi created with lowest priority and fxn = swiFxn */
-    Swi_Params_init(&swiParams);
-    swiParams.arg0 = (UArg)obj;
-    swiParams.priority = 0;
-    Swi_construct(Swi_struct(swiHandle),
-                 (ti_sysbios_knl_Swi_FuncPtr)NameServerBlock_swiFxn,
-                 &swiParams, eb);
-
-    /* initialize own side of message struct only */
-    obj->writeRequest->request = 0;
-    obj->writeRequest->value = 0;
-    obj->writeRequest->valueLen = 0;
-
-    memset(obj->writeRequest->instanceName, 0,
-               sizeof(obj->writeRequest->instanceName));
-    memset(obj->writeRequest->name, 0,
-               sizeof(obj->writeRequest->name));
-
-    obj->writeResponse->response = 0;
-    obj->writeResponse->requestStatus = 0;
-
-    /* register the call back function and event Id with notify */
-    status = Notify_registerEventSingle(
-                remoteProcId,
-                0,
-                NameServerBlock_notifyEventId,
-                (Notify_FnNotifyCbck)NameServerBlock_cbFxn,
-                (UArg)swiHandle);
-
-    /* if not successful return */
-    if (status < 0) {
-        Error_raise(eb, IpcMgr_E_internal, 0, 0);
-        return (1);
-    }
-
-    /* register the remote driver with NameServer */
-    ti_sdo_utils_NameServer_registerRemoteDriver(
-            NameServerBlock_Handle_upCast(obj), remoteProcId);
-
-    return (0);
-}
-
-/*
- *  ======== NameServerBlock_Instance_finalize ========
- */
-Void NameServerBlock_Instance_finalize(NameServerBlock_Object *obj,
-    Int status)
-{
-    Semaphore_Handle  semRemoteWait;
-    Semaphore_Handle  semMultiBlock;
-    Swi_Handle        swiHandle;
-
-    if (status == 0) {
-        /* unregister remote driver from NameServer module */
-        ti_sdo_utils_NameServer_unregisterRemoteDriver(obj->remoteProcId);
-
-        /* unregister event from Notify module */
-        Notify_unregisterEventSingle(
-                       obj->remoteProcId,
-                       0,
-                       NameServerBlock_notifyEventId);
-    }
-
-    semRemoteWait = NameServerBlock_Instance_State_semRemoteWait(obj);
-    if (semRemoteWait != NULL) {
-        Semaphore_destruct(Semaphore_struct(semRemoteWait));
-    }
-
-    semMultiBlock = NameServerBlock_Instance_State_semMultiBlock(obj);
-    if (semMultiBlock != NULL) {
-        Semaphore_destruct(Semaphore_struct(semMultiBlock));
-    }
-
-    swiHandle = NameServerBlock_Instance_State_swiObj(obj);
-    if (swiHandle != NULL) {
-        Swi_destruct(Swi_struct(swiHandle));
-    }
-}
-
-/*
- *************************************************************************
- *                       Module functions
- *************************************************************************
- */
-
-/*
- *  ======== NameServerBlock_attach ========
- */
-Int NameServerBlock_attach(UInt16 remoteProcId, Ptr sharedAddr)
-{
-    return (NameServerBlock_E_FAIL);
-}
-
-/*
- *  ======== NameServerBlock_cbFxn ========
- */
-Void NameServerBlock_cbFxn(UInt16 procId,
-                                  UInt16 lineId,
-                                  UInt32 eventId,
-                                  UArg arg,
-                                  UInt32 payload)
-{
-    Swi_Handle swiHandle;
-
-    /* Swi_Handle was passed as arg in register */
-    swiHandle = (Swi_Handle)arg;
-
-    /* post the Swi */
-    Swi_post(swiHandle);
-}
-
-/*
- *  ======== NameServerBlock_detach ========
- */
-Int NameServerBlock_detach(UInt16 remoteProcId)
-{
-    return (NameServerBlock_E_FAIL);
-}
-
-/*
- *  ======== NameServerBlock_get ========
- */
-Int NameServerBlock_get(NameServerBlock_Object *obj,
-                        String instanceName,
-                        String name,
-                        Ptr value,
-                        UInt32 *valueLen,
-                        ISync_Handle syncHandle,
-                        Error_Block *eb)
-{
-    Int len;
-    Int retval = NameServer_E_NOTFOUND;
-    Int status;
-    Semaphore_Handle semRemoteWait;
-    Semaphore_Handle semMultiBlock;
-
-    Assert_isTrue(*valueLen <= (NameServerBlock_bufLen * sizeof(Bits32)),
-                  NameServerBlock_A_invalidValueLen);
-    semRemoteWait = NameServerBlock_Instance_State_semRemoteWait(obj);
-    semMultiBlock = NameServerBlock_Instance_State_semMultiBlock(obj);
-
-    /* prevent multiple threads from entering */
-    Semaphore_pend(semMultiBlock, BIOS_WAIT_FOREVER);
-
-    /* this is a request message */
-    obj->writeRequest->request = 1;
-    obj->writeRequest->response = 0;
-    obj->writeRequest->valueLen = *valueLen;
-
-    /* copy the name of instance into shared memory */
-    len = strlen(instanceName);
-
-    Assert_isTrue(len < (NameServerBlock_maxNameLen * sizeof(Bits32)),
-            NameServerBlock_A_invalidNameLen);
-
-    strncpy((Char *)obj->writeRequest->instanceName, instanceName, len + 1);
-
-    /* copy the name of nameserver entry into shared memory */
-    len = strlen(name);
-    Assert_isTrue(len < (NameServerBlock_maxNameLen * sizeof(Bits32)),
-            NameServerBlock_A_invalidNameLen);
-
-    strncpy((Char *)obj->writeRequest->name, name, len + 1);
-
-    /* send the notification to remote processor */
-    status = Notify_sendEvent(
-                       obj->remoteProcId,
-                       0,
-                       NameServerBlock_notifyEventId,
-                       0,
-                       FALSE);
-
-    if (status < 0) {
-        /* undo previous options */
-        obj->writeRequest->request = 0;
-        obj->writeRequest->valueLen = 0;
-
-        /* post the semaphore to make sure it doesn't block */
-        Semaphore_post(semMultiBlock);
-
-        return (retval);
-    }
-
-    /* pend here until we get a notification back from remote processor */
-    status = Semaphore_pend(semRemoteWait, BIOS_WAIT_FOREVER);
-
-    if (status == FALSE) {
-        retval = NameServer_E_OSFAILURE;
-    }
-    else {
-        /* if successful request then copy to value */
-        if (obj->readResponse->requestStatus == TRUE) {
-            /* copy to value */
-            if (obj->readResponse->valueLen <= sizeof(UInt32)) {
-                memcpy(value, &(obj->readResponse->value), sizeof(UInt32));
-            }
-            else {
-                memcpy(value, &(obj->readResponse->valueBuf),
-                       obj->readResponse->valueLen);
-            }
-
-            /* set length to amount of data that was copied */
-            *valueLen = obj->readResponse->valueLen;
-
-            /* set the status */
-            retval = NameServer_S_SUCCESS;
-        }
-
-        /* clear out the request */
-        obj->writeRequest->request = 0;
-    }
-
-    Semaphore_post(semMultiBlock);
-
-    return (retval);
-}
-
-/*
- *  ======== NameServerBlock_sharedMemReq ========
- */
-SizeT NameServerBlock_sharedMemReq(Ptr sharedAddr)
-{
-    /*
-     *  Four Message structs are required.
-     *  One for sending request and one for sending response.
-     *  One for receiving request and one for receiving response.
-     */
-    if (ti_sdo_utils_MultiProc_numProcessors > 1) {
-        return (4 * sizeof(NameServerBlock_Message));
-    }
-
-    return (0);
-}
-
-/*
- *  ======== NameServerBlock_swiFxn ========
- */
-Void NameServerBlock_swiFxn(UArg arg)
-{
-    UInt32 valueLen;
-    UInt hwiKey;
-    NameServer_Handle handle;
-    NameServerBlock_Object *obj;
-    String instanceName;
-    String name;
-    Int status;
-
-    obj = (NameServerBlock_Object *)arg;
-
-    /* In case of request */
-    if (obj->readRequest->request == TRUE) {
-        /* Strings are in the correct format already */
-        instanceName = (String)obj->readRequest->instanceName;
-        name = (String)obj->readRequest->name;
-
-        /* get the NameServer handle */
-        handle = NameServer_getHandle((String)instanceName);
-        valueLen = obj->readRequest->valueLen;
-
-        if (handle != NULL) {
-            /* Search for the NameServer entry */
-            if (valueLen <= sizeof(UInt32)) {
-                status = NameServer_getLocalUInt32(handle,
-                    (String)name,
-                    &obj->writeResponse->value);
-            }
-            else {
-                status = NameServer_getLocal(handle,
-                    (String)name,
-                    &obj->writeResponse->valueBuf, &valueLen);
-            }
-        }
-        else {
-            status = NameServer_E_FAIL;
-        }
-
-        /*
-         *  If an entry was found, set requestStatus to TRUE
-         *  and valueLen to the size of data that was copied.
-         */
-        if (status == NameServer_S_SUCCESS) {
-            obj->writeResponse->requestStatus = TRUE;
-            obj->writeResponse->valueLen = valueLen;
-        }
-        else {
-            obj->writeResponse->requestStatus = FALSE;
-            obj->writeResponse->valueLen = 0;
-        }
-
-        /* Send a response back */
-        obj->writeResponse->response = TRUE;
-
-        /*
-         *  The Notify line must be active at this point for this processor to
-         *  have received a request
-         */
-        status = Notify_sendEvent(obj->remoteProcId,
-                0, NameServerBlock_notifyEventId, 0, FALSE);
-
-        /* The NS query could fail, but the reply should never fail */
-        Assert_isTrue(status >= 0, IpcMgr_A_internal);
-    }
-
-    /* in case of response */
-    if (obj->readResponse->response == TRUE &&
-        obj->writeRequest->response == FALSE) {
-
-        /* disable interrupts */
-        hwiKey = Hwi_disable();
-
-        /* acknowledge receive of response atomically with posting semaphore */
-        obj->writeRequest->response = TRUE;
-
-        /* post the Semaphore */
-        Semaphore_post(
-            NameServerBlock_Instance_State_semRemoteWait(obj));
-
-        /* restore interrupts */
-        Hwi_restore(hwiKey);
-    }
-}
diff --git a/packages/ti/sdo/ipc/family/f2837x/NameServerBlock.xdc b/packages/ti/sdo/ipc/family/f2837x/NameServerBlock.xdc
deleted file mode 100644 (file)
index 1774393..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Copyright (c) 2014, 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.
- */
-/*
- *  ======== NameServerBlock.xdc ========
- */
-
-import xdc.runtime.Error;
-import xdc.runtime.Assert;
-import ti.sysbios.knl.Swi;
-import ti.sysbios.knl.Semaphore;
-import ti.sdo.utils.INameServerRemote;
-
-/*! @_nodoc
- *  ======== NameServerBlock ========
- *  Used by NameServer to communicate to remote processors.
- *
- *  This module is used by {@link ti.sdo.utils.NameServer} to communicate
- *  to remote processors using {@link ti.sdo.ipc.Notify} and shared memory.
- *  There needs to be one instance between each two cores in the system.
- *  Interrupts must be enabled before using this module.  Currently
- *  supports transferring up to 44-bytes between two cores.
- */
-@InstanceInitError
-@InstanceFinalize
-
-module NameServerBlock inherits INameServerRemote
-{
-    /*! maximum number of characters for name */
-    const UInt maxNameLen = 16;
-
-    /* structure in shared memory for retrieving value */
-    struct Message {
-        Bits32  request;            /* if this is a request set to 1    */
-        Bits32  response;           /* if this is a response set to 1   */
-        Bits32  requestStatus;      /* if request sucessful set to 1    */
-        Bits32  value;              /* holds value if len <= 4          */
-        Bits32  valueLen;           /* len of value                     */
-        Bits32  instanceName[8];    /* name of NameServer instance      */
-        Bits32  name[8];            /* name of NameServer entry         */
-        Bits32  valueBuf[bufLen];   /* supports up to 44-byte value     */
-    };
-
-    /*!
-     *  Assert raised when length of value larger then 44 bytes.
-     */
-    config xdc.runtime.Assert.Id A_invalidValueLen =
-        {msg: "A_invalidValueLen: Invalid valueLen (too large)"};
-
-    /*!
-     *  Assert raised when length of name is too large.
-     */
-    config xdc.runtime.Assert.Id A_invalidNameLen =
-        {msg: "A_invalidNameLen: Invalid name (too long)"};
-
-    /*! @_nodoc
-     *  ======== notifyEventId ========
-     *  The Notify event ID.
-     */
-    config UInt32 notifyEventId = 4;
-
-    /*! @_nodoc
-     *  ======== sharedMemReqMeta ========
-     *  Amount of shared memory required for creation of each instance
-     *
-     *  @param(params)      Pointer to the parameters that will be used in
-     *                      create.
-     *
-     *  @a(returns)         Size of shared memory in MAUs on local processor.
-     */
-    metaonly SizeT sharedMemReqMeta(const Params *params);
-
-instance:
-
-    /*!
-     *  ======== readAddr ========
-     *  Read address of the shared memory
-     *
-     *  The address must be specified in the local core's memory space.
-     *  It must point to the same physical address as the writeAddr for
-     *  the remote processor.
-     */
-    config Ptr readAddr = null;
-
-    /*!
-     *  ======== writeAddr ========
-     *  Write address of the shared memory
-     *
-     *  The address must be specified in the local core's memory space.
-     *  It must point to the same physical address as the readAddr for
-     *  the remote processor.
-     */
-    config Ptr writeAddr = null;
-
-internal:
-
-    /*! used by Message struct for length of valueBuf */
-    const UInt bufLen = 11;
-
-    /*!
-     *  ======== cbFxn ========
-     *  The call back function registered with Notify.
-     *
-     *  This function is registered with Notify as a call back function
-     *  when the specified event is triggered.  This function simply posts
-     *  a Swi which will process the event.
-     *
-     *  @param(procId)          Source proc id
-     *  @param(lineId)          Interrupt line id
-     *  @param(eventId)         the Notify event id.
-     *  @param(arg)             the argument for the function.
-     *  @param(payload)         a 32-bit payload value.
-     */
-    Void cbFxn(UInt16 procId, UInt16 lineId, UInt32 eventId, UArg arg,
-               UInt32 payload);
-
-    /*!
-     *  ======== swiFxn ========
-     *  The swi function that will be executed during the call back.
-     *
-     *  @param(arg)     argument to swi function
-     */
-    Void swiFxn(UArg arg);
-
-    /* instance state */
-    struct Instance_State {
-        Message           *readRequest;
-        Message           *readResponse;
-        Message           *writeRequest;  /* Ptrs to messages in shared mem */
-        Message           *writeResponse; /* Ptrs to messages in shared mem */
-        UInt16            regionId;       /* SharedRegion ID                */
-        Semaphore.Object  semRemoteWait;  /* sem to wait on remote proc     */
-        Semaphore.Object  semMultiBlock;  /* sem to block multiple threads  */
-        Swi.Object        swiObj;         /* instance swi object            */
-        UInt16            remoteProcId;   /* remote MultiProc id            */
-    };
-}
diff --git a/packages/ti/sdo/ipc/family/f2837x/NameServerBlock.xs b/packages/ti/sdo/ipc/family/f2837x/NameServerBlock.xs
deleted file mode 100644 (file)
index 924d795..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 2014, 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.
- */
-/*
- *  ======== NameServerBlock.xs ========
- */
-
-var NameServerBlock = null;
-var NameServer      = null;
-var MultiProc       = null;
-var Notify          = null;
-var Semaphore       = null;
-var Swi             = null;
-
-/*
- *  ======== module$use ========
- */
-function module$use()
-{
-    NameServerBlock = this;
-    NameServer      = xdc.useModule("ti.sdo.utils.NameServer");
-    MultiProc       = xdc.useModule("ti.sdo.utils.MultiProc");
-    Notify          = xdc.useModule("ti.sdo.ipc.Notify");
-    Semaphore       = xdc.useModule("ti.sysbios.knl.Semaphore");
-    Swi             = xdc.useModule("ti.sysbios.knl.Swi");
-}
-
-/*
- *  ======== module$validate ========
- */
-function module$validate()
-{
-    if (Notify.numEvents <= NameServerBlock.notifyEventId) {
-        NameServerBlock.$logFatal(
-            "NameServerBlock.notifyEventId (" +
-            NameServerBlock.notifyEventId +
-            ") is too big: Notify.numEvents = " + Notify.numEvents,
-            NameServerBlock);
-    }
-}
-
-/*
- *  ======== sharedMemReqMeta ========
- */
-function sharedMemReqMeta(params)
-{
-    /*
-     *  Four Message structs are required.
-     *  One for sending request and one for sending response.
-     *  One for receiving request and one for receiving response.
-     */
-    if (MultiProc.numProcessors > 1) {
-        return (4 * NameServerBlock.Message.$sizeof());
-    }
-
-    return (0);
-}
diff --git a/packages/ti/sdo/ipc/family/f2837x/NotifyDriverCirc.c b/packages/ti/sdo/ipc/family/f2837x/NotifyDriverCirc.c
deleted file mode 100644 (file)
index d9d35b4..0000000
+++ /dev/null
@@ -1,439 +0,0 @@
-/*
- * Copyright (c) 2014, 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.
- */
-/*
- *  ======== NotifyDriverCirc.c ========
- */
-
-#include <xdc/std.h>
-
-#include <xdc/runtime/Assert.h>
-#include <xdc/runtime/Timestamp.h>
-
-#include <ti/sysbios/family/c28/Hwi.h>
-
-#include <ti/sdo/ipc/family/f2837x/IpcMgr.h>
-#include <ti/sdo/ipc/interfaces/INotifyDriver.h>
-
-#include "package/internal/NotifyDriverCirc.xdc.h"
-
-#include <ti/sdo/ipc/_Notify.h>
-#include <ti/sdo/utils/_MultiProc.h>
-
-/* Bit mask operations */
-#define SET_BIT(num,pos)            ((num) |= (1u << (pos)))
-#define CLEAR_BIT(num,pos)          ((num) &= ~(1u << (pos)))
-#define TEST_BIT(num,pos)           ((num) & (1u << (pos)))
-
-#define IPCACK  (0x50000)
-#define IPCSTS  (IPCACK + 0x2)
-#define IPCSET  (IPCACK + 0x4)
-#define IPCCLR  (IPCACK + 0x6)
-#define IPCFLG  (IPCACK + 0x8)
-
-
-/*
- **************************************************************
- *                       Instance functions
- **************************************************************
- */
-
-/*
- *  ======== NotifyDriverCirc_Instance_init ========
- */
-Void NotifyDriverCirc_Instance_init(NotifyDriverCirc_Object *obj,
-    const NotifyDriverCirc_Params *params)
-{
-    SizeT  ctrlSize, circBufSize;
-    Hwi_Params  hwiParams;
-
-    /*
-     *  This code assumes that the device's C28 and M3 MultiProc Ids
-     *  are next to each other (e.g. n and n + 1) and that the first
-     *  one is even (e.g. n is even).
-     */
-    /* set the remote processor's id */
-    if (MultiProc_self() & 1) {
-        /* I'm odd */
-        obj->remoteProcId = MultiProc_self() - 1;
-    }
-    else {
-        /* I'm even */
-        obj->remoteProcId = MultiProc_self() + 1;
-    }
-
-    /* calculate the circular buffer size one-way */
-    circBufSize = sizeof(NotifyDriverCirc_EventEntry) *
-                  NotifyDriverCirc_numMsgs;
-
-    /* calculate the control size one-way */
-    ctrlSize = sizeof(Bits32);
-
-    /*
-     *  Init put/get buffer and index pointers.
-     */
-    obj->putBuffer = params->writeAddr;
-
-    obj->putWriteIndex = (Bits32 *)((UInt32)obj->putBuffer + circBufSize);
-
-    obj->getReadIndex = (Bits32 *)((UInt32)obj->putWriteIndex + ctrlSize);
-
-    obj->getBuffer = params->readAddr;
-
-    obj->getWriteIndex = (Bits32 *)((UInt32)obj->getBuffer + circBufSize);
-
-    obj->putReadIndex = (Bits32 *)((UInt32)obj->getWriteIndex + ctrlSize);
-
-    /* init the putWrite and getRead Index to 0 */
-    obj->putWriteIndex[0] = 0;
-    obj->getReadIndex[0] = 0;
-
-    /* clear interrupt */
-    NotifyDriverCirc_intClear();
-
-    /* plugged interrupt */
-    Hwi_Params_init(&hwiParams);
-    hwiParams.arg = (UArg)obj;
-    Hwi_create(NotifyDriverCirc_localIntId,
-              (Hwi_FuncPtr)NotifyDriverCirc_isr,
-              &hwiParams,
-              NULL);
-
-    /* Enable the interrupt */
-    Hwi_enableInterrupt(NotifyDriverCirc_localIntId);
-}
-
-/*
- *  ======== NotifyDriverCirc_Instance_finalize ========
- */
-Void NotifyDriverCirc_Instance_finalize(NotifyDriverCirc_Object *obj)
-{
-    Hwi_Handle  hwiHandle;
-
-    /* Disable the interrupt source */
-    NotifyDriverCirc_intDisable();
-
-    /* Delete the Hwi */
-    hwiHandle = Hwi_getHandle(NotifyDriverCirc_localIntId);
-    Hwi_delete(&hwiHandle);
-}
-
-/*
- *  ======== NotifyDriverCirc_registerEvent ========
- */
-Void NotifyDriverCirc_registerEvent(NotifyDriverCirc_Object *obj,
-                                    UInt32 eventId)
-{
-    UInt hwiKey;
-
-    /*
-     *  Disable interrupt line to ensure that isr doesn't
-     *  preempt registerEvent and encounter corrupt state
-     */
-    hwiKey = Hwi_disable();
-
-    /* Set the 'registered' bit */
-    SET_BIT(obj->evtRegMask, eventId);
-
-    /* Restore the interrupt line */
-    Hwi_restore(hwiKey);
-}
-
-/*
- *  ======== NotifyDriverCirc_unregisterEvent ========
- */
-Void NotifyDriverCirc_unregisterEvent(NotifyDriverCirc_Object *obj,
-                                      UInt32 eventId)
-{
-    UInt hwiKey;
-
-    /*
-     *  Disable interrupt line to ensure that isr doesn't
-     *  preempt registerEvent and encounter corrupt state
-     */
-    hwiKey = Hwi_disable();
-
-    /* Clear the registered bit */
-    CLEAR_BIT(obj->evtRegMask, eventId);
-
-    /* Restore the interrupt line */
-    Hwi_restore(hwiKey);
-}
-
-/*
- *  ======== NotifyDriverCirc_sendEvent ========
- */
-Int NotifyDriverCirc_sendEvent(NotifyDriverCirc_Object *obj,
-                               UInt32 eventId,
-                               UInt32 payload,
-                               Bool  waitClear)
-{
-    Bool loop = FALSE;
-    UInt hwiKey;
-    UInt32 writeIndex, readIndex;
-    NotifyDriverCirc_EventEntry *eventEntry;
-
-    /* Retrieve the get Index. */
-    readIndex = obj->putReadIndex[0];
-
-    do {
-        /* disable interrupts */
-        hwiKey = Hwi_disable();
-
-        /* retrieve the put index */
-        writeIndex = obj->putWriteIndex[0];
-
-        /* if slot available 'break' out of loop */
-        if (((writeIndex + 1) & NotifyDriverCirc_maxIndex) != readIndex) {
-            break;
-        }
-
-        /* restore interrupts */
-        Hwi_restore(hwiKey);
-
-        /* check to make sure code has looped */
-        if (loop && !waitClear) {
-            /* if no slot available and waitClear is 'FALSE' */
-            return (Notify_E_FAIL);
-        }
-
-        /* re-read the get count */
-        readIndex = obj->putReadIndex[0];
-
-        /* convey that the code has looped around */
-        loop = TRUE;
-
-    } while (1);
-
-    /* interrupts are disabled at this point */
-
-    /* calculate the next available entry */
-    eventEntry = (NotifyDriverCirc_EventEntry *)((UInt32)obj->putBuffer +
-                 (writeIndex * sizeof(NotifyDriverCirc_EventEntry)));
-
-    /* Set the eventId field and payload for the entry */
-    eventEntry->eventid = eventId;
-    eventEntry->payload = payload;
-
-    /* update the putWriteIndex */
-    obj->putWriteIndex[0] = (writeIndex + 1) & NotifyDriverCirc_maxIndex;
-
-    /* restore interrupts */
-    Hwi_restore(hwiKey);
-
-    /* Send an interrupt to the Remote Processor */
-    NotifyDriverCirc_intSend();
-
-    return (Notify_S_SUCCESS);
-}
-
-/*
- *  ======== NotifyDriverCirc_disable ========
- */
-Void NotifyDriverCirc_disable(NotifyDriverCirc_Object *obj)
-{
-    /* Disable the incoming interrupt line */
-    NotifyDriverCirc_intDisable();
-}
-
-/*
- *  ======== NotifyDriverCirc_enable ========
- */
-Void NotifyDriverCirc_enable(NotifyDriverCirc_Object *obj)
-{
-    /* Enable the incoming interrupt line */
-    NotifyDriverCirc_intEnable();
-}
-
-/*
- *  ======== NotifyDriverCirc_disableEvent ========
- *  This function disbales all events.
- */
-Void NotifyDriverCirc_disableEvent(NotifyDriverCirc_Object *obj,
-                                   UInt32 eventId)
-{
-    /* NotifyDriverCirc_disableEvent not supported by this driver */
-    Assert_isTrue(FALSE, NotifyDriverCirc_A_notSupported);
-}
-
-/*
- *  ======== NotifyDriverCirc_enableEvent ========
- *  This function enables all events.
- */
-Void NotifyDriverCirc_enableEvent(NotifyDriverCirc_Object *obj,
-                                  UInt32 eventId)
-{
-    /* NotifyDriverCirc_enableEvent not supported by this driver */
-    Assert_isTrue(FALSE, NotifyDriverCirc_A_notSupported);
-}
-
-/*
- *************************************************************************
- *                       Module functions
- *************************************************************************
- */
-
-/*
- *  ======== NotifyDriverCirc_sharedMemReq ========
- */
-SizeT NotifyDriverCirc_sharedMemReq(const NotifyDriverCirc_Params *params)
-{
-    SizeT memReq;
-
-    /* Ensure that params is non-NULL */
-    Assert_isTrue(params != NULL, IpcMgr_A_internal);
-
-    /*
-     *  Amount of shared memory:
-     *  1 putBuffer with numMsgs +
-     *  1 putWriteIndex ptr      +
-     *  1 putReadIndex ptr
-     */
-    memReq =
-        (sizeof(NotifyDriverCirc_EventEntry) * NotifyDriverCirc_numMsgs)
-        + (2 * sizeof(Bits32));
-
-    return (memReq);
-}
-
-/*
- *************************************************************************
- *                       Internal functions
- *************************************************************************
- */
-/*
- *  ======== NotifyDriverCirc_intEnable ========
- *  Enable remote processor interrupt
- */
-Void NotifyDriverCirc_intEnable()
-{
-    Hwi_enableInterrupt(NotifyDriverCirc_localIntId);
-}
-
-/*
- *  ======== NotifyDriverCirc_intDisable ========
- *  Disables remote processor interrupt
- */
-Void NotifyDriverCirc_intDisable()
-{
-    Hwi_disableInterrupt(NotifyDriverCirc_localIntId);
-}
-
-/*
- *  ======== NotifyDriverCirc_intSend ========
- *  Send interrupt to the remote processor
- */
-Void NotifyDriverCirc_intSend()
-{
-    volatile UInt16 *set = (volatile UInt16 *)IPCSET;
-    volatile UInt32 *clear  = (volatile UInt32 *)IPCCLR;
-    UInt hwiKey;
-
-    /* Make sure multiple threads are not hitting this at the same time */
-    hwiKey = Hwi_disable();
-
-    /* Make sure we get a leading edge... */
-    *clear  = 1 << IpcMgr_ipcSetFlag;
-
-    /* Signal the other side */
-    *set = 1 << IpcMgr_ipcSetFlag;
-
-    /* Restore the interrupt line */
-    Hwi_restore(hwiKey);
-}
-
-/*
- *  ======== NotifyDriverCirc_intClear ========
- *  Clear interrupt
- */
-UInt NotifyDriverCirc_intClear()
-{
-    volatile UInt16 *ack = (volatile UInt16 *)IPCACK;
-
-    *ack = 1 << IpcMgr_ipcSetFlag;
-
-    return (0);
-}
-
-/*
- *  ======== NotifyDriverCirc_isr ========
- */
-Void NotifyDriverCirc_isr(UArg arg)
-{
-    NotifyDriverCirc_EventEntry *eventEntry;
-    NotifyDriverCirc_Object     *obj;
-    UInt32 writeIndex, readIndex;
-
-    obj = (NotifyDriverCirc_Object *)arg;
-
-    /* Make sure the NotifyDriverCirc_Object is not NULL */
-    Assert_isTrue(obj != NULL, IpcMgr_A_internal);
-
-    /* get the writeIndex and readIndex */
-    writeIndex = obj->getWriteIndex[0];
-    readIndex = obj->getReadIndex[0];
-
-    /* get the event */
-    eventEntry = &(obj->getBuffer[readIndex]);
-
-    /* if writeIndex != readIndex then there is an event to process */
-    while (writeIndex != readIndex) {
-        /*
-         *  Check to make sure event is registered. If the event
-         *  is not registered, the event is not processed and is lost.
-         */
-        if (TEST_BIT(obj->evtRegMask, eventEntry->eventid)) {
-            /* Execute the callback function */
-            ti_sdo_ipc_Notify_exec(obj->notifyHandle,
-                                   eventEntry->eventid,
-                                   eventEntry->payload);
-        }
-
-        /* update the readIndex. */
-        readIndex = ((readIndex + 1) & NotifyDriverCirc_maxIndex);
-
-        /* set the getReadIndex */
-        obj->getReadIndex[0] = readIndex;
-
-        /* get the next event */
-        eventEntry = &(obj->getBuffer[readIndex]);
-    }
-}
-
-/*
- *  ======== NotifyDriverCirc_setNotifyHandle ========
- */
-Void NotifyDriverCirc_setNotifyHandle(NotifyDriverCirc_Object *obj,
-                                      Ptr notifyHandle)
-{
-    /* Internally used, so no Assert needed */
-    obj->notifyHandle = (ti_sdo_ipc_Notify_Handle)notifyHandle;
-}
diff --git a/packages/ti/sdo/ipc/family/f2837x/NotifyDriverCirc.xdc b/packages/ti/sdo/ipc/family/f2837x/NotifyDriverCirc.xdc
deleted file mode 100644 (file)
index a9997a3..0000000
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- * Copyright (c) 2014, 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.
- */
-/*
- *  ======== NotifyDriverCirc.xdc ================
- */
-
-import ti.sdo.utils.MultiProc;
-import ti.sdo.ipc.interfaces.INotifyDriver;
-import ti.sdo.ipc.notifyDrivers.IInterrupt;
-import ti.sdo.ipc.Notify;
-
-import xdc.rov.ViewInfo;
-
-import xdc.runtime.Assert;
-
-/*!
- *  @_nodoc
- *  ======== NotifyDriverCirc ========
- *  Shared memory driver using circular buffer for F2837x devices.
- *
- *  This is a {@link ti.sdo.ipc.Notify} driver that utilizes shared memory
- *  and inter-processor hardware interrupts for notification between cores.
- *
- *  This driver is designed to work with only the F2837x family of devices.
- *  This module needs to be plugged with an appropriate module that implements
- *  the {@link ti.sdo.ipc.notifyDrivers.IInterrupt} interface for a given
- *  device.
- *
- *  The driver utilizes shared memory in the manner indicated by the following
- *  diagram.
- *
- *  @p(code)
- *
- *  NOTE: Processor '0' corresponds to the master C28 and '1' corresponds to
- *  the slave C28
- *
- * sharedAddr -> --------------------------- bytes
- *               |  eventEntry0  (0)       | 8
- *               |  eventEntry1  (0)       | 8
- *               |  ...                    |
- *               |  eventEntry15 (0)       | 8
- *               |                         |
- *               |-------------------------|
- *               |  eventEntry16 (0)       | 8
- *               |  eventEntry17 (0)       | 8
- *               |  ...                    |
- *               |  eventEntry31 (0)       | 8
- *               |                         |
- *               |-------------------------|
- *               |  putWriteIndex (0)      | 4
- *               |                         |
- *               |-------------------------|
- *               |  getReadIndex (0)       | 4
- *               |                         |
- *               |-------------------------|
- *               |  eventEntry0  (1)       | 8
- *               |  eventEntry1  (1)       | 8
- *               |  ...                    |
- *               |  eventEntry15 (1)       | 8
- *               |                         |
- *               |-------------------------|
- *               |  eventEntry16 (1)       | 8
- *               |  eventEntry17 (1)       | 8
- *               |  ...                    |
- *               |  eventEntry31 (1)       | 8
- *               |                         |
- *               |-------------------------|
- *               |  putWriteIndex (1)      | 4
- *               |                         |
- *               |-------------------------|
- *               |  getReadIndex (1)       | 4
- *               |                         |
- *               |-------------------------|
- *
- *
- *  Legend:
- *  (0), (1) : Owned by the respective processor.
- *
- *  @p
- */
-
-@InstanceFinalize
-
-module NotifyDriverCirc inherits ti.sdo.ipc.interfaces.INotifyDriver
-{
-    /*! @_nodoc */
-    metaonly struct BasicView {
-        String      remoteProcName;
-        UInt        bufSize;
-        UInt        spinCount;
-        UInt        maxSpinWait;
-    }
-
-    /*! @_nodoc */
-    metaonly struct EventDataView {
-        UInt        index;
-        String      buffer;
-        Ptr         addr;
-        UInt        eventId;
-        Ptr         payload;
-    }
-
-    /*!
-     *  ======== rovViewInfo ========
-     */
-    @Facet
-    metaonly config ViewInfo.Instance rovViewInfo =
-        ViewInfo.create({
-            viewMap: [
-                ['Basic',
-                    {
-                        type: ViewInfo.INSTANCE,
-                        viewInitFxn: 'viewInitBasic',
-                        structName: 'BasicView'
-                    }
-                ],
-                ['Events',
-                    {
-                        type: ViewInfo.INSTANCE_DATA,
-                        viewInitFxn: 'viewInitData',
-                        structName: 'EventDataView'
-                    }
-                ],
-            ]
-        });
-
-    /*!
-     *  Assert raised when trying to use Notify_[enable/disable]Event with
-     *  NotifyDriverCirc
-     */
-    config Assert.Id A_notSupported =
-        {msg: "A_notSupported: [enable/disable]Event not supported by NotifyDriverCirc"};
-
-    /*! @_nodoc
-     *  ======== numMsgs ========
-     *  The number of messages or slots in the circular buffer
-     *
-     *  This is used to determine the size of the put and get buffers.
-     *  Each eventEntry is two 32bits wide, therefore the total size
-     *  of each circular buffer is [numMsgs * sizeof(eventEntry)].
-     */
-    config UInt numMsgs = 16;
-
-    /*!
-     *  ======== sharedMemReq ========
-     *  Amount of shared memory required for creation of each instance
-     *
-     *  @param(params)      Pointer to parameters that will be used in the
-     *                      create
-     *
-     *  @a(returns)         Number of MAUs in shared memory needed to create
-     *                      the instance.
-     */
-    SizeT sharedMemReq(const Params *params);
-
-    /*! @_nodoc
-     *  ======== sharedMemReqMeta ========
-     *  Amount of shared memory required
-     *
-     *  @param(params)      Pointer to the parameters that will be used in
-     *                      create.
-     *
-     *  @a(returns)         Size of shared memory in MAUs on local processor.
-     */
-    metaonly SizeT sharedMemReqMeta(const Params *params);
-
-instance:
-
-    /*!
-     *  ======== readAddr ========
-     *  Address in shared memory where buffer is placed
-     *
-     *  Use {@link #sharedMemReq} to determine the amount of shared memory
-     *  required.
-     */
-    config Ptr readAddr = null;
-
-    /*!
-     *  ======== writeAddr ========
-     *  Address in shared memory where buffer is placed
-     *
-     *  Use {@link #sharedMemReq} to determine the amount of shared memory
-     *  required.
-     */
-    config Ptr writeAddr = null;
-
-internal:
-
-    /*!
-     *  ======== localIntId ========
-     *  Local interrupt ID for interrupt line
-     *
-     *  For devices that support multiple inter-processor interrupt lines, this
-     *  configuration parameter allows selecting a specific line to use for
-     *  receiving an interrupt.  The value specified here corresponds to the
-     *  incoming interrupt line on the local processor.
-     */
-    config UInt localIntId;
-
-    /*!
-     *  ======== remoteIntId ========
-     *  Remote interrupt ID for interrupt line
-     *
-     *  For devices that support multiple inter-processor interrupt lines, this
-     *  configuration parameter allows selecting a specific line to use for
-     *  receiving an interrupt.  The value specified here corresponds to the
-     *  incoming interrupt line on the remote processor.
-     */
-    config UInt remoteIntId;
-
-    /*! The max index set to (numMsgs - 1) */
-    config UInt maxIndex;
-
-    /*!
-     *  The modulo index value. Set to (numMsgs / 4).
-     *  Used in the isr for doing cache_wb of readIndex.
-     */
-    config UInt modIndex;
-
-    /*!
-     *  enable IPC interrupt
-     */
-    Void intEnable();
-
-    /*!
-     *  disable IPC interrupt
-     */
-    Void intDisable();
-
-    /*!
-     *  trigger IPC interrupt
-     */
-    Void intSend();
-
-    /*!
-     *  clear IPC interrupt
-     */
-    UInt intClear();
-
-    /*!
-     *  executes the callback functions according to event priority
-     */
-    Void isr(UArg arg);
-
-    /*!
-     *  Structure for each event. This struct is placed in shared memory.
-     */
-    struct EventEntry {
-        volatile Bits32 eventid;
-        volatile Bits32 payload;
-    }
-
-    /*! Instance state structure */
-    struct Instance_State {
-        EventEntry      *putBuffer;     /* buffer used to put events        */
-        Bits32          *putReadIndex;  /* ptr to readIndex for put buffer  */
-        Bits32          *putWriteIndex; /* ptr to writeIndex for put buffer */
-        EventEntry      *getBuffer;     /* buffer used to get events        */
-        Bits32          *getReadIndex;  /* ptr to readIndex for get buffer  */
-        Bits32          *getWriteIndex; /* ptr to writeIndex for put buffer */
-        Bits32          evtRegMask;     /* local event register mask        */
-        Notify.Handle   notifyHandle;   /* Handle to front-end object       */
-        UInt16          remoteProcId;   /* Remote MultiProc id              */
-    }
-}
diff --git a/packages/ti/sdo/ipc/family/f2837x/NotifyDriverCirc.xs b/packages/ti/sdo/ipc/family/f2837x/NotifyDriverCirc.xs
deleted file mode 100644 (file)
index 5cd7f5f..0000000
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * Copyright (c) 2014, 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.
- */
-/*
- *  ======== NotifyDriverCirc.xs ================
- */
-
-var NotifyDriverCirc = null;
-var IpcMgr           = null;
-var MultiProc        = null;
-var Notify           = null;
-var Hwi              = null;
-
-var IPC = [ 132, 133, 134, 135 ];
-
-/*
- *  ======== module$use ========
- */
-function module$use()
-{
-    NotifyDriverCirc = this;
-    IpcMgr           = xdc.useModule("ti.sdo.ipc.family.f2837x.IpcMgr");
-    MultiProc        = xdc.useModule("ti.sdo.utils.MultiProc");
-    Notify           = xdc.useModule("ti.sdo.ipc.Notify");
-    Hwi              = xdc.useModule("ti.sysbios.hal.Hwi");
-}
-
-/*
- *  ======== module$static$init ========
- */
-function module$static$init(mod, params)
-{
-    NotifyDriverCirc.maxIndex = NotifyDriverCirc.numMsgs - 1;
-    NotifyDriverCirc.modIndex = NotifyDriverCirc.numMsgs / 4;
-
-    /* determine the local and remote interrupt id */
-    NotifyDriverCirc.localIntId = IPC[IpcMgr.ipcSetFlag];
-    NotifyDriverCirc.remoteIntId = IPC[IpcMgr.ipcSetFlag];
-}
-
-/*
- *  ======== sharedMemReqMeta ========
- */
-function sharedMemReqMeta(params)
-{
-    /*
-     *  Amount of shared memory:
-     *  1 putBuffer with numMsgs +
-     *  1 putWriteIndex ptr      +
-     *  1 getReadIndex ptr
-     */
-    memReq =
-        (NotifyDriverCirc.EventEntry.$sizeof() * NotifyDriverCirc.numMsgs) +
-        (2 * Program.build.target.stdTypes['t_Int32'].size);
-
-    return (memReq);
-}
-
-/*
- *************************************************************************
- *                       ROV View functions
- *************************************************************************
- */
-
-/*
- *  ======== viewInitBasic ========
- */
-function viewInitBasic(view, obj)
-{
-    var MultiProc = xdc.useModule('ti.sdo.utils.MultiProc');
-    var modCfg =
-        Program.getModuleConfig('ti.sdo.ipc.family.f2837x.NotifyDriverCirc');
-
-    /* view.remoteProcName */
-    try {
-        view.remoteProcName = MultiProc.getName$view(obj.remoteProcId);
-    }
-    catch(e) {
-        Program.displayError(view, 'remoteProcName',
-                             "Problem retrieving proc name: " + e);
-    }
-
-    /* view obj information */
-    view.bufSize      = modCfg.numMsgs;
-}
-
-/*
- *  ======== getEventData ========
- *  Helper function for use within viewInitData
- */
-function getEventData(view, obj, bufferPtr, putIndex, getIndex)
-{
-    var NotifyDriverCirc =
-        xdc.useModule('ti.sdo.ipc.family.f2837x.NotifyDriverCirc');
-    var modCfg =
-        Program.getModuleConfig('ti.sdo.ipc.family.f2837x.NotifyDriverCirc');
-
-    if (bufferPtr == obj.putBuffer) {
-        var bufferName = "put";
-    }
-    else {
-        var bufferName = "get";
-    }
-
-    try {
-        var putBuffer = Program.fetchArray(obj.putBuffer$fetchDesc,
-                                           bufferPtr,
-                                           modCfg.numMsgs);
-    }
-    catch(e) {
-        throw (new Error("Error fetching putBuffer struct from shared memory"));
-    }
-
-    var i = getIndex;
-
-    while (i != putIndex) {
-        /* The event is registered */
-        var elem = Program.newViewStruct(
-                'ti.sdo.ipc.family.f2837x.NotifyDriverCirc',
-                'Events');
-
-        elem.index = i;
-        elem.buffer = bufferName;
-        elem.addr = utils.toHex(putBuffer[i].$addr);
-        elem.eventId = putBuffer[i].eventid;
-        elem.payload = utils.toHex(putBuffer[i].payload);
-
-        /* Create a new row in the instance data view */
-        view.elements.$add(elem);
-
-        i++;
-    }
-}
-
-/*
- *  ======== viewInitData ========
- *  Instance data view.
- */
-function viewInitData(view, obj)
-{
-    var Program         = xdc.useModule('xdc.rov.Program');
-    var ScalarStructs   = xdc.useModule('xdc.rov.support.ScalarStructs');
-    var MultiProc = xdc.useModule('ti.sdo.utils.MultiProc');
-
-    try {
-        var notifyObj = Program.scanHandleView('ti.sdo.ipc.Notify',
-            obj.notifyHandle, 'Basic');
-    }
-    catch (e) {
-        throw (new Error("Error fetching Notify instance view"));
-    }
-
-    /* Display the instance label in the tree */
-    view.label = "remoteProcId = " + obj.remoteProcId + " lineId = " +
-        notifyObj.lineId;
-
-    /* Fetch put/get index's */
-    try {
-        var putWriteIndex = Program.fetchStruct(ScalarStructs.S_Bits32$fetchDesc,
-                                                obj.putWriteIndex);
-    }
-    catch(e) {
-        throw (new Error("Error fetching putWriteIndex " +
-                         "struct from shared memory"));
-    }
-
-    try {
-        var putReadIndex = Program.fetchStruct(ScalarStructs.S_Bits32$fetchDesc,
-                                               obj.putReadIndex);
-    }
-    catch(e) {
-        throw (new Error("Error fetching putReadIndex " +
-                         "struct from shared memory"));
-    }
-
-    try {
-        var getWriteIndex = Program.fetchStruct(ScalarStructs.S_Bits32$fetchDesc,
-                                                obj.getWriteIndex);
-    }
-    catch(e) {
-        throw (new Error("Error fetching getWriteIndex " +
-                         "struct from shared memory"));
-    }
-
-    try {
-        var getReadIndex = Program.fetchStruct(ScalarStructs.S_Bits32$fetchDesc,
-                                               obj.getReadIndex);
-    }
-    catch(e) {
-        throw (new Error("Error fetching getReadIndex " +
-                         "struct from shared memory"));
-    }
-
-    /* Get event data for the put buffer */
-    getEventData(view, obj, obj.putBuffer, putWriteIndex.elem,
-                 putReadIndex.elem);
-
-    /* Get event data for the get buffer */
-    getEventData(view, obj, obj.getBuffer, getWriteIndex.elem,
-                 getReadIndex.elem);
-}
diff --git a/packages/ti/sdo/ipc/family/f2837x/TransportCirc.c b/packages/ti/sdo/ipc/family/f2837x/TransportCirc.c
deleted file mode 100644 (file)
index a0ab348..0000000
+++ /dev/null
@@ -1,404 +0,0 @@
-/*
- * Copyright (c) 2014, 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.
- */
-/*
- *  ======== TransportCirc.c ========
- */
-
-#include <string.h>  /* for memcpy() */
-
-#include <xdc/std.h>
-#include <xdc/runtime/Assert.h>
-#include <xdc/runtime/Error.h>
-#include <xdc/runtime/Memory.h>
-
-#include <ti/sysbios/hal/Hwi.h>
-#include <ti/sysbios/knl/Swi.h>
-#include <ti/sdo/ipc/interfaces/IMessageQTransport.h>
-
-#include <ti/sdo/ipc/family/f2837x/IpcMgr.h>
-
-#include "package/internal/TransportCirc.xdc.h"
-
-#include <ti/sdo/utils/_MultiProc.h>
-#include <ti/sdo/ipc/_Notify.h>
-#include <ti/sdo/ipc/_MessageQ.h>
-
-/* Need to use reserved notify events */
-#undef TransportCirc_notifyEventId
-#define TransportCirc_notifyEventId \
-    ti_sdo_ipc_family_f2837x_TransportCirc_notifyEventId + \
-    (UInt32)((UInt32)Notify_SYSTEMKEY << 16)
-
-/*
- *************************************************************************
- *                       Instance functions
- *************************************************************************
- */
-
-/*
- *  ======== TransportCirc_Instance_init ========
- */
-Int TransportCirc_Instance_init(TransportCirc_Object *obj,
-        UInt16 remoteProcId, const TransportCirc_Params *params,
-        Error_Block *eb)
-{
-    Int        status;
-    Bool       flag;
-    Swi_Handle swiHandle;
-    Swi_Params swiParams;
-    SizeT      circBufSize;
-
-    swiHandle = TransportCirc_Instance_State_swiObj(obj);
-
-    /* init the object fields */
-    obj->priority     = params->priority;
-    obj->remoteProcId = remoteProcId;
-
-    /* construct the swi with lowest priority */
-    Swi_Params_init(&swiParams);
-    swiParams.arg0 = (UArg)obj;
-    swiParams.priority = TransportCirc_swiPriority;
-    Swi_construct(Swi_struct(swiHandle),
-                 (Swi_FuncPtr)TransportCirc_swiFxn,
-                 &swiParams, eb);
-
-    /* calculate the circular buffer size one-way */
-    circBufSize = TransportCirc_msgSize * TransportCirc_numMsgs;
-
-    /* Init put/get buffer and index pointers. */
-    obj->putBuffer = params->writeAddr;
-
-    obj->putWriteIndex = (Bits32 *)((UInt32)obj->putBuffer + circBufSize);
-
-    obj->getReadIndex = (Bits32 *)((UInt32)obj->putWriteIndex + sizeof(Bits32));
-
-    obj->getBuffer = params->readAddr;
-
-    obj->getWriteIndex = (Bits32 *)((UInt32)obj->getBuffer + circBufSize);
-
-    obj->putReadIndex = (Bits32 *)((UInt32)obj->getWriteIndex + sizeof(Bits32));
-
-    /* init the putWrite and getRead Index to 0 */
-    obj->putWriteIndex[0] = 0;
-    obj->getReadIndex[0] = 0;
-
-    /* register the event with Notify */
-    status = Notify_registerEventSingle(
-                 remoteProcId,    /* remoteProcId */
-                 0,         /* lineId */
-                 TransportCirc_notifyEventId,
-                 (Notify_FnNotifyCbck)TransportCirc_notifyFxn,
-                 (UArg)swiHandle);
-
-    if (status < 0) {
-        Error_raise(eb, IpcMgr_E_internal, 0, 0);
-        return (1);
-    }
-
-    /* Register the transport with MessageQ */
-    flag = ti_sdo_ipc_MessageQ_registerTransport(
-        TransportCirc_Handle_upCast(obj), remoteProcId, params->priority);
-
-    if (flag == FALSE) {
-        Error_raise(eb, IpcMgr_E_internal, 0, 0);
-        return (2);
-    }
-
-    return (0);
-}
-
-/*
- *  ======== TransportCirc_Instance_finalize ========
- */
-Void TransportCirc_Instance_finalize(TransportCirc_Object* obj, Int status)
-{
-    Swi_Handle     swiHandle;
-
-    switch(status) {
-        case 0:
-            /* MessageQ_registerTransport succeeded */
-            ti_sdo_ipc_MessageQ_unregisterTransport(obj->remoteProcId,
-                obj->priority);
-
-            /* OK to fall thru */
-
-        case 1: /* Notify_registerEventSingle failed */
-
-            /* OK to fall thru */
-
-        case 2: /* MessageQ_registerTransport failed */
-            Notify_unregisterEventSingle(
-                obj->remoteProcId,
-                0,
-                TransportCirc_notifyEventId);
-            break;
-    }
-
-    /* Destruct the swi */
-    swiHandle = TransportCirc_Instance_State_swiObj(obj);
-    if (swiHandle != NULL) {
-        Swi_destruct(Swi_struct(swiHandle));
-    }
-}
-
-/*
- *  ======== TransportCirc_put ========
- *  Assuming MessageQ_put is making sure that the arguments are ok
- */
-Bool TransportCirc_put(TransportCirc_Object *obj, Ptr msg)
-{
-    Int status;
-    UInt msgSize;
-    UInt hwiKey;
-    Ptr writeAddr;
-    UInt writeIndex, readIndex;
-
-    do {
-        /* disable interrupts */
-        hwiKey = Hwi_disable();
-
-        /* get the writeIndex and readIndex */
-        readIndex  = obj->putReadIndex[0];
-        writeIndex = obj->putWriteIndex[0];
-
-        /* if slot available 'break' out of loop */
-        if (((writeIndex + 1) & TransportCirc_maxIndex) != readIndex) {
-            break;
-        }
-
-        /* restore interrupts */
-        Hwi_restore(hwiKey);
-
-    } while (1);
-
-    /* interrupts are disabled at this point */
-
-    /* get a free buffer and copy the message into it */
-    writeAddr = (Ptr)((UInt32)obj->putBuffer +
-                (writeIndex * TransportCirc_msgSize));
-
-    /* get the size of the message */
-    msgSize = MessageQ_getMsgSize(msg);
-
-    Assert_isTrue(msgSize <= TransportCirc_msgSize, IpcMgr_A_internal);
-
-    /* copy message to the write buffer */
-    memcpy(writeAddr, (Ptr)msg, msgSize);
-
-    /* update the writeIndex */
-    obj->putWriteIndex[0] = (writeIndex + 1) & TransportCirc_maxIndex;
-
-    /* restore interrupts */
-    Hwi_restore(hwiKey);
-
-    /* free the app's message */
-    if (((MessageQ_Msg)msg)->heapId != ti_sdo_ipc_MessageQ_STATICMSG) {
-        MessageQ_free(msg);
-    }
-
-    /* Notify the remote processor */
-    status = Notify_sendEvent(
-                 obj->remoteProcId,
-                 0,
-                 TransportCirc_notifyEventId,
-                 (UInt32)NULL,
-                 FALSE);
-
-    /* check the status of the sendEvent */
-    if (status < 0) {
-        return (FALSE);
-    }
-
-    return (TRUE);
-}
-
-/*
- *  ======== TransportCirc_control ========
- */
-Bool TransportCirc_control(TransportCirc_Object *obj, UInt cmd,
-    UArg cmdArg)
-{
-    return (FALSE);
-}
-
-/*
- *  ======== TransportCirc_getStatus ========
- */
-Int TransportCirc_getStatus(TransportCirc_Object *obj)
-{
-    return (0);
-}
-
-/*
- *************************************************************************
- *                       Module functions
- *************************************************************************
- */
-
-/*
- *  ======== TransportCirc_notifyFxn ========
- */
-Void TransportCirc_notifyFxn(UInt16 procId,
-                             UInt16 lineId,
-                             UInt32 eventId,
-                             UArg arg,
-                             UInt32 payload)
-{
-    Swi_Handle swiHandle;
-
-    /* Swi_Handle was passed as arg in register */
-    swiHandle = (Swi_Handle)arg;
-
-    /* post the Swi */
-    Swi_post(swiHandle);
-}
-
-/*
- *  ======== TransportCirc_swiFxn ========
- */
-Void TransportCirc_swiFxn(UArg arg)
-{
-    UInt32 queueId;
-    TransportCirc_Object *obj = (TransportCirc_Object *)arg;
-    MessageQ_Msg msg = NULL;
-    MessageQ_Msg buf = NULL;
-    SizeT msgSize;
-    UInt writeIndex, readIndex;
-    UInt offset;
-
-    /* Make sure the TransportCirc_Object is not NULL */
-    Assert_isTrue(obj != NULL, IpcMgr_A_internal);
-
-    /* get the writeIndex and readIndex */
-    writeIndex = obj->getWriteIndex[0];
-    readIndex  = obj->getReadIndex[0];
-
-    while (writeIndex != readIndex) {
-        /* determine where the message from remote core is */
-        offset = (readIndex * TransportCirc_msgSize);
-
-        /* get the message */
-        msg = (MessageQ_Msg)((UInt32)obj->getBuffer + offset);
-
-        /*
-         *  The message size needs to be halved because it was
-         *  specified in bytes and the units on the c28 is 16-bit
-         *  words.
-         */
-        msgSize = MessageQ_getMsgSize(msg);
-
-        /* alloc a message from msg->heapId to copy the msg to */
-        buf = MessageQ_alloc(msg->heapId, msgSize);
-
-        /* Make sure buf is not NULL */
-        if (buf == NULL) {
-            TransportCirc_module->errFxn(TransportCirc_Reason_FAILEDALLOC,
-                ti_sdo_ipc_family_f2837x_TransportCirc_Handle_upCast(obj),
-                NULL,
-                (UArg)msg);
-
-            return;
-        }
-
-        /* copy the message to the buffer allocated, set the heap id */
-        memcpy((Ptr)buf, (Ptr)msg, msgSize);
-
-        /* overwrite the msgSize in the msg */
-        buf->msgSize = msgSize;
-
-        /* retrieve the detination queue id */
-        queueId = MessageQ_getDstQueue(msg);
-
-        /* put the message to the destination queue */
-        MessageQ_put(queueId, buf);
-
-        /* update the local readIndex. */
-        readIndex = ((readIndex + 1) & TransportCirc_maxIndex);
-
-        /* set the readIndex */
-        obj->getReadIndex[0] = readIndex;
-    }
-}
-
-/*
- *************************************************************************
- *                      Module functions
- *************************************************************************
- */
-
-/*
- *  ======== TransportCirc_close ========
- */
-Void TransportCirc_close(TransportCirc_Handle *handle)
-{
-    TransportCirc_delete(handle);
-}
-
-/*
- *  ======== TransportCirc_sharedMemReq ========
- */
-SizeT TransportCirc_sharedMemReq(const TransportCirc_Params *params)
-{
-    SizeT memReq;
-
-    /* Ensure that params is non-NULL */
-    Assert_isTrue(params != NULL, IpcMgr_A_internal);
-
-    /*
-     *  Amount of shared memory:
-     *  1 putBuffer (msgSize * numMsgs) +
-     *  1 putWriteIndex ptr             +
-     *  1 putReadIndex ptr              +
-     */
-    memReq = (TransportCirc_msgSize * TransportCirc_numMsgs) +
-             (2 * sizeof(Bits32));
-
-    return (memReq);
-}
-
-/*
- *  ======== TransportCirc_defaultErrFxn ========
- */
-Void TransportCirc_defaultErrFxn(IMessageQTransport_Reason reason,
-                                 IMessageQTransport_Handle handle,
-                                Ptr ptr,
-                                UArg arg)
-{
-}
-
-/*
- *  ======== TransportCirc_setErrFxn ========
- */
-Void TransportCirc_setErrFxn(TransportCirc_ErrFxn errFxn)
-{
-    TransportCirc_module->errFxn = errFxn;
-}
diff --git a/packages/ti/sdo/ipc/family/f2837x/TransportCirc.xdc b/packages/ti/sdo/ipc/family/f2837x/TransportCirc.xdc
deleted file mode 100644 (file)
index a23fb98..0000000
+++ /dev/null
@@ -1,287 +0,0 @@
-/*
- * Copyright (c) 2014, 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.
- */
-/*
- *  ======== TransportCirc.xdc ========
- */
-
-import ti.sysbios.knl.Swi;
-import ti.sdo.ipc.interfaces.IMessageQTransport;
-
-import xdc.rov.ViewInfo;
-
-/*!
- *  @_nodoc
- *  ======== TransportCirc ========
- *  Transport for MessageQ that uses a circular buffer.
- *
- *  This is a {@link ti.sdo.ipc.MessageQ} transport that utilizes shared
- *  memory for passing messages between multiple processors.
- *
- *  The transport utilizes shared memory in the manner indicated by the
- *  following diagram.
- *
- *  @p(code)
- *
- *  NOTE: Processor '0' corresponds to CPU1 and '1' corresponds to CPU2
- *
- * sharedAddr -> --------------------------- bytes
- *               |  entry0  (0) [Put]      | msgSize
- *               |  entry1  (0)            | msgSize
- *               |  ...                    |
- *               |  entryN  (0)            | msgSize
- *               |                         |
- *               |-------------------------|
- *               |  putWriteIndex (0)      | 4
- *               |                         |
- *               |-------------------------|
- *               |  getReadIndex (0)       | 4
- *               |                         |
- *               |-------------------------|
- *               |  entry0  (1) [Get]      | msgSize
- *               |  entry1  (1)            | msgSize
- *               |  ...                    |
- *               |  entryN  (1)            | msgSize
- *               |                         |
- *               |-------------------------|
- *               |  putWriteIndex (1)      | 4
- *               |                         |
- *               |-------------------------|
- *               |  getReadIndex (1)       | 4
- *               |                         |
- *               |-------------------------|
- *
- *
- *  Legend:
- *  (0), (1) : belongs to the respective processor
- *  (N)      : length of buffer
- *
- *  @p
- */
-
-@InstanceFinalize
-@InstanceInitError
-
-module TransportCirc inherits IMessageQTransport
-{
-    /*! @_nodoc */
-    metaonly struct BasicView {
-        String      remoteProcName;
-    }
-
-    /*! @_nodoc */
-    metaonly struct EventDataView {
-        UInt        index;
-        String      buffer;
-        Ptr         message;
-    }
-
-    /*!
-     *  ======== rovViewInfo ========
-     */
-    @Facet
-    metaonly config ViewInfo.Instance rovViewInfo =
-        ViewInfo.create({
-            viewMap: [
-                ['Basic',
-                    {
-                        type: ViewInfo.INSTANCE,
-                        viewInitFxn: 'viewInitBasic',
-                        structName: 'BasicView'
-                    }
-                ],
-                ['Events',
-                    {
-                        type: ViewInfo.INSTANCE_DATA,
-                        viewInitFxn: 'viewInitData',
-                        structName: 'EventDataView'
-                    }
-                ],
-            ]
-        });
-
-    /*!
-     *  ======== close ========
-     *  Close an opened instance
-     *
-     *  Closing an instance will free local memory consumed by the opened
-     *  instance.  Instances that are opened should be closed before the
-     *  instance is deleted.
-     *
-     *  @param(handle)  handle that is returned from an {@link #openByAddr}
-     */
-    Void close(Handle *handle);
-
-    /*! @_nodoc
-     *  ======== notifyEventId ========
-     *  Notify event ID for transport.
-     */
-    config UInt16 notifyEventId = 2;
-
-    /*! @_nodoc
-     *  ======== numMsgs ========
-     *  The maximum number of outstanding messages
-     *
-     *  This number must be greater than 0 and a power of 2.
-     *  If the transport reaches this threshold, it spins waiting for
-     *  another message slot to be freed by the remote processor.
-     */
-    config UInt numMsgs = 4;
-
-    /*! @_nodoc
-     *  ======== maxMsgSizeInBytes ========
-     *  The maximum message size (in bytes) that is supported
-     */
-    config UInt maxMsgSizeInBytes = 128;
-
-    /*!
-     *  ======== swiPriority ========
-     *  The priority of the Transport Swi object created
-     */
-    config UInt swiPriority = 1;
-
-    /*! @_nodoc
-     *  ======== sharedMemReq ========
-     *  Amount of shared memory required for creation of each instance
-     *
-     *  @param(params)      Pointer to the parameters that will be used in
-     *                      create.
-     *
-     *  @a(returns)         Number of MAUs needed to create the instance.
-     */
-    SizeT sharedMemReq(const Params *params);
-
-    /*! @_nodoc
-     *  ======== sharedMemReqMeta ========
-     *  Amount of shared memory required for creation of each instance
-     *
-     *  @param(params)      Pointer to the parameters that will be used in
-     *                      create.
-     *
-     *  @a(returns)         Size of shared memory in MAUs on local processor.
-     */
-    metaonly SizeT sharedMemReqMeta(const Params *params);
-
-instance:
-
-    /*! @_nodoc
-     *  ======== openFlag ========
-     *  Set to 'true' by the open() call. No one else should touch this!
-     */
-    config Bool openFlag = false;
-
-    /*!
-     *  ======== readAddr ========
-     *  Physical address of the read address in shared memory
-     *
-     *  This address should be specified in the local processor's memory
-     *  space.  It must point to the same physical write address of the
-     *  remote processor its communicating with.
-     */
-    config Ptr readAddr = null;
-
-    /*!
-     *  ======== writeAddr ========
-     *  Physical address of the write address in shared memory
-     *
-     *  This address should be specified in the local processor's memory
-     *  space.  It must point to the same physical read address of the
-     *  remote processor its communicating with.
-     */
-    config Ptr writeAddr = null;
-
-internal:
-
-    /*! The max index set to (numMsgs - 1) */
-    config UInt maxIndex;
-
-    /*!
-     *  The message size in target MAUs.
-     */
-    config UInt msgSize;
-
-    /*!
-     *  ======== defaultErrFxn ========
-     *  This is the default error function.
-     *
-     *  This function is an empty function that does nothing.
-     *
-     *  @param(reason)  reason for error function
-     *  @param(handle)  handle of transport that had error
-     *  @param(ptr)     pointer to the message
-     *  @param(arg)     argument passed to error function
-     */
-    Void defaultErrFxn(IMessageQTransport.Reason reason,
-                       IMessageQTransport.Handle handle, Ptr ptr, UArg arg);
-
-    /*!
-     *  ======== swiFxn ========
-     *  This function takes the messages from the circular message buffer
-     *  and calls MessageQ_put to send them to their destination queue.
-     *  This function is posted by the NotifyFxn.
-     *
-     *  @param(arg)     argument for the function
-     */
-    Void swiFxn(UArg arg);
-
-    /*!
-     *  ======== notifyFxn ========
-     *  This is a callback function registered with Notify.  It is called
-     *  when a remote processor does a Notify_sendEvent().  It is executed
-     *  at ISR level.  It posts the instance Swi object to execute swiFxn.
-     *
-     *  @param(procId)  remote processor id
-     *  @param(lineId)  Notify line id
-     *  @param(eventId) Notify event id
-     *  @param(arg)     argument for the function
-     *  @param(payload) 32-bit payload value.
-     */
-    Void notifyFxn(UInt16 procId, UInt16 lineId, UInt32 eventId, UArg arg,
-                   UInt32 payload);
-
-    /* Instance State object */
-    struct Instance_State {
-        Ptr             *putBuffer;     /* buffer used to put message       */
-        Bits32          *putReadIndex;  /* ptr to readIndex for put buffer  */
-        Bits32          *putWriteIndex; /* ptr to writeIndex for put buffer */
-        Ptr             *getBuffer;     /* buffer used to get message       */
-        Bits32          *getReadIndex;  /* ptr to readIndex for get buffer  */
-        Bits32          *getWriteIndex; /* ptr to writeIndex for put buffer */
-        Swi.Object      swiObj;         /* Each instance has a swi          */
-        SizeT           allocSize;      /* Shared memory allocated          */
-        UInt16          remoteProcId;   /* dst proc id                      */
-        UInt16          priority;       /* priority to register             */
-    };
-
-    struct Module_State {
-        ErrFxn errFxn;                  /* error function */
-    };
-}
diff --git a/packages/ti/sdo/ipc/family/f2837x/TransportCirc.xs b/packages/ti/sdo/ipc/family/f2837x/TransportCirc.xs
deleted file mode 100644 (file)
index d34f24a..0000000
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * Copyright (c) 2014, 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.
- */
-/*
- *  ======== TransportCirc.xs ========
- */
-
-var TransportCirc = null;
-var MessageQ     = null;
-var Notify       = null;
-var MultiProc    = null;
-var Swi          = null;
-
-/*
- *  ======== module$use ========
- */
-function module$use()
-{
-    TransportCirc = this;
-    MessageQ     = xdc.useModule("ti.sdo.ipc.MessageQ");
-    Notify       = xdc.useModule("ti.sdo.ipc.Notify");
-    MultiProc    = xdc.useModule("ti.sdo.utils.MultiProc");
-    Swi          = xdc.useModule("ti.sysbios.knl.Swi");
-}
-
-/*
- * ======== module$static$init ========
- */
-function module$static$init(mod, params)
-{
-    var target = Program.build.target;
-    var bitsPerByte = 8;
-    var bitsPerChar = target.bitsPerChar;
-
-    /* calculate the message size in target MAUs */
-    TransportCirc.msgSize = TransportCirc.maxMsgSizeInBytes *
-                              (bitsPerByte / bitsPerChar);
-
-    /* calculate the maxIndex */
-    TransportCirc.maxIndex = TransportCirc.numMsgs - 1;
-
-    /* determine numMsgs is a power of 2 */
-    if (TransportCirc.numMsgs & (TransportCirc.maxIndex)) {
-        TransportCirc.$logFatal("TransportCirc.numMsgs: " +
-                TransportCirc.numMsgs +
-                " is not a power of 2", TransportCirc);
-    }
-
-    if (params.errFxn != null) {
-        mod.errFxn = params.errFxn;
-    }
-    else {
-        mod.errFxn = TransportCirc.defaultErrFxn;
-    }
-}
-
-/*
- *  ======== module$validate ========
- */
-function module$validate()
-{
-    if (Notify.numEvents <= TransportCirc.notifyEventId) {
-        TransportCirc.$logFatal("TransportCirc.notifyEventId (" +
-                TransportCirc.notifyEventId +
-                ") is too big: Notify.numEvents = " + Notify.numEvents,
-                TransportCirc);
-    }
-}
-
-/*
- *  ======== sharedMemReqMeta ========
- */
-function sharedMemReqMeta(params)
-{
-    var target = Program.build.target;
-    var bitsPerByte = 8;
-    var bitsPerChar = target.bitsPerChar;
-
-    /* The message size in target MAUs */
-    var msgSize = TransportCirc.maxMsgSizeInBytes *
-                  (bitsPerByte / bitsPerChar);
-
-    /*
-     *  Amount of shared memory:
-     *  1 putBuffer (msgSize * numMsgs) +
-     *  1 putWriteIndex ptr             +
-     *  1 putReadIndex ptr              +
-     */
-    var memReq = (msgSize * TransportCirc.numMsgs) +
-                 (2 *  Program.build.target.stdTypes['t_Int32'].size);
-
-    return (memReq);
-}
-
-/*
- *************************************************************************
- *                       ROV View functions
- *************************************************************************
- */
-
-/*
- *  ======== viewInitBasic ========
- */
-function viewInitBasic(view, obj)
-{
-    var MultiProc = xdc.useModule('ti.sdo.utils.MultiProc');
-    var MultiProcCfg = Program.getModuleConfig('ti.sdo.utils.MultiProc');
-
-    /* view.remoteProcName */
-    try {
-        view.remoteProcName = MultiProc.getName$view(obj.remoteProcId -
-                                  MultiProcCfg.baseIdOfCluster);
-    }
-    catch(e) {
-        Program.displayError(view, 'remoteProcName',
-                             "Problem retrieving proc name: " + e);
-    }
-}
-
-/*
- *  ======== getEventData ========
- *  Helper function for use within viewInitData
- */
-function getEventData(view, obj, bufferPtr, putIndex, getIndex)
-{
-    var TransportCirc =
-        xdc.useModule('ti.sdo.ipc.family.f28m35x.TransportCirc');
-    var modCfg =
-        Program.getModuleConfig('ti.sdo.ipc.family.f28m35x.TransportCirc');
-    var ScalarStructs   = xdc.useModule('xdc.rov.support.ScalarStructs');
-
-    if (bufferPtr == obj.putBuffer) {
-        var bufferName = "put";
-    }
-    else {
-        var bufferName = "get";
-    }
-
-    try {
-        var putBuffer = Program.fetchArray(ScalarStructs.S_Bits32$fetchDesc,
-                                           bufferPtr,
-                                           modCfg.numMsgs);
-    }
-    catch(e) {
-        throw (new Error("Error fetching putBuffer struct from shared memory"));
-    }
-
-    var i = getIndex;
-
-    while (i != putIndex) {
-        /* The event is registered */
-        var elem = Program.newViewStruct(
-                'ti.sdo.ipc.family.f28m35x.TransportCirc',
-                'Events');
-
-        elem.index = i;
-        elem.buffer = bufferName;
-        elem.message = utils.toHex(Number(bufferPtr) + (i * modCfg.msgSize));
-
-        /* Create a new row in the instance data view */
-        view.elements.$add(elem);
-
-        i++;
-        if ((i % modCfg.numMsgs) == 0) {
-            i = 0;
-        }
-    }
-}
-
-
-/*
- *  ======== viewInitData ========
- *  Instance data view.
- */
-function viewInitData(view, obj)
-{
-    var Program         = xdc.useModule('xdc.rov.Program');
-    var ScalarStructs   = xdc.useModule('xdc.rov.support.ScalarStructs');
-    var MultiProc       = xdc.useModule('ti.sdo.utils.MultiProc');
-
-    /* Display the instance label in the tree */
-    view.label = "remoteProcId = " + obj.remoteProcId;
-
-    /* Fetch put/get index's */
-    try {
-        var putWriteIndex = Program.fetchStruct(ScalarStructs.S_Bits32$fetchDesc,
-                                                obj.putWriteIndex);
-    }
-    catch(e) {
-        throw (new Error("Error fetching putWriteIndex struct from shared memory"));
-    }
-
-    try {
-        var putReadIndex = Program.fetchStruct(ScalarStructs.S_Bits32$fetchDesc,
-                                               obj.putReadIndex);
-    }
-    catch(e) {
-        throw (new Error("Error fetching putReadIndex struct from shared memory"));
-    }
-
-    try {
-        var getWriteIndex = Program.fetchStruct(ScalarStructs.S_Bits32$fetchDesc,
-                                                obj.getWriteIndex);
-    }
-    catch(e) {
-        throw (new Error("Error fetching getWriteIndex struct from shared memory"));
-    }
-
-    try {
-        var getReadIndex = Program.fetchStruct(ScalarStructs.S_Bits32$fetchDesc,
-                                               obj.getReadIndex);
-    }
-    catch(e) {
-        throw (new Error("Error fetching getReadIndex struct from shared memory"));
-    }
-
-    /* Get event data for the put buffer */
-    getEventData(view, obj, obj.putBuffer, putWriteIndex.elem, putReadIndex.elem);
-
-    /* Get event data for the get buffer */
-    getEventData(view, obj, obj.getBuffer, getWriteIndex.elem, getReadIndex.elem);
-}
diff --git a/packages/ti/sdo/ipc/family/f2837x/linkcmd.xdt b/packages/ti/sdo/ipc/family/f2837x/linkcmd.xdt
deleted file mode 100644 (file)
index 9ba7007..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-%%{
-/*
- * Copyright (c) 2014, 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.
- */
-%%}
-%%{
-/*
- *  Add writeAddr with writeAddrSize to linker cmd file.
- *  This is to prevent the user from placing other code/data
- *  in the same memory location.
- */
-%%}
-%var IpcMgr = xdc.module("ti.sdo.ipc.family.f2837x.IpcMgr");
-%
-%
-
-SECTIONS
-{
-%    var readSectName = "ti.sdo.ipc.family.f2837x.IpcMgr.readSect";
-%    var writeSectName = "ti.sdo.ipc.family.f2837x.IpcMgr.writeSect";
-%    if (IpcMgr.genLinkerSections && (IpcMgr.readAddr || IpcMgr.writeAddr)) {
-%        var readAddr = utils.toHex(IpcMgr.readAddr);
-%        var writeAddr = utils.toHex(IpcMgr.writeAddr);
-%        var len  = utils.toHex(IpcMgr.sharedMemSizeUsed);
-%
-    `readSectName`:  { . += `len`;} run > `readAddr` PAGE 1, type = NOLOAD
-    `writeSectName`:  { . += `len`;} run > `writeAddr` PAGE 1, type = NOLOAD
-%    }
-}
diff --git a/packages/ti/sdo/ipc/family/f2837x/package.bld b/packages/ti/sdo/ipc/family/f2837x/package.bld
deleted file mode 100644 (file)
index 05423f1..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2014, 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.
- */
-/*
- *  ======== package.bld ========
- */
-
-var IpcBuild = xdc.loadCapsule("ti/sdo/ipc/Build.xs");
-
-var objList_28FP = [
-      "IpcMgr",
-      "NotifyDriverCirc",
-      "NameServerBlock",
-      "TransportCirc",
-];
-
-var trgFilter_28FP = {
-        field: "isa",
-        list: [ "28FP" ]
-};
-
-
-/* generate makefiles */
-IpcBuild.buildLibs(objList_28FP, undefined, trgFilter_28FP, arguments);
-
-/* generate smp makefiles */
-IpcBuild.buildLibs(objList_28FP, undefined, trgFilter_28FP, ["profile=smp"]);
-
-Pkg.otherFiles = [ "package.bld", "linkcmd.xdt" ];
-
-/* include source files in the release package */
-Pkg.attrs.exportSrc = true;
-Pkg.attrs.exportCfg = true;
-
-Pkg.generatedFiles.$add("lib/");
diff --git a/packages/ti/sdo/ipc/family/f2837x/package.xdc b/packages/ti/sdo/ipc/family/f2837x/package.xdc
deleted file mode 100644 (file)
index b1c2da6..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2014, 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.
- */
-/*
- *  ======== package.xdc ========
- */
-
-requires ti.sdo.ipc;
-
-/*!
- *  ======== ti.sdo.ipc.family.f2837x ========
- */
-package ti.sdo.ipc.family.f2837x [1,0,0,0] {
-    module    IpcMgr;
-    module    NameServerBlock;
-    module    NotifyDriverCirc;
-    module    TransportCirc;
-}
diff --git a/packages/ti/sdo/ipc/family/f2837x/package.xs b/packages/ti/sdo/ipc/family/f2837x/package.xs
deleted file mode 100644 (file)
index dc2f166..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2014, 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.
- */
-/*
- *  ======== package.xs ========
- */
-
-
-/*
- *  ======== Package.getLibs ========
- *  This function is called when a program's configuration files are
- *  being generated and it returns the name of a library appropriate
- *  for the program's configuration.
- */
-
-function getLibs(prog)
-{
-    var Build = xdc.module("ti.sdo.ipc.Build");
-
-    /* use shared getLibs() */
-    return (Build.getLibs(this));
-}
-
-/*
- *  ======== Package.getSects ========
- */
-function getSects()
-{
-    return "ti/sdo/ipc/family/f2837x/linkcmd.xdt";
-}
-
-/*
- *  ======== package.close ========
- */
-function close()
-{
-    if (xdc.om.$name != 'cfg') {
-        return;
-    }
-}
diff --git a/packages/ti/sdo/ipc/family/f28m35x/IpcMgr.c b/packages/ti/sdo/ipc/family/f28m35x/IpcMgr.c
deleted file mode 100644 (file)
index 1256fd9..0000000
+++ /dev/null
@@ -1,338 +0,0 @@
-/*
- * Copyright (c) 2012-2013, 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.
- */
-/*
- *  ======== IpcMgr.c ========
- */
-
-#include <xdc/std.h>
-#include <xdc/runtime/Assert.h>
-#include <xdc/runtime/Error.h>
-#include <xdc/runtime/Startup.h>
-
-#include <ti/sysbios/hal/Hwi.h>
-#include <ti/sdo/ipc/family/f28m35x/NotifyDriverCirc.h>
-#include <ti/sdo/ipc/family/f28m35x/NameServerBlock.h>
-#include <ti/sdo/ipc/family/f28m35x/TransportCirc.h>
-#include <ti/sdo/ipc/_MessageQ.h>
-#include <ti/sdo/ipc/_Notify.h>
-#include <ti/sdo/utils/_MultiProc.h>
-
-#include "package/internal/IpcMgr.xdc.h"
-
-/* For the M3 */
-#define CTOMIPCACK  (0x400FB700)
-#define CTOMIPCSTS  (CTOMIPCACK + 0x4)
-#define MTOCIPCSET  (CTOMIPCACK + 0x8)
-#define MTOCIPCCLR  (CTOMIPCACK + 0xC)
-#define MTOCIPCFLG  (CTOMIPCACK + 0x10)
-
-/* For the C28 */
-#define CTOMIPCSET  (0x00004E00)
-#define CTOMIPCCLR  (CTOMIPCSET + 0x2)
-#define CTOMIPCFLG  (CTOMIPCSET + 0x4)
-#define MTOCIPCACK  (CTOMIPCSET + 0x6)
-#define MTOCIPCSTS  (CTOMIPCSET + 0x8)
-
-#define M3_IPCFLAG  10
-#define C28_IPCFLAG 11
-
-/*
- *  ======== IpcMgr_Module_startup ========
- *  In this function the M3 processors is used to enable shared memory.
- *  In addition, the owner of each block of memory is initialized and
- *  the write access set based on the static configuration parameters.
- *  IPC flags are used by the M3 and C28 respectively for synchronization.
- *
- *  The M3 starts by creating its driver instances and then sets the
- *  C28's IPC flag to let the C28 proceed.  Then the M3 waits for its
- *  IPC flag to be set before proceeding.  Once its IPC flag is set
- *  by the C28, the M3 clears its IPC flag and continues.
- *
- *  The C28 starts by waiting for its IPC flag to be set by the M3.
- *  Once its IPC flag is set by the M3, the C28 clears its IPC flag and
- *  proceeds to create its driver instances.  The C28 then sets the M3's
- *  IPC flag to let the M3 proceed.
- *
- *  The shared memory usage looks like the following:
- *
- *      |--------------------|
- *      | Notify Driver      |
- *      |                    |
- *      |--------------------|
- *      | NameServer         |
- *      | Remote Driver      |
- *      |--------------------|
- *      | MessageQ Transport |
- *      |                    |
- *      |--------------------|
- */
-Int IpcMgr_Module_startup(Int phase)
-{
-    Int status;
-    SizeT memReq;
-    Ptr writeAddr = (UInt32 *)IpcMgr_writeAddr;
-    Ptr readAddr = (UInt32 *)IpcMgr_readAddr;
-    UInt16 remoteProcId;
-    NotifyDriverCirc_Params notifyDrvParams;
-    TransportCirc_Params transportParams;
-#ifdef xdc_target__isaCompatible_v7M
-    volatile UInt32 *set = (volatile UInt32 *)MTOCIPCSET;
-    volatile UInt32 *stat = (volatile UInt32 *)CTOMIPCSTS;
-    volatile UInt32 *ack = (volatile UInt32 *)CTOMIPCACK;
-#else
-    volatile UInt32 *set = (volatile UInt32 *)CTOMIPCSET;
-    volatile UInt32 *stat = (volatile UInt32 *)MTOCIPCSTS;
-    volatile UInt32 *ack = (volatile UInt32 *)MTOCIPCACK;
-#endif
-
-    /*
-     *  This code assumes that the device's C28 and M3 MultiProc Ids
-     *  are next to each other (e.g. n and n + 1) and that the first
-     *  one is even (e.g. n is even).
-     */
-    if (MultiProc_self() & 1) {
-        /* I'm odd */
-        remoteProcId = MultiProc_self() - 1;
-    }
-    else {
-        /* I'm even */
-        remoteProcId = MultiProc_self() + 1;
-    }
-
-    /* wait for Hwi module to initialize first because of NotifyDriverCirc  */
-    if (!Hwi_Module_startupDone()) {
-        return Startup_NOTDONE;
-    }
-
-#ifdef xdc_target__isaCompatible_v7M
-
-#else
-
-    /* wait for M3 to set C28's IPC flag */
-    while (!(*stat & (1 << C28_IPCFLAG))) {
-    }
-
-    /* clear own IPC flag */
-    *ack = 1 << C28_IPCFLAG;
-
-#endif
-
-    /* determine the amount of memory required for NotifyDriverCirc */
-    NotifyDriverCirc_Params_init(&notifyDrvParams);
-    notifyDrvParams.writeAddr = writeAddr;
-    memReq = NotifyDriverCirc_sharedMemReq(&notifyDrvParams);
-
-    /* call NotifyCircSetup attach to remote processor */
-    status = IpcMgr_notifyCircAttach(remoteProcId,
-                 writeAddr, readAddr);
-
-    Assert_isTrue(status >= 0, IpcMgr_A_internal);
-
-    /* update the read/write address */
-    writeAddr = (Ptr)((UInt32)writeAddr + memReq);
-    readAddr = (Ptr)((UInt32)readAddr + memReq);
-
-    /* determine the amount of memory required for NameServerBlock */
-    memReq = NameServerBlock_sharedMemReq(NULL);
-
-    /* call NameServerBlock attach to remote processor */
-    status = IpcMgr_nameServerAttach(remoteProcId, writeAddr, readAddr);
-
-    Assert_isTrue(status >= 0, IpcMgr_A_internal);
-
-    /* update the read/write address */
-    writeAddr = (Ptr)((UInt32)writeAddr + memReq);
-    readAddr = (Ptr)((UInt32)readAddr + memReq);
-
-    /* determine the amount of memory required for TransportCirc */
-    TransportCirc_Params_init(&transportParams);
-    transportParams.writeAddr = writeAddr;
-    memReq = TransportCirc_sharedMemReq(&transportParams);
-
-    /* call TransportCircSetup attach to remote processor */
-    status = IpcMgr_transportCircAttach(remoteProcId,
-                 writeAddr, readAddr);
-
-    Assert_isTrue(status >= 0, IpcMgr_A_internal);
-
-#ifdef xdc_target__isaCompatible_v7M
-
-    /* set C28 IPC flag to tell C28 to proceed */
-    *set = 1 << C28_IPCFLAG;
-
-    /* wait for C28 to set M3's IPC flag */
-    while (!(*stat & (1 << M3_IPCFLAG))) {
-    }
-
-    /* clear own IPC flag */
-    *ack = 1 << M3_IPCFLAG;
-
-#else
-
-    /* set M3's IPC flag to tell M3 to proceed */
-    *set = 1 << M3_IPCFLAG;
-
-#endif
-
-    return (Startup_DONE);
-}
-
-/*
- *  ======== IpcMgr_init ========
- *  Init CTOMMSGRAM and MTOCMSGRAM
- */
-Void IpcMgr_init()
-{
-#ifdef xdc_target__isaCompatible_v7M
-
-#else
-
-    volatile UInt32 *c28rTestInit = (volatile UInt32 *)IpcMgr_C28RTESTINIT;
-    volatile UInt32 *c28rInitDone = (volatile UInt32 *)IpcMgr_C28RINITDONE;
-
-    asm(" EALLOW");
-
-    /* init CtoMMsgRam */
-    *c28rTestInit |= (0x1 << 4);
-
-    /* make sure init is done */
-    while ((*c28rInitDone & (0x1 << 4)) != (0x1 << 4)) {
-    }
-
-    asm(" EDIS");
-
-#endif
-}
-
-
-/*
- *  ======== IpcMgr_notifyCircAttach ========
- *  Initialize interrupt
- */
-Int IpcMgr_notifyCircAttach(UInt16 remoteProcId, Ptr writeAddr, Ptr readAddr)
-{
-    NotifyDriverCirc_Params notifyDrvParams;
-    NotifyDriverCirc_Handle notifyDrvHandle;
-    ti_sdo_ipc_Notify_Handle notifyHandle;
-    Error_Block eb;
-    Int status = Notify_S_SUCCESS;
-
-    /* Initialize the error block */
-    Error_init(&eb);
-
-    /* Setup the notify driver to the remote processor */
-    NotifyDriverCirc_Params_init(&notifyDrvParams);
-
-    /* set the read/write address of the param */
-    notifyDrvParams.readAddr = readAddr;
-    notifyDrvParams.writeAddr = writeAddr;
-
-    /* create the notify driver instance */
-    notifyDrvHandle = NotifyDriverCirc_create(&notifyDrvParams, &eb);
-    if (notifyDrvHandle == NULL) {
-        return (Notify_E_FAIL);
-    }
-
-    /* create the notify instance */
-    notifyHandle = ti_sdo_ipc_Notify_create(
-                       NotifyDriverCirc_Handle_upCast(notifyDrvHandle),
-                       remoteProcId, 0, NULL, &eb);
-
-    if (notifyHandle == NULL) {
-        NotifyDriverCirc_delete(&notifyDrvHandle);
-        status = Notify_E_FAIL;
-    }
-
-    return (status);
-}
-
-/*
- *  ======== IpcMgr_nameServerAttach ========
- */
-Int IpcMgr_nameServerAttach(UInt16 remoteProcId, Ptr writeAddr, Ptr readAddr)
-{
-    NameServerBlock_Params nsbParams;
-    NameServerBlock_Handle handle;
-    Int status = NameServerBlock_E_FAIL;
-    Error_Block eb;
-
-    Error_init(&eb);
-
-    /* Init the param */
-    NameServerBlock_Params_init(&nsbParams);
-
-    /* set the read/write addresses */
-    nsbParams.readAddr  = readAddr;
-    nsbParams.writeAddr = writeAddr;
-
-    /* create only if notify driver has been created to remote proc */
-    if (Notify_intLineRegistered(remoteProcId, 0)) {
-        handle = NameServerBlock_create(remoteProcId,
-                                        &nsbParams,
-                                        &eb);
-        if (handle != NULL) {
-            status = NameServerBlock_S_SUCCESS;
-        }
-    }
-
-    return (status);
-}
-
-/*
- *  ======== IpcMgr_transportCircAttach ========
- */
-Int IpcMgr_transportCircAttach(UInt16 remoteProcId, Ptr writeAddr,
-    Ptr readAddr)
-{
-    TransportCirc_Handle handle;
-    TransportCirc_Params params;
-    Int status = MessageQ_E_FAIL;
-    Error_Block eb;
-
-    Error_init(&eb);
-
-    /* init the transport parameters */
-    TransportCirc_Params_init(&params);
-    params.readAddr = readAddr;
-    params.writeAddr = writeAddr;
-
-    /* make sure notify driver has been created */
-    if (Notify_intLineRegistered(remoteProcId, 0)) {
-        handle = TransportCirc_create(remoteProcId, &params, &eb);
-
-        if (handle != NULL) {
-            status = MessageQ_S_SUCCESS;
-        }
-    }
-
-    return (status);
-}
diff --git a/packages/ti/sdo/ipc/family/f28m35x/IpcMgr.xdc b/packages/ti/sdo/ipc/family/f28m35x/IpcMgr.xdc
deleted file mode 100644 (file)
index 79d575d..0000000
+++ /dev/null
@@ -1,297 +0,0 @@
-/*
- * Copyright (c) 2012-2013, 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.
- */
-/*
- *  ======== IpcMgr.xdc ========
- */
-
-import xdc.runtime.Assert;
-import xdc.runtime.Error;
-
-/*!
- *  ======== IpcMgr ========
- *  IPC Manager
- *
- *  This modules is used only for F28M35x devices.  Users can statically
- *  configure which shared memory segments to enable, the owner processor
- *  and the owner's write access.  This module used for specifying shared
- *  memory for IPC between the M3 and C28 processors.
- *
- *  There are no API's that need to be called.  The necessary drivers for
- *  IPC are all created within this module's startup function.  The shared
- *  memory is also programmed within this function.  There is handshake
- *  between the processors.  The M3 releases the C28 and both processors
- *  will synchronize at this point.
- *
- *  The {@link #readAddr} must point to shared memory which is writeable
- *  by the remote core while the {@link #writeAddr} must point to shared
- *  memory which is writeable by the local core.  The {@link #readAddr}
- *  and {@link #writeAddr} pointers must point to different shared memory
- *  blocks.  Memory addresses must be specified in the local core's
- *  memory space.
- *
- *  For example on the M3:
- *  @p(code)
- *  var IpcMgr = xdc.useModule('ti.sdo.ipc.family.f28m35x.IpcMgr');
- *  IpcMgr.readAddr  = 0x20016000;
- *  IpcMgr.writeAddr = 0x20014000;
- *  IpcMgr.sharedMemoryOwnerMask = 0x80;
- *  @p
- *
- *  On the C28:
- *  @p(code)
- *  var IpcMgr = xdc.useModule('ti.sdo.ipc.family.f28m35x.IpcMgr');
- *  IpcMgr.readAddr  = 0x12000;
- *  IpcMgr.writeAddr = 0x13000;
- *  @p
- */
-
-@ModuleStartup
-
-module IpcMgr
-{
-    /*!
-     *  This value is used for setting {@link #sharedMemoryAccess}.
-     *  If value specified, fetch is not allowed by owner.
-     */
-    const Bits32 NOFETCH    = 1;
-
-    /*!
-     *  This value is used for setting {@link #sharedMemoryAccess}.
-     *  If value specified, DMA writes are not allowed by owner.
-     */
-    const Bits32 NODMAWRITE = 2;
-
-    /*!
-     *  This value is used for setting {@link #sharedMemoryAccess}.
-     *  If value specified, CPU writes are not allowed by owner.
-     */
-    const Bits32 NOCPUWRITE = 4;
-
-    /*
-     *************************************************************************
-     *                       Generic Errors/Asserts
-     *************************************************************************
-     */
-
-    /*!
-     *  ======== A_internal ========
-     *  Assert raised when an internal error is encountered
-     */
-    config Assert.Id A_internal = {
-        msg: "A_internal: An internal error has occurred"
-    };
-
-    /*!
-     *  ======== A_invParam ========
-     *  Assert raised when a parameter is invalid
-     */
-    config Assert.Id A_invParam  = {
-        msg: "A_invParam: Invalid configuration parameter supplied"
-    };
-
-    /*!
-     *  ======== A_notEnoughMemory ========
-     *  Assert raised when there's not enough memory for creating instances.
-     */
-    config Assert.Id A_notEnoughMemory  = {
-        msg: "A_notEnoughMemory: There is not enough memory for operation"
-    };
-
-    /*!
-     *  ======== A_nullArgument ========
-     *  Assert raised when a required argument is null
-     */
-    config Assert.Id A_nullArgument  = {
-        msg: "A_nullArgument: Required argument is null"
-    };
-
-    /*!
-     *  ======== E_internal ========
-     *  Error raised when an internal error occured
-     */
-    config Error.Id E_internal  = {
-        msg: "E_internal: An internal error occurred"
-    };
-
-    /*
-     *************************************************************************
-     *                       Module-wide Config Parameters
-     *************************************************************************
-     */
-
-    /*!
-     *  ======== genLinkerSections ========
-     *  For generating or not generating the linker sections
-     *
-     *  By default this is set to 'true' so the following linker sections
-     *  are generated for the amount of memory used for IPC. For the
-     *  read address - "ti.sdo.ipc.family.f28m35x.IpcMgr.readSect" and for
-     *  the write address - "ti.sdo.ipc.family.f28m35x.IpcMgr.writeSect".
-     *  To disable generation, set this to 'false'.
-     */
-    metaonly config Bool genLinkerSections = true;
-
-    /*!
-     *  ======== ipcSetFlag ========
-     *  The IPC set flag used for generating IPC interrupt
-     *
-     *  Only a value of 0, 1, 2, or 3 are valid since only those flags
-     *  have an interrupt associated with them. This value must be the
-     *  same on both processors.
-     */
-    config UInt32 ipcSetFlag = 3;
-
-    /*!
-     *  ======== messageQSize ========
-     *  The largest MessageQ size (in bytes) supported by the transport
-     *
-     *  This value must be large enough to handle the largest message.
-     *  The size must be specified in bytes.
-     */
-    config UInt32 messageQSize = 128;
-
-    /*!
-     *  ======== messageQEventId ========
-     *  Notify event ID for MessageQ transport.
-     */
-    config UInt16 messageQEventId = 2;
-
-    /*!
-     *  ======== nameServerEventId ========
-     *  Notify event ID for NameServer.
-     */
-    config UInt16 nameServerEventId = 4;
-
-    /*!
-     *  ======== numNotifyMsgs ========
-     *  The number of messages for the Notify driver's circular buffer
-     *
-     *  This is use to determine the size of the put and get buffers.
-     *  This value must be a power of 2.  A value of 'N' allows 'N-1'
-     *  outstanding notifications.
-     */
-    config UInt32 numNotifyMsgs = 32;
-
-    /*!
-     *  ======== numMessageQMsgs ========
-     *  The number of messages for the MessageQ transport's circular buffer
-     *
-     *  This is use to determine the size of the put and get buffers.
-     *  This value must be a power of 2.  A value of 'N' allows 'N-1'
-     *  outstanding notifications.
-     */
-    config UInt32 numMessageQMsgs = 4;
-
-    /*!
-     *  ======== sharedMemoryEnable ========
-     *  Shared RAM memory configuration.
-     *
-     *  This parameter is only applicable to the M3 processor.  It is
-     *  used for writing the MEMCNF register from the M3.
-     *  By default, all shared RAM segments will be enabled at runtime.
-     *  To disable a shared RAM segment, set the corresponding bit to 0.
-     *  If any data is loaded to a shared RAM segment, the segment must
-     *  be enabled prior to loading the program through other means.
-     */
-    metaonly config Bits32 sharedMemoryEnable = 0xffffffff;
-
-    /*!
-     *  ======== sharedMemoryOwnerMask ========
-     *  Shared RAM owner select configuration.
-     *
-     *  This parameter is only applicable to the M3 processor.  It is
-     *  used for writing the MSxMSEL register from the M3.
-     *  By default, each value of each shared RAM select bit is '0'.
-     *  This means the M3 is the owner and has write access based upon
-     *  the sharedMemoryAccess bits.  Setting a '1' in any bit position
-     *  makes the C28 the owner of that shared RAM segment.
-     */
-    metaonly config Bits32 sharedMemoryOwnerMask = 0;
-
-    /*!
-     *  ======== sharedMemoryAccess ========
-     *  Shared RAM write configuration.
-     *
-     *  This parameter is only applicable to the M3 processor.  It is
-     *  used for writing the MSxSRCR register from the M3.
-     *  It determines the owner write access to each shared RAM segment.
-     *  By default, the owner is allowed to fetch, DMA write, and CPU write.
-     */
-    metaonly config Bits32 sharedMemoryAccess[8];
-
-    /*!
-     *  ======== readAddr ========
-     *  The base address of read-only shared memory.
-     *
-     *  The address must be specified in the local core's memory space.
-     *  It must point to the same physical address as the writeAddr for
-     *  the remote processor.
-     */
-    config Ptr readAddr;
-
-    /*!
-     *  ======== writeAddr ========
-     *  The base address of read/write shared memory.
-     *
-     *  The address must be specified in the local core's memory space.
-     *  It must point to the same physical address as the readAddr for
-     *  the remote processor.
-     */
-    config Ptr writeAddr;
-
-internal:
-
-    /* M3 control registers */
-    const UInt32 MWRALLOW = 0x400FB980;
-    const UInt32 MEMCNF  = 0x400FB930;
-    const UInt32 MSxMSEL = 0x400FB210;
-    const UInt32 MSxSRCR = 0x400FB220;
-    const UInt32 C28RTESTINIT = 0x4920;
-    const UInt32 C28RINITDONE = 0x4930;
-    const UInt32 MTOCRTESTINIT = 0x400FB260;
-    const UInt32 MTOCRINITDONE = 0x400FB288;
-
-    /* the amount of shared memory used */
-    config UInt32 sharedMemSizeUsed;
-
-    /* initialize the MsgRams */
-    Void init();
-
-    /* function to create NotifyCirc driver instances */
-    Int notifyCircAttach(UInt16 remoteProcId, Ptr writeAddr, Ptr readAddr);
-
-    /* function to create NameServer remote instances */
-    Int nameServerAttach(UInt16 remoteProcId, Ptr writeAddr, Ptr readAddr);
-
-    /* function to create MessageQ transport instances */
-    Int transportCircAttach(UInt16 remoteProcId, Ptr writeAddr, Ptr readAddr);
-}
diff --git a/packages/ti/sdo/ipc/family/f28m35x/IpcMgr.xs b/packages/ti/sdo/ipc/family/f28m35x/IpcMgr.xs
deleted file mode 100644 (file)
index c1aa21f..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * Copyright (c) 2012-2013, 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.
- */
-/*
- *  ======== IpcMgr.xs ========
- */
-
-var IpcMgr           = null;
-var Startup          = null;
-var MultiProc        = null;
-var NotifyDriverCirc = null;
-var NameServerBlock  = null;
-var TransportCirc    = null;
-var Hwi              = null;
-var Boot             = null;
-
-/*
- *  ======== module$meta$init ========
- */
-function module$meta$init()
-{
-    /* Only process during "cfg" phase */
-    if (xdc.om.$name != "cfg") {
-        return;
-    }
-
-    IpcMgr = this;
-
-    /* initialize the config parameter */
-    for (var i=0; i < IpcMgr.sharedMemoryAccess.length; i++) {
-        IpcMgr.sharedMemoryAccess[i] = 0;
-    }
-
-    var NameServer = xdc.useModule('ti.sdo.utils.NameServer');
-    NameServer.SetupProxy = xdc.useModule('ti.sdo.ipc.family.f28m35x.NameServerBlock');
-
-    var Startup = xdc.useModule('xdc.runtime.Startup');
-
-    /* RAMINIT */
-    Startup.firstFxns.$add(IpcMgr.init);
-}
-
-/*
- *  ======== module$use ========
- */
-function module$use()
-{
-    MultiProc = xdc.useModule("ti.sdo.utils.MultiProc");
-    NotifyDriverCirc =
-        xdc.useModule("ti.sdo.ipc.family.f28m35x.NotifyDriverCirc");
-    NameServerBlock =
-        xdc.useModule("ti.sdo.ipc.family.f28m35x.NameServerBlock");
-    TransportCirc =
-        xdc.useModule("ti.sdo.ipc.family.f28m35x.TransportCirc");
-    Hwi = xdc.useModule("ti.sysbios.hal.Hwi");
-    Startup = xdc.useModule("xdc.runtime.Startup");
-
-    if (Program.build.target.name.match(/M3.*/)) {
-        Boot = xdc.useModule("ti.catalog.arm.cortexm3.concertoInit.Boot");
-    }
-
-    /* Init the number of messages for notify driver */
-    NotifyDriverCirc.numMsgs = IpcMgr.numNotifyMsgs;
-
-    /* Init the number of messages for messageQ transport */
-    TransportCirc.numMsgs = IpcMgr.numMessageQMsgs;
-    TransportCirc.maxMsgSizeInBytes = IpcMgr.messageQSize;
-    TransportCirc.notifyEventId = IpcMgr.messageQEventId;
-
-    /* Make sure that sharedMemoryOwnerMask is only configured on the M3 */
-    if (!Program.build.target.name.match(/M3.*/) &&
-        IpcMgr.$written("sharedMemoryOwnerMask") == true) {
-        this.$logWarning("Warning: IpcMgr.sharedMemoryOwnerMask must only be " +
-        "configured on the M3 core.  Configuring this on the C28 core has no " +
-        "effect", this);
-    }
-
-    if ((Program.build.target.name.match(/M3.*/)) &&
-        ("sharedMemoryEnable" in Boot)) {
-        if (Boot.$written("sharedMemoryEnable") &&
-            Boot.sharedMemoryEnable != IpcMgr.sharedMemoryEnable) {
-            IpcMgr.$logWarning("Boot.sharedMemoryEnable was set to " +
-            "a value different from IpcMgr.sharedMemoryEnable. " +
-            "IpcMgr.sharedMemoryEnable will override the Boot setting.",
-            IpcMgr, "sharedMemoryEnable");
-        }
-
-        /* override Boot's sharedMemoryEnable with IpcMgr's */
-        Boot.sharedMemoryEnable = IpcMgr.sharedMemoryEnable;
-
-        if (Boot.$written("sharedMemoryOwnerMask") &&
-            Boot.sharedMemoryOwnerMask != IpcMgr.sharedMemoryOwnerMask) {
-            IpcMgr.$logWarning("Boot.sharedMemoryOwnerMask was set to " +
-            "a value different from IpcMgr.sharedMemoryOwnerMask. " +
-            "IpcMgr.sharedMemoryOwnerMask will override the Boot setting.",
-            IpcMgr, "sharedMemoryOwnerMask");
-        }
-
-        /* override Boot's sharedMemoryOwnerMask with IpcMgr's */
-        Boot.sharedMemoryOwnerMask = IpcMgr.sharedMemoryOwnerMask;
-
-        if (Boot.$written("sharedMemoryAccess")) {
-            IpcMgr.$logWarning("Boot.sharedMemoryAccess was modified " +
-            "but IpcMgr.sharedMemoryAccess will override the Boot setting.",
-            IpcMgr, "sharedMemoryAccess");
-        }
-
-        /* override Boot's sharedMemoryAccess with IpcMgr's */
-       for (var i = 0; i < IpcMgr.sharedMemoryAccess.length; i++) {
-            Boot.sharedMemoryAccess[i] = IpcMgr.sharedMemoryAccess[i];
-        }
-    }
-}
-
-/*
- *  ======== module$static$init ========
- */
-function module$static$init(mod, params)
-{
-    /* check to make sure readAddr and writeAddr have been set */
-    if (params.readAddr == undefined) {
-        IpcMgr.$logError("IpcMgr.readAddr is undefined", IpcMgr);
-    }
-
-    if (params.writeAddr == undefined) {
-        IpcMgr.$logError("IpcMgr.writeAddr is undefined", IpcMgr);
-    }
-
-
-    /* init the interrupt ids */
-    if (params.ipcSetFlag < 0 || params.ipcSetFlag > 3) {
-        IpcMgr.$logError("IpcMgr.ipcSetFlag must be 0, 1, 2, or 3 " +
-            "because they are the only flags associated with an interrupt.",
-            IpcMgr);
-    }
-
-    /* calculate the amount of shared memory used */
-    IpcMgr.sharedMemSizeUsed = NotifyDriverCirc.sharedMemReqMeta(null) +
-                               NameServerBlock.sharedMemReqMeta(null) +
-                               TransportCirc.sharedMemReqMeta(null);
-
-    /* validate sharedMemoryOwnerMask is correct for the readAddr/writeAddr */
-    if (Program.build.target.name.match(/M3.*/)) {
-        if ((IpcMgr.writeAddr >= 0x20008000) &&
-            (IpcMgr.writeAddr < 0x20018000)) {
-            /*
-             *  Determine segment being used for the M3 writeAddr.
-             *  The shared RAM base address starts 0x20008000 to 0x20016000.
-             *  Each segment with a length of 0x2000 (byte addressing).
-             */
-            var writeSeg = (IpcMgr.writeAddr - 0x20008000) >> 13;
-
-            /* The M3 must be owner of writeAddr shared memory segment */
-            if (IpcMgr.sharedMemoryOwnerMask & (1 << writeSeg)) {
-                IpcMgr.$logError("IpcMgr.writeAddr is set to address: " +
-                utils.toHex(IpcMgr.writeAddr) + "," +
-                " but IpcMgr.sharedMemoryOwnerMask bit: " + writeSeg +
-                " must not be set. Unset this bit to make M3 the owner.", IpcMgr);
-            }
-        }
-
-        if ((IpcMgr.readAddr >= 0x20008000) &&
-            (IpcMgr.readAddr < 0x20018000)) {
-            /*
-             *  Determine segment being used for the M3 readAddr.
-             *  The shared RAM base address starts 0x20008000 to 0x20016000.
-             *  Each segment with a length of 0x2000 (byte addressing).
-             */
-            var readSeg = (IpcMgr.readAddr - 0x20008000) >> 13;
-
-            /* The C28 must be owner of readAddr shared memory segment */
-            if (!(IpcMgr.sharedMemoryOwnerMask & (1 << readSeg))) {
-                IpcMgr.$logError("IpcMgr.readAddr is set to address: " +
-                utils.toHex(IpcMgr.readAddr) + "," +
-                " but IpcMgr.sharedMemoryOwnerMask bit: " + readSeg +
-                " is not set. This bit must be set so C28 is the owner.", IpcMgr);
-            }
-        }
-    }
-}
-
-/*
- *  ======== module$validate ========
- */
-function module$validate()
-{
-    if ((xdc.module('ti.sdo.ipc.Ipc').$used) ||
-        (xdc.module('ti.sdo.ipc.GateMP').$used) ||
-        (xdc.module('ti.sdo.ipc.SharedRegion').$used) ||
-        (xdc.module('ti.sdo.ipc.ListMP').$used)) {
-        IpcMgr.$logError("One or more of the following modules " +
-            "[Ipc, GateMP, ListMP, SharedRegion] are being used " +
-            "but are not supported on this device.", IpcMgr);
-    }
-}
diff --git a/packages/ti/sdo/ipc/family/f28m35x/NameServerBlock.c b/packages/ti/sdo/ipc/family/f28m35x/NameServerBlock.c
deleted file mode 100644 (file)
index fdb1263..0000000
+++ /dev/null
@@ -1,522 +0,0 @@
-/*
- * Copyright (c) 2012-2013, 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.
- */
-/*
- *  ======== NameServerBlock.c ========
- */
-
-#include <xdc/std.h>
-#include <string.h>
-#include <stdlib.h>
-
-#include <xdc/runtime/Assert.h>
-#include <xdc/runtime/Error.h>
-#include <xdc/runtime/knl/ISync.h>
-
-#include <ti/sysbios/BIOS.h>
-#include <ti/sysbios/hal/Hwi.h>
-#include <ti/sysbios/knl/Swi.h>
-#include <ti/sysbios/knl/Semaphore.h>
-
-#include <ti/sdo/ipc/family/f28m35x/IpcMgr.h>
-
-#include "package/internal/NameServerBlock.xdc.h"
-
-#include <ti/sdo/ipc/_Notify.h>
-#include <ti/sdo/utils/_MultiProc.h>
-#include <ti/sdo/utils/_NameServer.h>
-
-/* Need to use reserved notify events */
-#undef NameServerBlock_notifyEventId
-#define NameServerBlock_notifyEventId \
-        ti_sdo_ipc_family_f28m35x_NameServerBlock_notifyEventId + \
-                    (UInt32)((UInt32)Notify_SYSTEMKEY << 16)
-
-
-
-/*
- *************************************************************************
- *                       Instance functions
- *************************************************************************
- */
-Int NameServerBlock_Instance_init(NameServerBlock_Object *obj,
-        UInt16 remoteProcId,
-        const NameServerBlock_Params *params,
-        Error_Block *eb)
-{
-    Int               status;
-    Semaphore_Params  semParams;
-    Semaphore_Handle  semRemoteWait;
-    Semaphore_Handle  semMultiBlock;
-    Swi_Handle        swiHandle;
-    Swi_Params        swiParams;
-
-    /* Assert that a NameServerBlock_Params has been supplied */
-    Assert_isTrue(params != NULL, IpcMgr_A_nullArgument);
-
-    /* Assert that remoteProcId is valid */
-    Assert_isTrue(remoteProcId != MultiProc_self() &&
-                  remoteProcId != MultiProc_INVALIDID,
-                  IpcMgr_A_invParam);
-
-    semRemoteWait = NameServerBlock_Instance_State_semRemoteWait(obj);
-    semMultiBlock = NameServerBlock_Instance_State_semMultiBlock(obj);
-    swiHandle = NameServerBlock_Instance_State_swiObj(obj);
-
-    obj->readRequest = (NameServerBlock_Message *)(params->readAddr);
-    obj->readResponse = (NameServerBlock_Message *)(
-                        (UInt32)params->readAddr +
-                        sizeof(NameServerBlock_Message));
-    obj->writeRequest = (NameServerBlock_Message *)(params->writeAddr);
-    obj->writeResponse = (NameServerBlock_Message *)(
-                         (UInt32)params->writeAddr +
-                         sizeof(NameServerBlock_Message));
-    obj->remoteProcId = remoteProcId;
-
-    /* construct the Semaphore */
-    Semaphore_Params_init(&semParams);
-    Semaphore_construct(Semaphore_struct(semRemoteWait), 0, &semParams);
-
-    /* construct the semaphore */
-    Semaphore_construct(Semaphore_struct(semMultiBlock), 1, &semParams);
-
-    /* swi created with lowest priority and fxn = swiFxn */
-    Swi_Params_init(&swiParams);
-    swiParams.arg0 = (UArg)obj;
-    swiParams.priority = 0;
-    Swi_construct(Swi_struct(swiHandle),
-                 (ti_sysbios_knl_Swi_FuncPtr)NameServerBlock_swiFxn,
-                 &swiParams, eb);
-
-    /* initialize own side of message struct only */
-    obj->writeRequest->request = 0;
-    obj->writeRequest->value = 0;
-    obj->writeRequest->valueLen = 0;
-
-    memset(obj->writeRequest->instanceName, 0,
-               sizeof(obj->writeRequest->instanceName));
-    memset(obj->writeRequest->name, 0,
-               sizeof(obj->writeRequest->name));
-
-    obj->writeResponse->response = 0;
-    obj->writeResponse->requestStatus = 0;
-
-    /* register the call back function and event Id with notify */
-    status = Notify_registerEventSingle(
-                remoteProcId,
-                0,
-                NameServerBlock_notifyEventId,
-                (Notify_FnNotifyCbck)NameServerBlock_cbFxn,
-                (UArg)swiHandle);
-
-    /* if not successful return */
-    if (status < 0) {
-        Error_raise(eb, IpcMgr_E_internal, 0, 0);
-        return (1);
-    }
-
-    /* register the remote driver with NameServer */
-    ti_sdo_utils_NameServer_registerRemoteDriver(
-            NameServerBlock_Handle_upCast(obj), remoteProcId);
-
-    return (0);
-}
-
-/*
- *  ======== NameServerBlock_Instance_finalize ========
- */
-Void NameServerBlock_Instance_finalize(NameServerBlock_Object *obj,
-    Int status)
-{
-    Semaphore_Handle  semRemoteWait;
-    Semaphore_Handle  semMultiBlock;
-    Swi_Handle        swiHandle;
-
-    if (status == 0) {
-        /* unregister remote driver from NameServer module */
-        ti_sdo_utils_NameServer_unregisterRemoteDriver(obj->remoteProcId);
-
-        /* unregister event from Notify module */
-        Notify_unregisterEventSingle(
-                       obj->remoteProcId,
-                       0,
-                       NameServerBlock_notifyEventId);
-    }
-
-    semRemoteWait = NameServerBlock_Instance_State_semRemoteWait(obj);
-    if (semRemoteWait != NULL) {
-        Semaphore_destruct(Semaphore_struct(semRemoteWait));
-    }
-
-    semMultiBlock = NameServerBlock_Instance_State_semMultiBlock(obj);
-    if (semMultiBlock != NULL) {
-        Semaphore_destruct(Semaphore_struct(semMultiBlock));
-    }
-
-    swiHandle = NameServerBlock_Instance_State_swiObj(obj);
-    if (swiHandle != NULL) {
-        Swi_destruct(Swi_struct(swiHandle));
-    }
-}
-
-/*
- *************************************************************************
- *                       Module functions
- *************************************************************************
- */
-
-/*
- *  ======== NameServerBlock_attach ========
- */
-Int NameServerBlock_attach(UInt16 remoteProcId, Ptr sharedAddr)
-{
-    return (NameServerBlock_E_FAIL);
-}
-
-/*
- *  ======== NameServerBlock_cbFxn ========
- */
-Void NameServerBlock_cbFxn(UInt16 procId,
-                                  UInt16 lineId,
-                                  UInt32 eventId,
-                                  UArg arg,
-                                  UInt32 payload)
-{
-    Swi_Handle swiHandle;
-
-    /* Swi_Handle was passed as arg in register */
-    swiHandle = (Swi_Handle)arg;
-
-    /* post the Swi */
-    Swi_post(swiHandle);
-}
-
-/*
- *  ======== NameServerBlock_detach ========
- */
-Int NameServerBlock_detach(UInt16 remoteProcId)
-{
-    return (NameServerBlock_E_FAIL);
-}
-
-/*
- *  ======== NameServerBlock_get ========
- */
-Int NameServerBlock_get(NameServerBlock_Object *obj,
-                        String instanceName,
-                        String name,
-                        Ptr value,
-                        UInt32 *valueLen,
-                        ISync_Handle syncHandle,
-                        Error_Block *eb)
-{
-    Int len;
-    Int retval = NameServer_E_NOTFOUND;
-    Int status;
-    Semaphore_Handle semRemoteWait;
-    Semaphore_Handle semMultiBlock;
-
-    Assert_isTrue(*valueLen <= (NameServerBlock_bufLen * sizeof(Bits32)),
-                  NameServerBlock_A_invalidValueLen);
-
-    semRemoteWait = NameServerBlock_Instance_State_semRemoteWait(obj);
-    semMultiBlock = NameServerBlock_Instance_State_semMultiBlock(obj);
-
-    /* prevent multiple threads from entering */
-    Semaphore_pend(semMultiBlock, BIOS_WAIT_FOREVER);
-
-    /* this is a request message */
-    obj->writeRequest->request = 1;
-    obj->writeRequest->response = 0;
-    obj->writeRequest->valueLen = *valueLen;
-
-#ifdef xdc_target__isaCompatible_28
-    /*
-     *  On C28, sizeof(Bits32) is 2. When requesting a value from the M3,
-     *  this value needs to be doubled because sizeof(Bits32) is 4 on M3.
-     */
-    obj->writeRequest->valueLen = obj->writeRequest->valueLen << 1;
-
-#else
-    /*
-     *  On M3, sizeof(Bits32) is 4. When requesting a value from the C28,
-     *  this value needs to be halved because sizeof(Bits32) is 2 on C28.
-     */
-    obj->writeRequest->valueLen = obj->writeRequest->valueLen >> 1;
-
-#endif
-
-    /* copy the name of instance into shared memory */
-    len = strlen(instanceName);
-    NameServerBlock_strncpy((Char *)obj->writeRequest->instanceName,
-                            instanceName,
-                            len + 1);
-
-    /* copy the name of nameserver entry into shared memory */
-    len = strlen(name);
-    NameServerBlock_strncpy((Char *)obj->writeRequest->name,
-                            name,
-                            len + 1);
-
-    /* send the notification to remote processor */
-    status = Notify_sendEvent(
-                       obj->remoteProcId,
-                       0,
-                       NameServerBlock_notifyEventId,
-                       0,
-                       FALSE);
-
-    if (status < 0) {
-        /* undo previous options */
-        obj->writeRequest->request = 0;
-        obj->writeRequest->valueLen = 0;
-
-        /* post the semaphore to make sure it doesn't block */
-        Semaphore_post(semMultiBlock);
-
-        return (retval);
-    }
-
-    /* pend here until we get a notification back from remote processor */
-    status = Semaphore_pend(semRemoteWait, BIOS_WAIT_FOREVER);
-
-    if (status == FALSE) {
-        retval = NameServer_E_OSFAILURE;
-    }
-    else {
-        /* if successful request then copy to value */
-        if (obj->readResponse->requestStatus == TRUE) {
-            /* copy to value */
-            if (obj->readResponse->valueLen <= sizeof(UInt32)) {
-                memcpy(value, &(obj->readResponse->value), sizeof(UInt32));
-            }
-            else {
-                memcpy(value, &(obj->readResponse->valueBuf),
-                       obj->readResponse->valueLen);
-            }
-
-            /* set length to amount of data that was copied */
-            *valueLen = obj->readResponse->valueLen;
-
-            /* set the status */
-            retval = NameServer_S_SUCCESS;
-        }
-
-        /* clear out the request */
-        obj->writeRequest->request = 0;
-    }
-
-    Semaphore_post(semMultiBlock);
-
-    return (retval);
-}
-
-/*
- *  ======== NameServerBlock_sharedMemReq ========
- */
-SizeT NameServerBlock_sharedMemReq(Ptr sharedAddr)
-{
-    /*
-     *  Four Message structs are required.
-     *  One for sending request and one for sending response.
-     *  One for receiving request and one for receiving response.
-     */
-    if (ti_sdo_utils_MultiProc_numProcessors > 1) {
-        return (4 * sizeof(NameServerBlock_Message));
-    }
-
-    return (0);
-}
-
-#ifdef xdc_target__isaCompatible_28
-/*
- *  ======== NameServerBlock_strncpy ========
- *  Copies the source string into the destination string as a
- *  packed string.  The length includes the null terminating
- *  character.
- */
-Char* NameServerBlock_strncpy(Char *dest, Char *src, SizeT len)
-{
-    Int i;
-    UInt half = len >> 1;
-
-    /* copy and pack the string */
-    for (i = 0; i < half; i++) {
-        dest[i] = src[i << 1] | (src[(i << 1) + 1] << 8);
-    }
-
-    /* The terminating character */
-    if (len & 1) {
-        /*
-         *  (len = odd) ==> name has even number of characters.
-         *  The next byte is (len >> 1), so zero that out.
-         */
-        dest[half] = '\0';
-    }
-    else {
-        /*
-         *  (len = even) ==> name has odd number of characters.
-         *  Zero out the upper half of the last byte.
-         */
-        dest[half - 1] |= ('\0' << 8);
-    }
-
-    return (dest);
-}
-
-#else
-/*
- *  ======== NameServerBlock_strncpy ========
- */
-Char* NameServerBlock_strncpy(Char *dest, Char *src, SizeT len)
-{
-    return (strncpy(dest, src, len));
-}
-
-#endif
-
-/*
- *  ======== NameServerBlock_swiFxn ========
- */
-Void NameServerBlock_swiFxn(UArg arg)
-{
-    UInt32 valueLen;
-    UInt hwiKey;
-    NameServer_Handle handle;
-    NameServerBlock_Object *obj;
-#ifdef xdc_target__isaCompatible_28
-    static Char instanceName[64];
-    static Char name[64];
-    String ptrIName;
-    String ptrName;
-    Int i;
-#else
-    String instanceName;
-    String name;
-#endif
-    Int status;
-
-    obj = (NameServerBlock_Object *)arg;
-
-    /* In case of request */
-    if (obj->readRequest->request == TRUE) {
-#ifdef xdc_target__isaCompatible_28
-        ptrIName = (String)obj->readRequest->instanceName;
-        ptrName = (String)obj->readRequest->name;
-
-        /* Unpack the string for the C28 */
-        for (i = 0; i < 64; i++) {
-            if (i & 1) {
-                /* odd values are taken from the upper 8 bits shifted */
-                instanceName[i] = ptrIName[i >> 1] >> 8;
-                name[i] = ptrName[i >> 1] >> 8;
-            }
-            else {
-                /* even values are taken from the lower 8 bits */
-                instanceName[i] = ptrIName[i >> 1] & 0xFF;
-                name[i] = ptrName[i >> 1] & 0xFF;
-            }
-        }
-#else
-        /* Strings are in the correct format already */
-        instanceName = (String)obj->readRequest->instanceName;
-        name = (String)obj->readRequest->name;
-#endif
-        /* get the NameServer handle */
-        handle = NameServer_getHandle((String)instanceName);
-        valueLen = obj->readRequest->valueLen;
-
-        if (handle != NULL) {
-            /* Search for the NameServer entry */
-            if (valueLen <= sizeof(UInt32)) {
-                status = NameServer_getLocalUInt32(handle,
-                    (String)name,
-                    &obj->writeResponse->value);
-            }
-            else {
-                status = NameServer_getLocal(handle,
-                    (String)name,
-                    &obj->writeResponse->valueBuf, &valueLen);
-            }
-        }
-        else {
-            status = NameServer_E_FAIL;
-        }
-
-        /*
-         *  If an entry was found, set requestStatus to TRUE
-         *  and valueLen to the size of data that was copied.
-         */
-        if (status == NameServer_S_SUCCESS) {
-            obj->writeResponse->requestStatus = TRUE;
-#ifdef xdc_target__isaCompatible_28
-            obj->writeResponse->valueLen = (valueLen << 1);
-#else
-            obj->writeResponse->valueLen = (valueLen >> 1);
-#endif
-        }
-        else {
-            obj->writeResponse->requestStatus = FALSE;
-            obj->writeResponse->valueLen = 0;
-        }
-
-        /* Send a response back */
-        obj->writeResponse->response = TRUE;
-
-        /*
-         *  The Notify line must be active at this point for this processor to
-         *  have received a request
-         */
-        status = Notify_sendEvent(obj->remoteProcId,
-                0, NameServerBlock_notifyEventId, 0, FALSE);
-
-        /* The NS query could fail, but the reply should never fail */
-        Assert_isTrue(status >= 0, IpcMgr_A_internal);
-    }
-
-    /* in case of response */
-    if (obj->readResponse->response == TRUE &&
-        obj->writeRequest->response == FALSE) {
-
-        /* disable interrupts */
-        hwiKey = Hwi_disable();
-
-        /* acknowledge receive of response atomically with posting semaphore */
-        obj->writeRequest->response = TRUE;
-
-        /* post the Semaphore */
-        Semaphore_post(
-            NameServerBlock_Instance_State_semRemoteWait(obj));
-
-        /* restore interrupts */
-        Hwi_restore(hwiKey);
-    }
-}
diff --git a/packages/ti/sdo/ipc/family/f28m35x/NameServerBlock.xdc b/packages/ti/sdo/ipc/family/f28m35x/NameServerBlock.xdc
deleted file mode 100644 (file)
index ae3e9e7..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright (c) 2012-2013, 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.
- */
-/*
- *  ======== NameServerBlock.xdc ========
- */
-
-import xdc.runtime.Error;
-import xdc.runtime.Assert;
-import ti.sysbios.knl.Swi;
-import ti.sysbios.knl.Semaphore;
-import ti.sdo.utils.INameServerRemote;
-
-/*! @_nodoc
- *  ======== NameServerBlock ========
- *  Used by NameServer to communicate to remote processors.
- *
- *  This module is used by {@link ti.sdo.utils.NameServer} to communicate
- *  to remote processors using {@link ti.sdo.ipc.Notify} and shared memory.
- *  There needs to be one instance between each two cores in the system.
- *  Interrupts must be enabled before using this module.  Currently
- *  supports transferring up to 44-bytes between two cores.
- */
-@InstanceInitError
-@InstanceFinalize
-
-module NameServerBlock inherits INameServerRemote
-{
-    /* structure in shared memory for retrieving value */
-    struct Message {
-        Bits32  request;            /* if this is a request set to 1    */
-        Bits32  response;           /* if this is a response set to 1   */
-        Bits32  requestStatus;      /* if request sucessful set to 1    */
-        Bits32  value;              /* holds value if len <= 4          */
-        Bits32  valueLen;           /* len of value                     */
-        Bits32  instanceName[8];    /* name of NameServer instance      */
-        Bits32  name[8];            /* name of NameServer entry         */
-        Bits32  valueBuf[bufLen];   /* supports up to 44-byte value     */
-    };
-
-    /*!
-     *  Assert raised when length of value larger then 44 bytes.
-     */
-    config xdc.runtime.Assert.Id A_invalidValueLen =
-        {msg: "A_invalidValueLen: Invalid valueLen (too large)"};
-
-    /*! @_nodoc
-     *  ======== notifyEventId ========
-     *  The Notify event ID.
-     */
-    config UInt32 notifyEventId = 4;
-
-    /*! @_nodoc
-     *  ======== sharedMemReqMeta ========
-     *  Amount of shared memory required for creation of each instance
-     *
-     *  @param(params)      Pointer to the parameters that will be used in
-     *                      create.
-     *
-     *  @a(returns)         Size of shared memory in MAUs on local processor.
-     */
-    metaonly SizeT sharedMemReqMeta(const Params *params);
-
-instance:
-
-    /*!
-     *  ======== readAddr ========
-     *  Read address of the shared memory
-     *
-     *  The address must be specified in the local core's memory space.
-     *  It must point to the same physical address as the writeAddr for
-     *  the remote processor.
-     */
-    config Ptr readAddr = null;
-
-    /*!
-     *  ======== writeAddr ========
-     *  Write address of the shared memory
-     *
-     *  The address must be specified in the local core's memory space.
-     *  It must point to the same physical address as the readAddr for
-     *  the remote processor.
-     */
-    config Ptr writeAddr = null;
-
-internal:
-
-    /*! used by Message struct for length of valueBuf */
-    const UInt bufLen = 11;
-
-    /*!
-     *  ======== cbFxn ========
-     *  The call back function registered with Notify.
-     *
-     *  This function is registered with Notify as a call back function
-     *  when the specified event is triggered.  This function simply posts
-     *  a Swi which will process the event.
-     *
-     *  @param(procId)          Source proc id
-     *  @param(lineId)          Interrupt line id
-     *  @param(eventId)         the Notify event id.
-     *  @param(arg)             the argument for the function.
-     *  @param(payload)         a 32-bit payload value.
-     */
-    Void cbFxn(UInt16 procId, UInt16 lineId, UInt32 eventId, UArg arg,
-               UInt32 payload);
-
-    /*!
-     *  ======== strncpy ========
-     *  Copies the source string into the destination string.
-     *
-     *  For the M3, this function calls the 'C' runtime strncpy().
-     *  For the C28, this function packs the source string into
-     *  the destination string.
-     *
-     *  @param(dest)        Destination string.
-     *  @param(src)         Source string.
-     *  @param(len)         len of string to copy.
-     *
-     *  @a(returns)         Destination string.
-     */
-    Char* strncpy(Char *dest, Char *src, SizeT len);
-
-    /*!
-     *  ======== swiFxn ========
-     *  The swi function that will be executed during the call back.
-     *
-     *  @param(arg)     argument to swi function
-     */
-    Void swiFxn(UArg arg);
-
-    /* instance state */
-    struct Instance_State {
-        Message             *readRequest;
-        Message             *readResponse;
-        Message             *writeRequest;  /* Ptrs to messages in shared mem */
-        Message             *writeResponse; /* Ptrs to messages in shared mem */
-        UInt16              regionId;       /* SharedRegion ID                */
-        Semaphore.Object    semRemoteWait;  /* sem to wait on remote proc     */
-        Semaphore.Object    semMultiBlock;  /* sem to block multiple threads  */
-        Swi.Object          swiObj;         /* instance swi object            */
-        UInt16              remoteProcId;   /* remote MultiProc id            */
-    };
-}
diff --git a/packages/ti/sdo/ipc/family/f28m35x/NameServerBlock.xs b/packages/ti/sdo/ipc/family/f28m35x/NameServerBlock.xs
deleted file mode 100644 (file)
index d8f034b..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (c) 2012-2013, 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.
- */
-/*
- *  ======== NameServerBlock.xs ========
- */
-
-var NameServerBlock = null;
-var NameServer      = null;
-var MultiProc       = null;
-var Notify          = null;
-var Semaphore       = null;
-var Swi             = null;
-var IpcMgr          = null;
-
-/*
- *  ======== module$use ========
- */
-function module$use()
-{
-    NameServerBlock = this;
-    NameServer      = xdc.useModule("ti.sdo.utils.NameServer");
-    MultiProc       = xdc.useModule("ti.sdo.utils.MultiProc");
-    Notify          = xdc.useModule("ti.sdo.ipc.Notify");
-    Semaphore       = xdc.useModule("ti.sysbios.knl.Semaphore");
-    Swi             = xdc.useModule("ti.sysbios.knl.Swi");
-    IpcMgr          = xdc.useModule('ti.sdo.ipc.family.f28m35x.IpcMgr');
-}
-
-/*
- *  ======== module$validate ========
- */
-function module$validate()
-{
-    if (Notify.numEvents <= NameServerBlock.notifyEventId) {
-        NameServerBlock.$logFatal(
-            "NameServerBlock.notifyEventId (" +
-            NameServerBlock.notifyEventId +
-            ") is too big: Notify.numEvents = " + Notify.numEvents,
-            NameServerBlock);
-    }
-}
-
-/*
- *  ======== sharedMemReqMeta ========
- */
-function sharedMemReqMeta(params)
-{
-    /*
-     *  Four Message structs are required.
-     *  One for sending request and one for sending response.
-     *  One for receiving request and one for receiving response.
-     */
-    if (MultiProc.numProcessors > 1) {
-        return (4 * NameServerBlock.Message.$sizeof());
-    }
-
-    return (0);
-}
diff --git a/packages/ti/sdo/ipc/family/f28m35x/NotifyDriverCirc.c b/packages/ti/sdo/ipc/family/f28m35x/NotifyDriverCirc.c
deleted file mode 100644 (file)
index 3641b2d..0000000
+++ /dev/null
@@ -1,459 +0,0 @@
-/*
- * Copyright (c) 2012-2013, 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.
- */
-/*
- *  ======== NotifyDriverCirc.c ========
- */
-
-#include <xdc/std.h>
-
-#include <xdc/runtime/Assert.h>
-#include <xdc/runtime/Timestamp.h>
-
-#ifdef xdc_target__isaCompatible_v7M
-#include <ti/sysbios/family/arm/m3/Hwi.h>
-#else
-#include <ti/sysbios/family/c28/Hwi.h>
-#endif
-
-#include <ti/sdo/ipc/family/f28m35x/IpcMgr.h>
-#include <ti/sdo/ipc/interfaces/INotifyDriver.h>
-
-#include "package/internal/NotifyDriverCirc.xdc.h"
-
-#include <ti/sdo/ipc/_Notify.h>
-#include <ti/sdo/utils/_MultiProc.h>
-
-/* Bit mask operations */
-#define SET_BIT(num,pos)            ((num) |= (1u << (pos)))
-#define CLEAR_BIT(num,pos)          ((num) &= ~(1u << (pos)))
-#define TEST_BIT(num,pos)           ((num) & (1u << (pos)))
-
-/* For the M3 */
-#define CTOMIPCACK  (0x400FB700)
-#define CTOMIPCSTS  (CTOMIPCACK + 0x4)
-#define MTOCIPCSET  (CTOMIPCACK + 0x8)
-#define MTOCIPCCLR  (CTOMIPCACK + 0xC)
-#define MTOCIPCFLG  (CTOMIPCACK + 0x10)
-
-/* For the C28 */
-#define CTOMIPCSET  (0x00004E00)
-#define CTOMIPCCLR  (CTOMIPCSET + 0x2)
-#define CTOMIPCFLG  (CTOMIPCSET + 0x4)
-#define MTOCIPCACK  (CTOMIPCSET + 0x6)
-#define MTOCIPCSTS  (CTOMIPCSET + 0x8)
-
-/*
- **************************************************************
- *                       Instance functions
- **************************************************************
- */
-
-/*
- *  ======== NotifyDriverCirc_Instance_init ========
- */
-Void NotifyDriverCirc_Instance_init(NotifyDriverCirc_Object *obj,
-    const NotifyDriverCirc_Params *params)
-{
-    SizeT  ctrlSize, circBufSize;
-    Hwi_Params  hwiParams;
-
-    /*
-     *  This code assumes that the device's C28 and M3 MultiProc Ids
-     *  are next to each other (e.g. n and n + 1) and that the first
-     *  one is even (e.g. n is even).
-     */
-    /* set the remote processor's id */
-    if (MultiProc_self() & 1) {
-        /* I'm odd */
-        obj->remoteProcId = MultiProc_self() - 1;
-    }
-    else {
-        /* I'm even */
-        obj->remoteProcId = MultiProc_self() + 1;
-    }
-
-    /* calculate the circular buffer size one-way */
-    circBufSize = sizeof(NotifyDriverCirc_EventEntry) *
-                  NotifyDriverCirc_numMsgs;
-
-    /* calculate the control size one-way */
-    ctrlSize = sizeof(Bits32);
-
-    /*
-     *  Init put/get buffer and index pointers.
-     */
-    obj->putBuffer = params->writeAddr;
-
-    obj->putWriteIndex = (Bits32 *)((UInt32)obj->putBuffer + circBufSize);
-
-    obj->getBuffer = params->readAddr;
-
-    obj->getWriteIndex = (Bits32 *)((UInt32)obj->getBuffer + circBufSize);
-
-    obj->putReadIndex = (Bits32 *)((UInt32)obj->getWriteIndex + ctrlSize);
-
-    obj->getReadIndex = (Bits32 *)((UInt32)obj->putWriteIndex + ctrlSize);
-
-    /* init the putWrite and getRead Index to 0 */
-    obj->putWriteIndex[0] = 0;
-    obj->getReadIndex[0] = 0;
-
-    /* clear interrupt */
-    NotifyDriverCirc_intClear();
-
-    /* plugged interrupt */
-    Hwi_Params_init(&hwiParams);
-    hwiParams.arg = (UArg)obj;
-    Hwi_create(NotifyDriverCirc_localIntId,
-              (Hwi_FuncPtr)NotifyDriverCirc_isr,
-              &hwiParams,
-              NULL);
-
-    /* Enable the interrupt */
-    Hwi_enableInterrupt(NotifyDriverCirc_localIntId);
-}
-
-/*
- *  ======== NotifyDriverCirc_Instance_finalize ========
- */
-Void NotifyDriverCirc_Instance_finalize(NotifyDriverCirc_Object *obj)
-{
-    Hwi_Handle  hwiHandle;
-
-    /* Disable the interrupt source */
-    NotifyDriverCirc_intDisable();
-
-    /* Delete the Hwi */
-    hwiHandle = Hwi_getHandle(NotifyDriverCirc_localIntId);
-    Hwi_delete(&hwiHandle);
-}
-
-/*
- *  ======== NotifyDriverCirc_registerEvent ========
- */
-Void NotifyDriverCirc_registerEvent(NotifyDriverCirc_Object *obj,
-                                    UInt32 eventId)
-{
-    UInt hwiKey;
-
-    /*
-     *  Disable interrupt line to ensure that isr doesn't
-     *  preempt registerEvent and encounter corrupt state
-     */
-    hwiKey = Hwi_disable();
-
-    /* Set the 'registered' bit */
-    SET_BIT(obj->evtRegMask, eventId);
-
-    /* Restore the interrupt line */
-    Hwi_restore(hwiKey);
-}
-
-/*
- *  ======== NotifyDriverCirc_unregisterEvent ========
- */
-Void NotifyDriverCirc_unregisterEvent(NotifyDriverCirc_Object *obj,
-                                      UInt32 eventId)
-{
-    UInt hwiKey;
-
-    /*
-     *  Disable interrupt line to ensure that isr doesn't
-     *  preempt registerEvent and encounter corrupt state
-     */
-    hwiKey = Hwi_disable();
-
-    /* Clear the registered bit */
-    CLEAR_BIT(obj->evtRegMask, eventId);
-
-    /* Restore the interrupt line */
-    Hwi_restore(hwiKey);
-}
-
-/*
- *  ======== NotifyDriverCirc_sendEvent ========
- */
-Int NotifyDriverCirc_sendEvent(NotifyDriverCirc_Object *obj,
-                               UInt32 eventId,
-                               UInt32 payload,
-                               Bool  waitClear)
-{
-    Bool loop = FALSE;
-    UInt hwiKey;
-    UInt32 writeIndex, readIndex;
-    NotifyDriverCirc_EventEntry *eventEntry;
-
-    /* Retrieve the get Index. */
-    readIndex = obj->putReadIndex[0];
-
-    do {
-        /* disable interrupts */
-        hwiKey = Hwi_disable();
-
-        /* retrieve the put index */
-        writeIndex = obj->putWriteIndex[0];
-
-        /* if slot available 'break' out of loop */
-        if (((writeIndex + 1) & NotifyDriverCirc_maxIndex) != readIndex) {
-            break;
-        }
-
-        /* restore interrupts */
-        Hwi_restore(hwiKey);
-
-        /* check to make sure code has looped */
-        if (loop && !waitClear) {
-            /* if no slot available and waitClear is 'FALSE' */
-            return (Notify_E_FAIL);
-        }
-
-        /* re-read the get count */
-        readIndex = obj->putReadIndex[0];
-
-        /* convey that the code has looped around */
-        loop = TRUE;
-
-    } while (1);
-
-    /* interrupts are disabled at this point */
-
-    /* calculate the next available entry */
-    eventEntry = (NotifyDriverCirc_EventEntry *)((UInt32)obj->putBuffer +
-                 (writeIndex * sizeof(NotifyDriverCirc_EventEntry)));
-
-    /* Set the eventId field and payload for the entry */
-    eventEntry->eventid = eventId;
-    eventEntry->payload = payload;
-
-    /* update the putWriteIndex */
-    obj->putWriteIndex[0] = (writeIndex + 1) & NotifyDriverCirc_maxIndex;
-
-    /* restore interrupts */
-    Hwi_restore(hwiKey);
-
-    /* Send an interrupt to the Remote Processor */
-    NotifyDriverCirc_intSend();
-
-    return (Notify_S_SUCCESS);
-}
-
-/*
- *  ======== NotifyDriverCirc_disable ========
- */
-Void NotifyDriverCirc_disable(NotifyDriverCirc_Object *obj)
-{
-    /* Disable the incoming interrupt line */
-    NotifyDriverCirc_intDisable();
-}
-
-/*
- *  ======== NotifyDriverCirc_enable ========
- */
-Void NotifyDriverCirc_enable(NotifyDriverCirc_Object *obj)
-{
-    /* Enable the incoming interrupt line */
-    NotifyDriverCirc_intEnable();
-}
-
-/*
- *  ======== NotifyDriverCirc_disableEvent ========
- *  This function disbales all events.
- */
-Void NotifyDriverCirc_disableEvent(NotifyDriverCirc_Object *obj,
-                                   UInt32 eventId)
-{
-    /* NotifyDriverCirc_disableEvent not supported by this driver */
-    Assert_isTrue(FALSE, NotifyDriverCirc_A_notSupported);
-}
-
-/*
- *  ======== NotifyDriverCirc_enableEvent ========
- *  This function enables all events.
- */
-Void NotifyDriverCirc_enableEvent(NotifyDriverCirc_Object *obj,
-                                  UInt32 eventId)
-{
-    /* NotifyDriverCirc_enableEvent not supported by this driver */
-    Assert_isTrue(FALSE, NotifyDriverCirc_A_notSupported);
-}
-
-/*
- *************************************************************************
- *                       Module functions
- *************************************************************************
- */
-
-/*
- *  ======== NotifyDriverCirc_sharedMemReq ========
- */
-SizeT NotifyDriverCirc_sharedMemReq(const NotifyDriverCirc_Params *params)
-{
-    SizeT memReq;
-
-    /* Ensure that params is non-NULL */
-    Assert_isTrue(params != NULL, IpcMgr_A_internal);
-
-    /*
-     *  Amount of shared memory:
-     *  1 putBuffer with numMsgs +
-     *  1 putWriteIndex ptr      +
-     *  1 putReadIndex ptr
-     */
-    memReq =
-        (sizeof(NotifyDriverCirc_EventEntry) * NotifyDriverCirc_numMsgs)
-        + (2 * sizeof(Bits32));
-
-    return (memReq);
-}
-
-/*
- *************************************************************************
- *                       Internal functions
- *************************************************************************
- */
-/*
- *  ======== NotifyDriverCirc_intEnable ========
- *  Enable remote processor interrupt
- */
-Void NotifyDriverCirc_intEnable()
-{
-    Hwi_enableInterrupt(NotifyDriverCirc_localIntId);
-}
-
-/*
- *  ======== NotifyDriverCirc_intDisable ========
- *  Disables remote processor interrupt
- */
-Void NotifyDriverCirc_intDisable()
-{
-    Hwi_disableInterrupt(NotifyDriverCirc_localIntId);
-}
-
-/*
- *  ======== NotifyDriverCirc_intSend ========
- *  Send interrupt to the remote processor
- */
-Void NotifyDriverCirc_intSend()
-{
-#ifdef xdc_target__isaCompatible_v7M
-    volatile UInt32 *set = (volatile UInt32 *)MTOCIPCSET;
-    volatile UInt32 *clear  = (volatile UInt32 *)MTOCIPCCLR;
-#else
-    volatile UInt16 *set = (volatile UInt16 *)CTOMIPCSET;
-    volatile UInt32 *clear  = (volatile UInt32 *)CTOMIPCCLR;
-#endif
-    UInt hwiKey;
-
-    /* Make sure multiple threads are not hitting this at the same time */
-    hwiKey = Hwi_disable();
-
-    /* Make sure we get a leading edge... */
-    *clear  = 1 << IpcMgr_ipcSetFlag;
-
-    /* Signal the other side */
-    *set = 1 << IpcMgr_ipcSetFlag;
-
-    /* Restore the interrupt line */
-    Hwi_restore(hwiKey);
-}
-
-/*
- *  ======== NotifyDriverCirc_intClear ========
- *  Clear interrupt
- */
-UInt NotifyDriverCirc_intClear()
-{
-#ifdef xdc_target__isaCompatible_v7M
-    volatile UInt32 *ack = (volatile UInt32 *)CTOMIPCACK;
-#else
-    volatile UInt16 *ack = (volatile UInt16 *)MTOCIPCACK;
-#endif
-
-    *ack = 1 << IpcMgr_ipcSetFlag;
-
-    return (0);
-}
-
-/*
- *  ======== NotifyDriverCirc_isr ========
- */
-Void NotifyDriverCirc_isr(UArg arg)
-{
-    NotifyDriverCirc_EventEntry *eventEntry;
-    NotifyDriverCirc_Object     *obj;
-    UInt32 writeIndex, readIndex;
-
-    obj = (NotifyDriverCirc_Object *)arg;
-
-    /* Make sure the NotifyDriverCirc_Object is not NULL */
-    Assert_isTrue(obj != NULL, IpcMgr_A_internal);
-
-    /* get the writeIndex and readIndex */
-    writeIndex = obj->getWriteIndex[0];
-    readIndex = obj->getReadIndex[0];
-
-    /* get the event */
-    eventEntry = &(obj->getBuffer[readIndex]);
-
-    /* if writeIndex != readIndex then there is an event to process */
-    while (writeIndex != readIndex) {
-        /*
-         *  Check to make sure event is registered. If the event
-         *  is not registered, the event is not processed and is lost.
-         */
-        if (TEST_BIT(obj->evtRegMask, eventEntry->eventid)) {
-            /* Execute the callback function */
-            ti_sdo_ipc_Notify_exec(obj->notifyHandle,
-                                   eventEntry->eventid,
-                                   eventEntry->payload);
-        }
-
-        /* update the readIndex. */
-        readIndex = ((readIndex + 1) & NotifyDriverCirc_maxIndex);
-
-        /* set the getReadIndex */
-        obj->getReadIndex[0] = readIndex;
-
-        /* get the next event */
-        eventEntry = &(obj->getBuffer[readIndex]);
-    }
-}
-
-/*
- *  ======== NotifyDriverCirc_setNotifyHandle ========
- */
-Void NotifyDriverCirc_setNotifyHandle(NotifyDriverCirc_Object *obj,
-                                      Ptr notifyHandle)
-{
-    /* Internally used, so no Assert needed */
-    obj->notifyHandle = (ti_sdo_ipc_Notify_Handle)notifyHandle;
-}
diff --git a/packages/ti/sdo/ipc/family/f28m35x/NotifyDriverCirc.xdc b/packages/ti/sdo/ipc/family/f28m35x/NotifyDriverCirc.xdc
deleted file mode 100644 (file)
index f65b6e0..0000000
+++ /dev/null
@@ -1,292 +0,0 @@
-/*
- * Copyright (c) 2012-2013, 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.
- */
-/*
- *  ======== NotifyDriverCirc.xdc ================
- */
-
-import ti.sdo.utils.MultiProc;
-import ti.sdo.ipc.interfaces.INotifyDriver;
-import ti.sdo.ipc.notifyDrivers.IInterrupt;
-import ti.sdo.ipc.Notify;
-
-import xdc.rov.ViewInfo;
-
-import xdc.runtime.Assert;
-
-/*!
- *  ======== NotifyDriverCirc ========
- *  Shared memory driver using circular buffer for F28M35x devices.
- *
- *  This is a {@link ti.sdo.ipc.Notify} driver that utilizes shared memory
- *  and inter-processor hardware interrupts for notification between cores.
- *
- *  This driver is designed to work with only F28M35x family of devices.
- *  This module needs to be plugged with an appropriate module that implements
- *  the {@link ti.sdo.ipc.notifyDrivers.IInterrupt} interface for a given
- *  device.
- *
- *  The driver utilizes shared memory in the manner indicated by the following
- *  diagram.
- *
- *  @p(code)
- *
- *  NOTE: Processor '0' corresponds to the M3 and '1' corresponds to the C28
- *
- * sharedAddr -> --------------------------- bytes
- *               |  eventEntry0  (0)       | 8
- *               |  eventEntry1  (0)       | 8
- *               |  ...                    |
- *               |  eventEntry15 (0)       | 8
- *               |                         |
- *               |-------------------------|
- *               |  eventEntry16 (0)       | 8
- *               |  eventEntry17 (0)       | 8
- *               |  ...                    |
- *               |  eventEntry31 (0)       | 8
- *               |                         |
- *               |-------------------------|
- *               |  putWriteIndex (0)      | 4
- *               |                         |
- *               |-------------------------|
- *               |  getReadIndex (1)       | 4
- *               |                         |
- *               |-------------------------|
- *               |  eventEntry0  (1)       | 8
- *               |  eventEntry1  (1)       | 8
- *               |  ...                    |
- *               |  eventEntry15 (1)       | 8
- *               |                         |
- *               |-------------------------|
- *               |  eventEntry16 (1)       | 8
- *               |  eventEntry17 (1)       | 8
- *               |  ...                    |
- *               |  eventEntry31 (1)       | 8
- *               |                         |
- *               |-------------------------|
- *               |  putWriteIndex (1)      | 4
- *               |                         |
- *               |-------------------------|
- *               |  getReadIndex (0)       | 4
- *               |                         |
- *               |-------------------------|
- *
- *
- *  Legend:
- *  (0), (1) : belongs to the respective processor
- *
- *  @p
- */
-
-@InstanceFinalize
-
-module NotifyDriverCirc inherits ti.sdo.ipc.interfaces.INotifyDriver
-{
-    /*! @_nodoc */
-    metaonly struct BasicView {
-        String      remoteProcName;
-        UInt        bufSize;
-        UInt        spinCount;
-        UInt        maxSpinWait;
-    }
-
-    /*! @_nodoc */
-    metaonly struct EventDataView {
-        UInt        index;
-        String      buffer;
-        Ptr         addr;
-        UInt        eventId;
-        Ptr         payload;
-    }
-
-    /*!
-     *  ======== rovViewInfo ========
-     */
-    @Facet
-    metaonly config ViewInfo.Instance rovViewInfo =
-        ViewInfo.create({
-            viewMap: [
-                ['Basic',
-                    {
-                        type: ViewInfo.INSTANCE,
-                        viewInitFxn: 'viewInitBasic',
-                        structName: 'BasicView'
-                    }
-                ],
-                ['Events',
-                    {
-                        type: ViewInfo.INSTANCE_DATA,
-                        viewInitFxn: 'viewInitData',
-                        structName: 'EventDataView'
-                    }
-                ],
-            ]
-        });
-
-    /*!
-     *  Assert raised when trying to use Notify_[enable/disable]Event with
-     *  NotifyDriverCirc
-     */
-    config Assert.Id A_notSupported =
-        {msg: "A_notSupported: [enable/disable]Event not supported by NotifyDriverCirc"};
-
-    /*! @_nodoc
-     *  ======== numMsgs ========
-     *  The number of messages or slots in the circular buffer
-     *
-     *  This is use to determine the size of the put and get buffers.
-     *  Each eventEntry is two 32bits wide, therefore the total size
-     *  of each circular buffer is [numMsgs * sizeof(eventEntry)].
-     */
-    config UInt numMsgs = 16;
-
-    /*!
-     *  ======== sharedMemReq ========
-     *  Amount of shared memory required for creation of each instance
-     *
-     *  @param(params)      Pointer to parameters that will be used in the
-     *                      create
-     *
-     *  @a(returns)         Number of MAUs in shared memory needed to create
-     *                      the instance.
-     */
-    SizeT sharedMemReq(const Params *params);
-
-    /*! @_nodoc
-     *  ======== sharedMemReqMeta ========
-     *  Amount of shared memory required
-     *
-     *  @param(params)      Pointer to the parameters that will be used in
-     *                      create.
-     *
-     *  @a(returns)         Size of shared memory in MAUs on local processor.
-     */
-    metaonly SizeT sharedMemReqMeta(const Params *params);
-
-instance:
-
-    /*!
-     *  ======== readAddr ========
-     *  Address in shared memory where buffer is placed
-     *
-     *  Use {@link #sharedMemReq} to determine the amount of shared memory
-     *  required.
-     */
-    config Ptr readAddr = null;
-
-    /*!
-     *  ======== writeAddr ========
-     *  Address in shared memory where buffer is placed
-     *
-     *  Use {@link #sharedMemReq} to determine the amount of shared memory
-     *  required.
-     */
-    config Ptr writeAddr = null;
-
-internal:
-
-    /*!
-     *  ======== localIntId ========
-     *  Local interrupt ID for interrupt line
-     *
-     *  For devices that support multiple inter-processor interrupt lines, this
-     *  configuration parameter allows selecting a specific line to use for
-     *  receiving an interrupt.  The value specified here corresponds to the
-     *  incoming interrupt line on the local processor.
-     */
-    config UInt localIntId;
-
-    /*!
-     *  ======== remoteIntId ========
-     *  Remote interrupt ID for interrupt line
-     *
-     *  For devices that support multiple inter-processor interrupt lines, this
-     *  configuration parameter allows selecting a specific line to use for
-     *  receiving an interrupt.  The value specified here corresponds to the
-     *  incoming interrupt line on the remote processor.
-     */
-    config UInt remoteIntId;
-
-    /*! The max index set to (numMsgs - 1) */
-    config UInt maxIndex;
-
-    /*!
-     *  The modulo index value. Set to (numMsgs / 4).
-     *  Used in the isr for doing cache_wb of readIndex.
-     */
-    config UInt modIndex;
-
-    /*!
-     *  enable IPC interrupt
-     */
-    Void intEnable();
-
-    /*!
-     *  disable IPC interrupt
-     */
-    Void intDisable();
-
-    /*!
-     *  trigger IPC interrupt
-     */
-    Void intSend();
-
-    /*!
-     *  clear IPC interrupt
-     */
-    UInt intClear();
-
-    /*!
-     *  executes the callback functions according to event priority
-     */
-    Void isr(UArg arg);
-
-    /*!
-     *  Structure for each event. This struct is placed in shared memory.
-     */
-    struct EventEntry {
-        volatile Bits32 eventid;
-        volatile Bits32 payload;
-    }
-
-    /*! Instance state structure */
-    struct Instance_State {
-        EventEntry       *putBuffer;     /* buffer used to put events        */
-        Bits32           *putReadIndex;  /* ptr to readIndex for put buffer  */
-        Bits32           *putWriteIndex; /* ptr to writeIndex for put buffer */
-        EventEntry       *getBuffer;     /* buffer used to get events        */
-        Bits32           *getReadIndex;  /* ptr to readIndex for get buffer  */
-        Bits32           *getWriteIndex; /* ptr to writeIndex for put buffer */
-        Bits32           evtRegMask;     /* local event register mask        */
-        Notify.Handle    notifyHandle;   /* Handle to front-end object       */
-        UInt16           remoteProcId;   /* Remote MultiProc id              */
-    }
-}
diff --git a/packages/ti/sdo/ipc/family/f28m35x/NotifyDriverCirc.xs b/packages/ti/sdo/ipc/family/f28m35x/NotifyDriverCirc.xs
deleted file mode 100644 (file)
index 7d2b410..0000000
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * Copyright (c) 2012-2013, 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.
- */
-/*
- *  ======== NotifyDriverCirc.xs ================
- */
-
-var NotifyDriverCirc = null;
-var IpcMgr           = null;
-var MultiProc        = null;
-var Notify           = null;
-var Hwi              = null;
-
-var MTOCIPC = [ 112, 113, 114, 115 ];
-var CTOMIPC = [ 96, 97, 98, 99 ];
-
-/*
- *  ======== module$use ========
- */
-function module$use()
-{
-    NotifyDriverCirc = this;
-    IpcMgr           = xdc.useModule("ti.sdo.ipc.family.f28m35x.IpcMgr");
-    MultiProc        = xdc.useModule("ti.sdo.utils.MultiProc");
-    Notify           = xdc.useModule("ti.sdo.ipc.Notify");
-    Hwi              = xdc.useModule("ti.sysbios.hal.Hwi");
-}
-
-/*
- *  ======== module$static$init ========
- */
-function module$static$init(mod, params)
-{
-    NotifyDriverCirc.maxIndex = NotifyDriverCirc.numMsgs - 1;
-    NotifyDriverCirc.modIndex = NotifyDriverCirc.numMsgs / 4;
-
-    /* determine the local and remote interrupt id */
-    if (Program.build.target.name.match(/C28.*/)) {
-        NotifyDriverCirc.localIntId = MTOCIPC[IpcMgr.ipcSetFlag];
-        NotifyDriverCirc.remoteIntId = CTOMIPC[IpcMgr.ipcSetFlag];
-    }
-    else {
-        NotifyDriverCirc.localIntId = CTOMIPC[IpcMgr.ipcSetFlag];
-        NotifyDriverCirc.remoteIntId = MTOCIPC[IpcMgr.ipcSetFlag];
-    }
-}
-
-/*
- *  ======== sharedMemReqMeta ========
- */
-function sharedMemReqMeta(params)
-{
-    /*
-     *  Amount of shared memory:
-     *  1 putBuffer with numMsgs +
-     *  1 putWriteIndex ptr      +
-     *  1 putReadIndex ptr
-     */
-    memReq =
-        (NotifyDriverCirc.EventEntry.$sizeof() * NotifyDriverCirc.numMsgs) +
-        (2 * Program.build.target.stdTypes['t_Int32'].size);
-
-    return (memReq);
-}
-
-/*
- *************************************************************************
- *                       ROV View functions
- *************************************************************************
- */
-
-/*
- *  ======== viewInitBasic ========
- */
-function viewInitBasic(view, obj)
-{
-    var MultiProc = xdc.useModule('ti.sdo.utils.MultiProc');
-    var MultiProcCfg = Program.getModuleConfig('ti.sdo.utils.MultiProc');
-    var modCfg =
-        Program.getModuleConfig('ti.sdo.ipc.family.f28m35x.NotifyDriverCirc');
-
-    /* view.remoteProcName */
-    try {
-        view.remoteProcName = MultiProc.getName$view(obj.remoteProcId -
-                                  MultiProcCfg.baseIdOfCluster);
-    }
-    catch(e) {
-        Program.displayError(view, 'remoteProcName',
-                             "Problem retrieving proc name: " + e);
-    }
-
-    /* view obj information */
-    view.bufSize      = modCfg.numMsgs;
-    view.spinCount    = obj.spinCount;
-    view.maxSpinWait  = obj.spinWaitTime;;
-}
-
-/*
- *  ======== getEventData ========
- *  Helper function for use within viewInitData
- */
-function getEventData(view, obj, bufferPtr, putIndex, getIndex)
-{
-    var NotifyDriverCirc =
-        xdc.useModule('ti.sdo.ipc.family.f28m35x.NotifyDriverCirc');
-    var modCfg =
-        Program.getModuleConfig('ti.sdo.ipc.family.f28m35x.NotifyDriverCirc');
-
-    if (bufferPtr == obj.putBuffer) {
-        var bufferName = "put";
-    }
-    else {
-        var bufferName = "get";
-    }
-
-    try {
-        var putBuffer = Program.fetchArray(obj.putBuffer$fetchDesc,
-                                           bufferPtr,
-                                           modCfg.numMsgs);
-    }
-    catch(e) {
-        throw (new Error("Error fetching putBuffer struct from shared memory"));
-    }
-
-    var i = getIndex;
-
-    while (i != putIndex) {
-        /* The event is registered */
-        var elem = Program.newViewStruct(
-                'ti.sdo.ipc.family.f28m35x.NotifyDriverCirc',
-                'Events');
-
-        elem.index = i;
-        elem.buffer = bufferName;
-        elem.addr = utils.toHex(putBuffer[i].$addr);
-        elem.eventId = putBuffer[i].eventid;
-        elem.payload = utils.toHex(putBuffer[i].payload);
-
-        /* Create a new row in the instance data view */
-        view.elements.$add(elem);
-
-        i++;
-        if ((i % modCfg.numMsgs) == 0) {
-            i = 0;
-        }
-    }
-}
-
-
-/*
- *  ======== viewInitData ========
- *  Instance data view.
- */
-function viewInitData(view, obj)
-{
-    var Program         = xdc.useModule('xdc.rov.Program');
-    var ScalarStructs   = xdc.useModule('xdc.rov.support.ScalarStructs');
-    var MultiProc = xdc.useModule('ti.sdo.utils.MultiProc');
-
-    try {
-        var notifyObj = Program.scanHandleView('ti.sdo.ipc.Notify',
-            obj.notifyHandle, 'Basic');
-    }
-    catch (e) {
-        throw (new Error("Error fetching Notify instance view"));
-    }
-
-    /* Display the instance label in the tree */
-    view.label = "remoteProcId = " + obj.remoteProcId + " lineId = " +
-        notifyObj.lineId;
-
-    /* Fetch put/get index's */
-    try {
-        var putWriteIndex = Program.fetchStruct(ScalarStructs.S_Bits32$fetchDesc,
-                                                obj.putWriteIndex);
-    }
-    catch(e) {
-        throw (new Error("Error fetching putWriteIndex " +
-                         "struct from shared memory"));
-    }
-
-    try {
-        var putReadIndex = Program.fetchStruct(ScalarStructs.S_Bits32$fetchDesc,
-                                               obj.putReadIndex);
-    }
-    catch(e) {
-        throw (new Error("Error fetching putReadIndex " +
-                         "struct from shared memory"));
-    }
-
-    try {
-        var getWriteIndex = Program.fetchStruct(ScalarStructs.S_Bits32$fetchDesc,
-                                                obj.getWriteIndex);
-    }
-    catch(e) {
-        throw (new Error("Error fetching getWriteIndex " +
-                         "struct from shared memory"));
-    }
-
-    try {
-        var getReadIndex = Program.fetchStruct(ScalarStructs.S_Bits32$fetchDesc,
-                                               obj.getReadIndex);
-    }
-    catch(e) {
-        throw (new Error("Error fetching getReadIndex " +
-                         "struct from shared memory"));
-    }
-
-    /* Get event data for the put buffer */
-    getEventData(view, obj, obj.putBuffer, putWriteIndex.elem,
-                 putReadIndex.elem);
-
-    /* Get event data for the get buffer */
-    getEventData(view, obj, obj.getBuffer, getWriteIndex.elem,
-                 getReadIndex.elem);
-
-}
diff --git a/packages/ti/sdo/ipc/family/f28m35x/TransportCirc.c b/packages/ti/sdo/ipc/family/f28m35x/TransportCirc.c
deleted file mode 100644 (file)
index b42d25d..0000000
+++ /dev/null
@@ -1,413 +0,0 @@
-/*
- * Copyright (c) 2012-2013, 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.
- */
-/*
- *  ======== TransportCirc.c ========
- */
-
-#include <string.h>  /* for memcpy() */
-
-#include <xdc/std.h>
-#include <xdc/runtime/Assert.h>
-#include <xdc/runtime/Error.h>
-#include <xdc/runtime/Memory.h>
-
-#include <ti/sysbios/hal/Hwi.h>
-#include <ti/sysbios/knl/Swi.h>
-#include <ti/sdo/ipc/interfaces/IMessageQTransport.h>
-
-#include <ti/sdo/ipc/family/f28m35x/IpcMgr.h>
-
-#include "package/internal/TransportCirc.xdc.h"
-
-#include <ti/sdo/utils/_MultiProc.h>
-#include <ti/sdo/ipc/_Notify.h>
-#include <ti/sdo/ipc/_MessageQ.h>
-
-/* Need to use reserved notify events */
-#undef TransportCirc_notifyEventId
-#define TransportCirc_notifyEventId \
-    ti_sdo_ipc_family_f28m35x_TransportCirc_notifyEventId + \
-    (UInt32)((UInt32)Notify_SYSTEMKEY << 16)
-
-/*
- *************************************************************************
- *                       Instance functions
- *************************************************************************
- */
-
-/*
- *  ======== TransportCirc_Instance_init ========
- */
-Int TransportCirc_Instance_init(TransportCirc_Object *obj,
-        UInt16 remoteProcId, const TransportCirc_Params *params,
-        Error_Block *eb)
-{
-    Int        status;
-    Bool       flag;
-    Swi_Handle swiHandle;
-    Swi_Params swiParams;
-    SizeT      circBufSize;
-
-    swiHandle = TransportCirc_Instance_State_swiObj(obj);
-
-    /* init the object fields */
-    obj->priority     = params->priority;
-    obj->remoteProcId = remoteProcId;
-
-    /* construct the swi with lowest priority */
-    Swi_Params_init(&swiParams);
-    swiParams.arg0 = (UArg)obj;
-    swiParams.priority = TransportCirc_swiPriority;
-    Swi_construct(Swi_struct(swiHandle),
-                 (Swi_FuncPtr)TransportCirc_swiFxn,
-                 &swiParams, eb);
-
-    /* calculate the circular buffer size one-way */
-    circBufSize = TransportCirc_msgSize * TransportCirc_numMsgs;
-
-    /* Init put/get buffer and index pointers. */
-    obj->putBuffer = params->writeAddr;
-
-    obj->putWriteIndex = (Bits32 *)((UInt32)obj->putBuffer + circBufSize);
-
-    obj->getBuffer = params->readAddr;
-
-    obj->getWriteIndex = (Bits32 *)((UInt32)obj->getBuffer + circBufSize);
-
-    obj->putReadIndex = (Bits32 *)((UInt32)obj->getWriteIndex + sizeof(Bits32));
-
-    obj->getReadIndex = (Bits32 *)((UInt32)obj->putWriteIndex + sizeof(Bits32));
-
-    /* init the putWrite and getRead Index to 0 */
-    obj->putWriteIndex[0] = 0;
-    obj->getReadIndex[0] = 0;
-
-    /* register the event with Notify */
-    status = Notify_registerEventSingle(
-                 remoteProcId,    /* remoteProcId */
-                 0,         /* lineId */
-                 TransportCirc_notifyEventId,
-                 (Notify_FnNotifyCbck)TransportCirc_notifyFxn,
-                 (UArg)swiHandle);
-
-    if (status < 0) {
-        Error_raise(eb, IpcMgr_E_internal, 0, 0);
-        return (1);
-    }
-
-    /* Register the transport with MessageQ */
-    flag = ti_sdo_ipc_MessageQ_registerTransport(
-        TransportCirc_Handle_upCast(obj), remoteProcId, params->priority);
-
-    if (flag == FALSE) {
-        Error_raise(eb, IpcMgr_E_internal, 0, 0);
-        return (2);
-    }
-
-    return (0);
-}
-
-/*
- *  ======== TransportCirc_Instance_finalize ========
- */
-Void TransportCirc_Instance_finalize(TransportCirc_Object* obj, Int status)
-{
-    Swi_Handle     swiHandle;
-
-    switch(status) {
-        case 0:
-            /* MessageQ_registerTransport succeeded */
-            ti_sdo_ipc_MessageQ_unregisterTransport(obj->remoteProcId,
-                obj->priority);
-
-            /* OK to fall thru */
-
-        case 1: /* Notify_registerEventSingle failed */
-
-            /* OK to fall thru */
-
-        case 2: /* MessageQ_registerTransport failed */
-            Notify_unregisterEventSingle(
-                obj->remoteProcId,
-                0,
-                TransportCirc_notifyEventId);
-            break;
-    }
-
-    /* Destruct the swi */
-    swiHandle = TransportCirc_Instance_State_swiObj(obj);
-    if (swiHandle != NULL) {
-        Swi_destruct(Swi_struct(swiHandle));
-    }
-}
-
-/*
- *  ======== TransportCirc_put ========
- *  Assuming MessageQ_put is making sure that the arguments are ok
- */
-Bool TransportCirc_put(TransportCirc_Object *obj, Ptr msg)
-{
-    Int status;
-    UInt msgSize;
-    UInt hwiKey;
-    Ptr writeAddr;
-    UInt writeIndex, readIndex;
-
-    do {
-        /* disable interrupts */
-        hwiKey = Hwi_disable();
-
-        /* get the writeIndex and readIndex */
-        readIndex  = obj->putReadIndex[0];
-        writeIndex = obj->putWriteIndex[0];
-
-        /* if slot available 'break' out of loop */
-        if (((writeIndex + 1) & TransportCirc_maxIndex) != readIndex) {
-            break;
-        }
-
-        /* restore interrupts */
-        Hwi_restore(hwiKey);
-
-    } while (1);
-
-    /* interrupts are disabled at this point */
-
-    /* get a free buffer and copy the message into it */
-    writeAddr = (Ptr)((UInt32)obj->putBuffer +
-                (writeIndex * TransportCirc_msgSize));
-
-    /* get the size of the message */
-    msgSize = MessageQ_getMsgSize(msg);
-
-    Assert_isTrue(msgSize <= TransportCirc_msgSize, IpcMgr_A_internal);
-
-    /* copy message to the write buffer */
-    memcpy(writeAddr, (Ptr)msg, msgSize);
-
-    /* update the writeIndex */
-    obj->putWriteIndex[0] = (writeIndex + 1) & TransportCirc_maxIndex;
-
-    /* restore interrupts */
-    Hwi_restore(hwiKey);
-
-    /* free the app's message */
-    if (((MessageQ_Msg)msg)->heapId != ti_sdo_ipc_MessageQ_STATICMSG) {
-        MessageQ_free(msg);
-    }
-
-    /* Notify the remote processor */
-    status = Notify_sendEvent(
-                 obj->remoteProcId,
-                 0,
-                 TransportCirc_notifyEventId,
-                 (UInt32)NULL,
-                 FALSE);
-
-    /* check the status of the sendEvent */
-    if (status < 0) {
-        return (FALSE);
-    }
-
-    return (TRUE);
-}
-
-/*
- *  ======== TransportCirc_control ========
- */
-Bool TransportCirc_control(TransportCirc_Object *obj, UInt cmd,
-    UArg cmdArg)
-{
-    return (FALSE);
-}
-
-/*
- *  ======== TransportCirc_getStatus ========
- */
-Int TransportCirc_getStatus(TransportCirc_Object *obj)
-{
-    return (0);
-}
-
-/*
- *************************************************************************
- *                       Module functions
- *************************************************************************
- */
-
-/*
- *  ======== TransportCirc_notifyFxn ========
- */
-Void TransportCirc_notifyFxn(UInt16 procId,
-                             UInt16 lineId,
-                             UInt32 eventId,
-                             UArg arg,
-                             UInt32 payload)
-{
-    Swi_Handle swiHandle;
-
-    /* Swi_Handle was passed as arg in register */
-    swiHandle = (Swi_Handle)arg;
-
-    /* post the Swi */
-    Swi_post(swiHandle);
-}
-
-/*
- *  ======== TransportCirc_swiFxn ========
- */
-Void TransportCirc_swiFxn(UArg arg)
-{
-    UInt32 queueId;
-    TransportCirc_Object *obj = (TransportCirc_Object *)arg;
-    MessageQ_Msg msg = NULL;
-    MessageQ_Msg buf = NULL;
-    SizeT msgSize;
-    UInt writeIndex, readIndex;
-    UInt offset;
-
-    /* Make sure the TransportCirc_Object is not NULL */
-    Assert_isTrue(obj != NULL, IpcMgr_A_internal);
-
-    /* get the writeIndex and readIndex */
-    writeIndex = obj->getWriteIndex[0];
-    readIndex  = obj->getReadIndex[0];
-
-    while (writeIndex != readIndex) {
-        /* determine where the message from remote core is */
-        offset = (readIndex * TransportCirc_msgSize);
-
-        /* get the message */
-        msg = (MessageQ_Msg)((UInt32)obj->getBuffer + offset);
-
-#ifdef xdc_target__isaCompatible_28
-        /*
-         *  The message size needs to be halved because it was
-         *  specified in bytes and the units on the c28 is 16-bit
-         *  words.
-         */
-        msgSize = MessageQ_getMsgSize(msg) >> 1;
-#else
-        /*
-         *  The message size needs to be doubled because it was
-         *  specified in 16-bit words and the units on the m3 is
-         *  in bytes.
-         */
-        msgSize = MessageQ_getMsgSize(msg) << 1;
-#endif
-
-        /* alloc a message from msg->heapId to copy the msg to */
-        buf = MessageQ_alloc(msg->heapId, msgSize);
-
-        /* Make sure buf is not NULL */
-        if (buf == NULL) {
-            TransportCirc_module->errFxn(TransportCirc_Reason_FAILEDALLOC,
-                ti_sdo_ipc_family_f28m35x_TransportCirc_Handle_upCast(obj),
-                NULL,
-                (UArg)msg);
-
-            return;
-        }
-
-        /* copy the message to the buffer allocated, set the heap id */
-        memcpy((Ptr)buf, (Ptr)msg, msgSize);
-
-        /* overwrite the msgSize in the msg */
-        buf->msgSize = msgSize;
-
-        /* retrieve the detination queue id */
-        queueId = MessageQ_getDstQueue(msg);
-
-        /* put the message to the destination queue */
-        MessageQ_put(queueId, buf);
-
-        /* update the local readIndex. */
-        readIndex = ((readIndex + 1) & TransportCirc_maxIndex);
-
-        /* set the readIndex */
-        obj->getReadIndex[0] = readIndex;
-    }
-}
-
-/*
- *************************************************************************
- *                      Module functions
- *************************************************************************
- */
-
-/*
- *  ======== TransportCirc_close ========
- */
-Void TransportCirc_close(TransportCirc_Handle *handle)
-{
-    TransportCirc_delete(handle);
-}
-
-/*
- *  ======== TransportCirc_sharedMemReq ========
- */
-SizeT TransportCirc_sharedMemReq(const TransportCirc_Params *params)
-{
-    SizeT memReq;
-
-    /* Ensure that params is non-NULL */
-    Assert_isTrue(params != NULL, IpcMgr_A_internal);
-
-    /*
-     *  Amount of shared memory:
-     *  1 putBuffer (msgSize * numMsgs) +
-     *  1 putWriteIndex ptr             +
-     *  1 putReadIndex ptr              +
-     */
-    memReq = (TransportCirc_msgSize * TransportCirc_numMsgs) +
-             (2 * sizeof(Bits32));
-
-    return (memReq);
-}
-
-/*
- *  ======== TransportCirc_defaultErrFxn ========
- */
-Void TransportCirc_defaultErrFxn(IMessageQTransport_Reason reason,
-                                 IMessageQTransport_Handle handle,
-                                Ptr ptr,
-                                UArg arg)
-{
-}
-
-/*
- *  ======== TransportCirc_setErrFxn ========
- */
-Void TransportCirc_setErrFxn(TransportCirc_ErrFxn errFxn)
-{
-    TransportCirc_module->errFxn = errFxn;
-}
diff --git a/packages/ti/sdo/ipc/family/f28m35x/TransportCirc.xdc b/packages/ti/sdo/ipc/family/f28m35x/TransportCirc.xdc
deleted file mode 100644 (file)
index eed0ae2..0000000
+++ /dev/null
@@ -1,286 +0,0 @@
-/*
- * Copyright (c) 2012-2013, 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.
- */
-/*
- *  ======== TransportCirc.xdc ========
- */
-
-import ti.sysbios.knl.Swi;
-import ti.sdo.ipc.interfaces.IMessageQTransport;
-
-import xdc.rov.ViewInfo;
-
-/*!
- *  ======== TransportCirc ========
- *  Transport for MessageQ that uses a circular buffer.
- *
- *  This is a {@link ti.sdo.ipc.MessageQ} transport that utilizes shared
- *  memory for passing messages between multiple processors.
- *
- *  The transport utilizes shared memory in the manner indicated by the
- *  following diagram.
- *
- *  @p(code)
- *
- *  NOTE: Processor '0' corresponds to the M3 and '1' corresponds to the C28
- *
- * sharedAddr -> --------------------------- bytes
- *               |  entry0  (0) [Put]      | msgSize
- *               |  entry1  (0)            | msgSize
- *               |  ...                    |
- *               |  entryN  (0)            | msgSize
- *               |                         |
- *               |-------------------------|
- *               |  putWriteIndex (0)      | 4
- *               |                         |
- *               |-------------------------|
- *               |  getReadIndex (1)       | 4
- *               |                         |
- *               |-------------------------|
- *               |  entry0  (1) [Get]      | msgSize
- *               |  entry1  (1)            | msgSize
- *               |  ...                    |
- *               |  entryN  (1)            | msgSize
- *               |                         |
- *               |-------------------------|
- *               |  putWriteIndex (1)      | 4
- *               |                         |
- *               |-------------------------|
- *               |  getReadIndex (0)       | 4
- *               |                         |
- *               |-------------------------|
- *
- *
- *  Legend:
- *  (0), (1) : belongs to the respective processor
- *  (N)      : length of buffer
- *
- *  @p
- */
-
-@InstanceFinalize
-@InstanceInitError
-
-module TransportCirc inherits IMessageQTransport
-{
-    /*! @_nodoc */
-    metaonly struct BasicView {
-        String      remoteProcName;
-    }
-
-    /*! @_nodoc */
-    metaonly struct EventDataView {
-        UInt        index;
-        String      buffer;
-        Ptr         message;
-    }
-
-    /*!
-     *  ======== rovViewInfo ========
-     */
-    @Facet
-    metaonly config ViewInfo.Instance rovViewInfo =
-        ViewInfo.create({
-            viewMap: [
-                ['Basic',
-                    {
-                        type: ViewInfo.INSTANCE,
-                        viewInitFxn: 'viewInitBasic',
-                        structName: 'BasicView'
-                    }
-                ],
-                ['Events',
-                    {
-                        type: ViewInfo.INSTANCE_DATA,
-                        viewInitFxn: 'viewInitData',
-                        structName: 'EventDataView'
-                    }
-                ],
-            ]
-        });
-
-    /*!
-     *  ======== close ========
-     *  Close an opened instance
-     *
-     *  Closing an instance will free local memory consumed by the opened
-     *  instance.  Instances that are opened should be closed before the
-     *  instance is deleted.
-     *
-     *  @param(handle)  handle that is returned from an {@link #openByAddr}
-     */
-    Void close(Handle *handle);
-
-    /*! @_nodoc
-     *  ======== notifyEventId ========
-     *  Notify event ID for transport.
-     */
-    config UInt16 notifyEventId = 2;
-
-    /*! @_nodoc
-     *  ======== numMsgs ========
-     *  The maximum number of outstanding messages
-     *
-     *  This number must be greater than 0 and a power of 2.
-     *  If the transport reaches this threshold, it spins waiting for
-     *  another message slot to be freed by the remote processor.
-     */
-    config UInt numMsgs = 4;
-
-    /*! @_nodoc
-     *  ======== maxMsgSizeInBytes ========
-     *  The maximum message size (in bytes) that is supported
-     */
-    config UInt maxMsgSizeInBytes = 128;
-
-    /*!
-     *  ======== swiPriority ========
-     *  The priority of the Transport Swi object created
-     */
-    config UInt swiPriority = 1;
-
-    /*! @_nodoc
-     *  ======== sharedMemReq ========
-     *  Amount of shared memory required for creation of each instance
-     *
-     *  @param(params)      Pointer to the parameters that will be used in
-     *                      create.
-     *
-     *  @a(returns)         Number of MAUs needed to create the instance.
-     */
-    SizeT sharedMemReq(const Params *params);
-
-    /*! @_nodoc
-     *  ======== sharedMemReqMeta ========
-     *  Amount of shared memory required for creation of each instance
-     *
-     *  @param(params)      Pointer to the parameters that will be used in
-     *                      create.
-     *
-     *  @a(returns)         Size of shared memory in MAUs on local processor.
-     */
-    metaonly SizeT sharedMemReqMeta(const Params *params);
-
-instance:
-
-    /*! @_nodoc
-     *  ======== openFlag ========
-     *  Set to 'true' by the open() call. No one else should touch this!
-     */
-    config Bool openFlag = false;
-
-    /*!
-     *  ======== readAddr ========
-     *  Physical address of the read address in shared memory
-     *
-     *  This address should be specified in the local processor's memory
-     *  space.  It must point to the same physical write address of the
-     *  remote processor its communicating with.
-     */
-    config Ptr readAddr = null;
-
-    /*!
-     *  ======== writeAddr ========
-     *  Physical address of the write address in shared memory
-     *
-     *  This address should be specified in the local processor's memory
-     *  space.  It must point to the same physical read address of the
-     *  remote processor its communicating with.
-     */
-    config Ptr writeAddr = null;
-
-internal:
-
-    /*! The max index set to (numMsgs - 1) */
-    config UInt maxIndex;
-
-    /*!
-     *  The message size calculated based on the target.
-     */
-    config UInt msgSize;
-
-    /*!
-     *  ======== defaultErrFxn ========
-     *  This is the default error function.
-     *
-     *  This function is an empty function that does nothing.
-     *
-     *  @param(reason)  reason for error function
-     *  @param(handle)  handle of transport that had error
-     *  @param(ptr)     pointer to the message
-     *  @param(arg)     argument passed to error function
-     */
-    Void defaultErrFxn(IMessageQTransport.Reason reason,
-                       IMessageQTransport.Handle handle, Ptr ptr, UArg arg);
-
-    /*!
-     *  ======== swiFxn ========
-     *  This function takes the messages from the transport ListMP and
-     *  calls MessageQ_put to send them to their destination queue.
-     *  This function is posted by the NotifyFxn.
-     *
-     *  @param(arg)     argument for the function
-     */
-    Void swiFxn(UArg arg);
-
-    /*!
-     *  ======== notifyFxn ========
-     *  This is a callback function registered with Notify.  It is called
-     *  when a remote processor does a Notify_sendEvent().  It is executed
-     *  at ISR level.  It posts the instance Swi object to execute swiFxn.
-     *
-     *  @param(procId)  remote processor id
-     *  @param(lineId)  Notify line id
-     *  @param(eventId) Notify event id
-     *  @param(arg)     argument for the function
-     *  @param(payload) 32-bit payload value.
-     */
-    Void notifyFxn(UInt16 procId, UInt16 lineId, UInt32 eventId, UArg arg,
-                   UInt32 payload);
-
-    /* Instance State object */
-    struct Instance_State {
-        Ptr             *putBuffer;     /* buffer used to put message       */
-        Bits32          *putReadIndex;  /* ptr to readIndex for put buffer  */
-        Bits32          *putWriteIndex; /* ptr to writeIndex for put buffer */
-        Ptr             *getBuffer;     /* buffer used to get message       */
-        Bits32          *getReadIndex;  /* ptr to readIndex for get buffer  */
-        Bits32          *getWriteIndex; /* ptr to writeIndex for put buffer */
-        Swi.Object      swiObj;         /* Each instance has a swi          */
-        SizeT           allocSize;      /* Shared memory allocated          */
-        UInt16          remoteProcId;   /* dst proc id                      */
-        UInt16          priority;       /* priority to register             */
-    };
-
-    struct Module_State {
-        ErrFxn errFxn;                  /* error function */
-    };
-}
diff --git a/packages/ti/sdo/ipc/family/f28m35x/TransportCirc.xs b/packages/ti/sdo/ipc/family/f28m35x/TransportCirc.xs
deleted file mode 100644 (file)
index 48b1d9a..0000000
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * Copyright (c) 2012-2013, 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.
- */
-/*
- *  ======== TransportCirc.xs ========
- */
-
-var TransportCirc = null;
-var MessageQ     = null;
-var Notify       = null;
-var MultiProc    = null;
-var Swi          = null;
-
-/*
- *  ======== module$use ========
- */
-function module$use()
-{
-    TransportCirc = this;
-    MessageQ     = xdc.useModule("ti.sdo.ipc.MessageQ");
-    Notify       = xdc.useModule("ti.sdo.ipc.Notify");
-    MultiProc    = xdc.useModule("ti.sdo.utils.MultiProc");
-    Swi          = xdc.useModule("ti.sysbios.knl.Swi");
-}
-
-/*
- * ======== module$static$init ========
- */
-function module$static$init(mod, params)
-{
-    var target = Program.build.target;
-    var bitsPerByte = 8;
-    var bitsPerChar = target.bitsPerChar;
-
-    /* calculate the msgSize */
-    TransportCirc.msgSize = TransportCirc.maxMsgSizeInBytes *
-                              (bitsPerByte / bitsPerChar);
-
-    /* calculate the maxIndex */
-    TransportCirc.maxIndex = TransportCirc.numMsgs - 1;
-
-    /* determine numMsgs is a power of 2 */
-    if (TransportCirc.numMsgs & (TransportCirc.maxIndex)) {
-        TransportCirc.$logFatal("TransportCirc.numMsgs: " +
-                TransportCirc.numMsgs +
-                " is not a power of 2", TransportCirc);
-    }
-
-    if (params.errFxn != null) {
-        mod.errFxn = params.errFxn;
-    }
-    else {
-        mod.errFxn = TransportCirc.defaultErrFxn;
-    }
-}
-
-/*
- *  ======== module$validate ========
- */
-function module$validate()
-{
-    if (Notify.numEvents <= TransportCirc.notifyEventId) {
-        TransportCirc.$logFatal("TransportCirc.notifyEventId (" +
-                TransportCirc.notifyEventId +
-                ") is too big: Notify.numEvents = " + Notify.numEvents,
-                TransportCirc);
-    }
-}
-
-/*
- *  ======== sharedMemReqMeta ========
- */
-function sharedMemReqMeta(params)
-{
-    var target = Program.build.target;
-    var bitsPerByte = 8;
-    var bitsPerChar = target.bitsPerChar;
-
-    /* calculate the msgSize */
-    var msgSize = TransportCirc.maxMsgSizeInBytes *
-                  (bitsPerByte / bitsPerChar);
-
-    /*
-     *  Amount of shared memory:
-     *  1 putBuffer (msgSize * numMsgs) +
-     *  1 putWriteIndex ptr             +
-     *  1 putReadIndex ptr              +
-     */
-    var memReq = (msgSize * TransportCirc.numMsgs) +
-                 (2 *  Program.build.target.stdTypes['t_Int32'].size);
-
-    return (memReq);
-}
-
-/*
- *************************************************************************
- *                       ROV View functions
- *************************************************************************
- */
-
-/*
- *  ======== viewInitBasic ========
- */
-function viewInitBasic(view, obj)
-{
-    var MultiProc = xdc.useModule('ti.sdo.utils.MultiProc');
-    var MultiProcCfg = Program.getModuleConfig('ti.sdo.utils.MultiProc');
-
-    /* view.remoteProcName */
-    try {
-        view.remoteProcName = MultiProc.getName$view(obj.remoteProcId -
-                                  MultiProcCfg.baseIdOfCluster);
-    }
-    catch(e) {
-        Program.displayError(view, 'remoteProcName',
-                             "Problem retrieving proc name: " + e);
-    }
-}
-
-/*
- *  ======== getEventData ========
- *  Helper function for use within viewInitData
- */
-function getEventData(view, obj, bufferPtr, putIndex, getIndex)
-{
-    var TransportCirc =
-        xdc.useModule('ti.sdo.ipc.family.f28m35x.TransportCirc');
-    var modCfg =
-        Program.getModuleConfig('ti.sdo.ipc.family.f28m35x.TransportCirc');
-    var ScalarStructs   = xdc.useModule('xdc.rov.support.ScalarStructs');
-
-    if (bufferPtr == obj.putBuffer) {
-        var bufferName = "put";
-    }
-    else {
-        var bufferName = "get";
-    }
-
-    try {
-        var putBuffer = Program.fetchArray(ScalarStructs.S_Bits32$fetchDesc,
-                                           bufferPtr,
-                                           modCfg.numMsgs);
-    }
-    catch(e) {
-        throw (new Error("Error fetching putBuffer struct from shared memory"));
-    }
-
-    var i = getIndex;
-
-    while (i != putIndex) {
-        /* The event is registered */
-        var elem = Program.newViewStruct(
-                'ti.sdo.ipc.family.f28m35x.TransportCirc',
-                'Events');
-
-        elem.index = i;
-        elem.buffer = bufferName;
-        elem.message = utils.toHex(Number(bufferPtr) + (i * modCfg.msgSize));
-
-        /* Create a new row in the instance data view */
-        view.elements.$add(elem);
-
-        i++;
-        if ((i % modCfg.numMsgs) == 0) {
-            i = 0;
-        }
-    }
-}
-
-
-/*
- *  ======== viewInitData ========
- *  Instance data view.
- */
-function viewInitData(view, obj)
-{
-    var Program         = xdc.useModule('xdc.rov.Program');
-    var ScalarStructs   = xdc.useModule('xdc.rov.support.ScalarStructs');
-    var MultiProc       = xdc.useModule('ti.sdo.utils.MultiProc');
-
-    /* Display the instance label in the tree */
-    view.label = "remoteProcId = " + obj.remoteProcId;
-
-    /* Fetch put/get index's */
-    try {
-        var putWriteIndex = Program.fetchStruct(ScalarStructs.S_Bits32$fetchDesc,
-                                                obj.putWriteIndex);
-    }
-    catch(e) {
-        throw (new Error("Error fetching putWriteIndex struct from shared memory"));
-    }
-
-    try {
-        var putReadIndex = Program.fetchStruct(ScalarStructs.S_Bits32$fetchDesc,
-                                               obj.putReadIndex);
-    }
-    catch(e) {
-        throw (new Error("Error fetching putReadIndex struct from shared memory"));
-    }
-
-    try {
-        var getWriteIndex = Program.fetchStruct(ScalarStructs.S_Bits32$fetchDesc,
-                                                obj.getWriteIndex);
-    }
-    catch(e) {
-        throw (new Error("Error fetching getWriteIndex struct from shared memory"));
-    }
-
-    try {
-        var getReadIndex = Program.fetchStruct(ScalarStructs.S_Bits32$fetchDesc,
-                                               obj.getReadIndex);
-    }
-    catch(e) {
-        throw (new Error("Error fetching getReadIndex struct from shared memory"));
-    }
-
-    /* Get event data for the put buffer */
-    getEventData(view, obj, obj.putBuffer, putWriteIndex.elem, putReadIndex.elem);
-
-    /* Get event data for the get buffer */
-    getEventData(view, obj, obj.getBuffer, getWriteIndex.elem, getReadIndex.elem);
-}
diff --git a/packages/ti/sdo/ipc/family/f28m35x/linkcmd.xdt b/packages/ti/sdo/ipc/family/f28m35x/linkcmd.xdt
deleted file mode 100644 (file)
index 162adde..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-%%{
-/*
- * Copyright (c) 2012-2013, 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.
- */
-%%}
-%%{
-/*
- *  Add writeAddr with writeAddrSize to linker cmd file.
- *  This is to prevent the user from placing other code/data
- *  in the same memory location.
- */
-%%}
-%var IpcMgr = xdc.module("ti.sdo.ipc.family.f28m35x.IpcMgr");
-%
-%
-
-SECTIONS
-{
-%    var readSectName = "ti.sdo.ipc.family.f28m35x.IpcMgr.readSect";
-%    var writeSectName = "ti.sdo.ipc.family.f28m35x.IpcMgr.writeSect";
-%    if (IpcMgr.genLinkerSections && (IpcMgr.readAddr || IpcMgr.writeAddr)) {
-%        var readAddr = utils.toHex(IpcMgr.readAddr);
-%        var writeAddr = utils.toHex(IpcMgr.writeAddr);
-%        var len  = utils.toHex(IpcMgr.sharedMemSizeUsed);
-%
-%        if (Program.build.target.name.match(/C28.*/)) {
-    `readSectName`:  { . += `len`;} run > `readAddr` PAGE 1, type = NOLOAD
-    `writeSectName`:  { . += `len`;} run > `writeAddr` PAGE 1, type = NOLOAD
-%        }
-%        else {
-    `readSectName`:  { . += `len`;} run > `readAddr`, type = NOLOAD
-    `writeSectName`:  { . += `len`;} run > `writeAddr`, type = NOLOAD
-%        }
-%    }
-}
diff --git a/packages/ti/sdo/ipc/family/f28m35x/package.bld b/packages/ti/sdo/ipc/family/f28m35x/package.bld
deleted file mode 100644 (file)
index fbde51e..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 2012-2013, 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.
- */
-
-/*
- *  ======== package.bld ========
- */
-var Build = xdc.useModule('xdc.bld.BuildEnvironment');
-var Pkg = xdc.useModule('xdc.bld.PackageContents');
-var IpcBuild = xdc.loadCapsule("ti/sdo/ipc/Build.xs");
-
-var objList_28FP = [
-    "IpcMgr.c",
-    "NotifyDriverCirc.c",
-    "NameServerBlock.c",
-    "TransportCirc.c"
-];
-
-var trgFilter_28FP = {
-    field: "isa",
-    list: [ "28FP" ]
-};
-
-var objList_m3 = [
-    "IpcMgr.c",
-    "NotifyDriverCirc.c",
-    "NameServerBlock.c",
-    "TransportCirc.c"
-];
-
-var trgFilter_m3 = {
-    field: "isa",
-    list: [ "v7M" ]
-};
-
-/* if not building a product release, build package libraries */
-if (Bld_goal != "release") {
-    IpcBuild.buildLibs(objList_28FP, undefined, trgFilter_28FP, arguments);
-    IpcBuild.buildLibs(objList_m3, undefined, trgFilter_m3, arguments);
-    IpcBuild.buildLibs(objList_28FP, undefined, trgFilter_28FP,
-            ["profile=smp"]);
-    IpcBuild.buildLibs(objList_m3, undefined, trgFilter_m3, ["profile=smp"]);
-}
-
-Pkg.otherFiles = [
-    "package.bld",
-    "linkcmd.xdt",
-    "IpcMgr.c",
-    "NotifyDriverCirc.c",
-    "NameServerBlock.c",
-    "TransportCirc.c"
-];
-
-/* include source files in the release package */
-Pkg.attrs.exportSrc = true;
-Pkg.attrs.exportCfg = true;
-
-Pkg.generatedFiles.$add("lib/");
diff --git a/packages/ti/sdo/ipc/family/f28m35x/package.xdc b/packages/ti/sdo/ipc/family/f28m35x/package.xdc
deleted file mode 100644 (file)
index 50b6994..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2012-2013, 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.
- */
-/*
- *  ======== package.xdc ========
- *
- */
-
-requires ti.sdo.ipc;
-
-/*!
- *  ======== ti.sdo.ipc.family.f28m35x ========
- */
-package ti.sdo.ipc.family.f28m35x [1,0,0,0] {
-    module    IpcMgr;
-    module    NameServerBlock;
-    module    NotifyDriverCirc;
-    module    TransportCirc;
-}
diff --git a/packages/ti/sdo/ipc/family/f28m35x/package.xs b/packages/ti/sdo/ipc/family/f28m35x/package.xs
deleted file mode 100644 (file)
index d990fc3..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (c) 2012-2013, 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.
- */
-
-/*
- *  ======== package.xs ========
- *
- */
-
-var Build = null;
-
-/*
- *  ======== package.close ========
- */
-function close()
-{
-    if (xdc.om.$name != 'cfg') {
-        return;
-    }
-
-    Build = xdc.useModule('ti.sdo.ipc.Build');
-}
-
-/*
- *  ======== Package.getLibs ========
- *  This function is called when a program's configuration files are
- *  being generated and it returns the name of a library appropriate
- *  for the program's configuration.
- */
-function getLibs(prog)
-{
-    var BIOS = xdc.module('ti.sysbios.BIOS');
-    var libPath;
-    var suffix;
-
-    if (Build.libType == Build.LibType_PkgLib) {
-        /* lib path defined in Build.buildLibs() */
-        libPath = (BIOS.smpEnabled ? "lib/smpipc/debug" : "lib/ipc/debug");
-
-        /* find a compatible suffix */
-        if ("findSuffix" in prog.build.target) {
-            suffix = prog.build.target.findSuffix(this);
-        }
-        else {
-            suffix = prog.build.target.suffix;
-        }
-        return (libPath + "/" + this.$name + ".a" + suffix);
-    }
-    else {
-        return (Build.getLibs(this));
-    }
-}
-
-/*
- *  ======== Package.getSects ========
- */
-function getSects()
-{
-    return "ti/sdo/ipc/family/f28m35x/linkcmd.xdt";
-}
index c05f66e01d3194e3f6c2b9a4d5f55b2d7bef306f..60a314c173bf4fff56dbbf1b76c750522e213cf7 100644 (file)
@@ -37,7 +37,6 @@
 var BIOS = null;
 var Build = null;
 
 var BIOS = null;
 var Build = null;
 
-var custom28xOpts = " -q -mo ";
 var custom6xOpts = " -q -mi10 -mo -pdr -pden -pds=238 -pds=880 -pds1110 ";
 var customARP32xOpts = " -q --gen_func_subsections ";
 var customArmOpts = " -q -ms --opt_for_speed=2 ";
 var custom6xOpts = " -q -mi10 -mo -pdr -pden -pds=238 -pds=880 -pds1110 ";
 var customARP32xOpts = " -q --gen_func_subsections ";
 var customArmOpts = " -q -ms --opt_for_speed=2 ";
@@ -49,8 +48,6 @@ var customGnuArmA8Opts = " ";
 var customGnuArmA15Opts = " ";
 
 var ccOptsList = {
 var customGnuArmA15Opts = " ";
 
 var ccOptsList = {
-    "ti.targets.C28_large"                      : custom28xOpts,
-    "ti.targets.C28_float"                      : custom28xOpts,
     "ti.targets.C64P"                           : custom6xOpts,
     "ti.targets.elf.C64P"                       : custom6xOpts,
     "ti.targets.C64P_big_endian"                : custom6xOpts,
     "ti.targets.C64P"                           : custom6xOpts,
     "ti.targets.elf.C64P"                       : custom6xOpts,
     "ti.targets.C64P_big_endian"                : custom6xOpts,
index 89bc0de60c133b6007d50340ca6a79e75bb28f88..9ea07e38ad9356e6037ce89581b16134dfdbb477 100644 (file)
@@ -106,9 +106,6 @@ BIOS_SMPENABLED=1
 
 # Path to various cgtools
 #
 
 # Path to various cgtools
 #
-ti.targets.C28_large =
-ti.targets.C28_float =
-
 ti.targets.elf.C64P =
 ti.targets.elf.C64P_big_endian =
 ti.targets.elf.C64T =
 ti.targets.elf.C64P =
 ti.targets.elf.C64P_big_endian =
 ti.targets.elf.C64T =