Merge tag 'test_omx_omap5' into cleanup
authorChris Ring <cring@ti.com>
Tue, 5 Mar 2013 15:48:27 +0000 (07:48 -0800)
committerChris Ring <cring@ti.com>
Tue, 5 Mar 2013 15:48:27 +0000 (07:48 -0800)
test_omx sample built for OMAP5 SMP

Conflicts:
.gitignore

30 files changed:
.gitignore
ipc-bios.bld
ipc-bios.mak
packages/ti/configs/omap54xx/IpcCommon.cfg.xs
packages/ti/gates/hwspinlock/HwSpinlock.c [deleted file]
packages/ti/gates/hwspinlock/HwSpinlock.h [deleted file]
packages/ti/gates/hwspinlock/_HwSpinlock.h [deleted file]
packages/ti/gates/hwspinlock/package.bld [deleted file]
packages/ti/gates/hwspinlock/package.xdc [deleted file]
packages/ti/gates/hwspinlock/package.xs [deleted file]
packages/ti/ipc/family/omap54xx/package.bld
packages/ti/ipc/family/omap54xx/package.xs
packages/ti/ipc/remoteproc/Resource.xdt
packages/ti/ipc/remoteproc/rsc_table_omap5_dsp.h [moved from packages/ti/resources/rsc_table_dsp.h with 97% similarity]
packages/ti/ipc/remoteproc/rsc_table_omap5_ipu.h [moved from packages/ti/resources/rsc_table_ipu.h with 91% similarity]
packages/ti/ipc/remoteproc/rsc_types.h
packages/ti/ipc/rpmsg/package.bld
packages/ti/ipc/rpmsg/package.xs
packages/ti/ipc/transports/package.bld
packages/ti/pm/package.bld
packages/ti/pm/package.xs
packages/ti/resources/IpcMemory.c [deleted file]
packages/ti/resources/IpcMemory.xdc [deleted file]
packages/ti/resources/IpcMemory.xdt [deleted file]
packages/ti/resources/IpcMemory.xs [deleted file]
packages/ti/resources/package.bld [deleted file]
packages/ti/resources/package.xdc [deleted file]
packages/ti/resources/package.xs [deleted file]
packages/ti/resources/rsc_types.h [deleted file]
packages/ti/sdo/utils/Build.xs

index b81da08d2aa90e93b55ad76b7a3726fc3758a199..8276cb843abff690867a726fbb7ed42c2ec64654 100644 (file)
@@ -28,6 +28,7 @@ packages/ti/ipc/transports/TransportVirtioSetup.h
 packages/ti/trace/SysMin.h
 packages/ti/resources/IpcMemory.h
 packages/ti/srvmgr/omx/OmxSrvMgr.h
+*.tar.gz
 
 # Linux stuff
 /autom4te.cache
index 26908a800f1fd25c176449325f1d6d928696c356..362e7a570e895fc2f57a7d61e74a33247cde1ef7 100644 (file)
@@ -63,7 +63,8 @@
  *     Build       an alias for xdc.om.xdc.bld.BuildEnvironment
  */
 
-var build_smp = java.lang.System.getenv("BUILD_SMP");
+/* for M3-devices only (OMAP5), build using the SMP-enabled platform */
+var build_smp = "1";
 
 /* Common ccopts suffix used for all C6x targets */
 var c6xOpts = " -mi10 -mo -pdr -pden -pds=238 -pds=880 -pds1110 -g ";
@@ -130,7 +131,7 @@ for (arg = 0; arg < arguments.length; arg++) {
     target.rootDir = rootDir;
     target.ccOpts.suffix += ccOpts[targetName];
 
-    /* Add appropriate platforms to build for based on target name */    
+    /* Add appropriate platforms to build for based on target name */
     if (targetName.match(/elf\.C674/)) {
         target.platforms = [ "ti.platforms.evmOMAPL138:DSP" ];
     }
index 3799555eeaf19d61fe69557ac53ac8192b25637e..b8220002597629ff3a834710501fc9d67d854b91 100644 (file)
@@ -123,14 +123,12 @@ export XDCPATH
 #XDCOPTIONS=v
 export XDCOPTIONS
 
-BUILD_SMP       ?= 1
-
 #
 # Set XDC executable command
 # Note that XDCBUILDCFG points to the ipc-bios.bld file which uses
 # the arguments specified by XDCARGS
 #
-XDC = $(XDC_INSTALL_DIR)/xdc XDCARGS="$(XDCARGS)" BUILD_SMP=$(BUILD_SMP) XDCBUILDCFG=./ipc-bios.bld
+XDC = $(XDC_INSTALL_DIR)/xdc XDCARGS="$(XDCARGS)" XDCBUILDCFG=./ipc-bios.bld
 
 ######################################################
 ## Shouldnt have to modify anything below this line ##
index 84861660ed80f256240fc90f962c6dc7478af8ba..afbc64fd43a5c951bfdbba2aeedf85045dc4d025 100644 (file)
@@ -60,10 +60,7 @@ xdc.loadPackage('ti.resmgr');
 */
 
 /* Enable Memory Translation module that operates on the BIOS Resource Table */
-var IpcMemory = xdc.useModule('ti.resources.IpcMemory');
-
-/* HwSpinlock Module */
-xdc.loadPackage('ti.gates.hwspinlock');
+var Resource = xdc.useModule('ti.ipc.remoteproc.Resource');
 
 var HeapBuf   = xdc.useModule('ti.sysbios.heaps.HeapBuf');
 var List      = xdc.useModule('ti.sdo.utils.List');
diff --git a/packages/ti/gates/hwspinlock/HwSpinlock.c b/packages/ti/gates/hwspinlock/HwSpinlock.c
deleted file mode 100644 (file)
index d662f83..0000000
+++ /dev/null
@@ -1,286 +0,0 @@
-/*
- * Copyright (c) 2011-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.
- */
-/*
- *  ======== HwSpinlock.c ========
- */
-
-#include <xdc/std.h>
-#include <xdc/runtime/Assert.h>
-#include <xdc/runtime/Error.h>
-#include <xdc/runtime/Memory.h>
-#include <xdc/runtime/IGateProvider.h>
-#include <xdc/runtime/Log.h>
-#include <xdc/runtime/Diags.h>
-#include <xdc/runtime/Gate.h>
-
-#include <ti/sysbios/knl/Task.h>
-#include <ti/sysbios/knl/Clock.h>
-
-#include <ti/gates/hwspinlock/HwSpinlock.h>
-#include "_HwSpinlock.h"
-
-
-static HwSpinlock_Module_State HwSpinlock_module = { 0 };
-
-/* Exposed to the Host side to reset hwspinlock if needed */
-Bits32 ti_gates_HwSpinlock_sharedState
-                            [(HwSpinlock_NUMLOCKS/sizeof(Bits32))] = { 0 };
-const UInt32 ti_gates_HwSpinlock_numLocks = HwSpinlock_NUMLOCKS;
-
-
-/* Helper functions to set and reset status of a lock */
-inline Void _HwSpinlock_set(Int hwlockId)
-{
-    ti_gates_HwSpinlock_sharedState[hwlockId >> 5] |= (1 << (hwlockId % 32));
-}
-
-inline Void _HwSpinlock_clr(Int hwlockId)
-{
-    ti_gates_HwSpinlock_sharedState[hwlockId >> 5] &= ~(1 << (hwlockId % 32));
-}
-
-/*
- *************************************************************************
- *                       Instance functions
- *************************************************************************
- */
-
-/*
- *  ======== HwSpinlock_Params_init ========
- */
-Void HwSpinlock_Params_init(HwSpinlock_Params *params)
-{
-    params->id = HwSpinlock_NO_SPINLOCK;
-    params->reqFxn= NULL;
-    params->relFxn= NULL;
-    params->arg1 = NULL;
-    params->arg2 = NULL;
-}
-
-/*
- *  ======== HwSpinlock_create ========
- */
-#define FXNN "HwSpinlock_create"
-HwSpinlock_Handle HwSpinlock_create(HwSpinlock_Params *params)
-{
-    HwSpinlock_Handle handle;
-    Int i;
-    IArg key;
-
-    /* Call request hook fxn, return (NULL handle) if the hook fxn fails */
-    if (params->reqFxn) {
-        if (params->reqFxn(params)) {
-            return NULL;
-        }
-    }
-
-    /* Check for a valid hwspinlock id */
-    if ((params->id < 0) || (params->id >= HwSpinlock_NUMLOCKS)) {
-        Log_error0(FXNN": HwSpinlock Id is not valid");
-        return NULL;
-    }
-
-    /* Return handle if already created */
-    key = Gate_enterSystem();
-    handle = HwSpinlock_module.locks[params->id];
-    if (handle) {
-        handle->refCnt++;
-        Gate_leaveSystem(key);
-        return handle;
-    }
-
-    /* Allocate handle */
-    handle = Memory_alloc(NULL, sizeof(*handle), 0, NULL);
-    if (!handle) {
-        Log_error0(FXNN": Unable to allocate handle");
-        Gate_leaveSystem(key);
-        return NULL;
-    }
-
-    /* Create the preemption gates */
-    for (i = 0; i < HwSpinlock_NUMPREEMPTGATES; i++) {
-        handle->preemptGates[i] = (IGateProvider_Handle)
-                                    HwSpinlock_GateFxns[i].create(NULL, NULL);
-    }
-    /* Create the local gate */
-    handle->mutex = GateMutexPri_create(NULL, NULL);
-
-    /* Store private info in the handle */
-    handle->params = *params;
-    handle->baseAddr = (volatile UInt32 *)HwSpinlock_BASEADDR;
-    handle->refCnt = 1;
-    handle->state = HwSpinlock_STATE_FREE;
-
-    /* Store the created handle */
-    HwSpinlock_module.locks[params->id] = handle;
-    Gate_leaveSystem(key);
-
-    return handle;
-}
-#undef FXNN
-
-/*
- *  ======== HwSpinlock_delete ========
- */
-#define FXNN "HwSpinlock_delete"
-Int HwSpinlock_delete(HwSpinlock_Handle handle)
-{
-    Int i;
-    IArg key;
-
-    Assert_isTrue(handle, NULL);
-    key = Gate_enterSystem();
-
-    /* Decrement reference counter */
-    if (handle->refCnt) {
-        handle->refCnt--;
-    }
-
-    if (!handle->refCnt) {
-        /* Return error if trying to delete before unlock */
-        if (handle->state == HwSpinlock_STATE_TAKEN) {
-            Log_error0(FXNN": Error: HwSpinlock still in use");
-            Gate_leaveSystem(key);
-            return HwSpinlock_STILL_IN_USE;
-        }
-        /* Call release hook fxn if exists */
-        if (handle->params.relFxn) {
-            handle->params.relFxn(&handle->params);
-         }
-
-        /* Delete and reset the preemption gates */
-        for (i = 0; i < HwSpinlock_NUMPREEMPTGATES; i++) {
-            HwSpinlock_GateFxns[i].delete(&handle->preemptGates[i]);
-            handle->preemptGates[i] = NULL;
-        }
-        /* Delete and reset the local gate */
-        GateMutexPri_delete(&handle->mutex);
-        handle->mutex = NULL;
-
-        /* Remove the handle from the module */
-        HwSpinlock_module.locks[handle->params.id] = NULL;
-
-        /* Release the allocated memory for the handle */
-        Memory_free(NULL, handle, sizeof(*handle));
-        handle = NULL;
-    }
-    Gate_leaveSystem(key);
-
-    return HwSpinlock_S_SUCCESS;
-}
-#undef FXNN
-
-/*
- *  ======== HwSpinlock_enter ========
- */
-Int HwSpinlock_enter(HwSpinlock_Handle handle, HwSpinlock_PreemptGate pType,
-                     UInt timeout, HwSpinlock_Key *hkey)
-{
-    UInt start, elapsed;
-
-    Assert_isTrue(handle, NULL);
-
-    /* Store Start TimeStamp */
-    if (timeout != HwSpinlock_WAIT_FOREVER) {
-        start = Clock_getTicks();
-    }
-
-    while(1) {
-        /* Enter the localGate protection */
-        handle->mkey = GateMutexPri_enter(handle->mutex);
-
-        /* Try to get the hwspinlock */
-        if (handle->baseAddr[handle->params.id] == 0) {
-            handle->state = HwSpinlock_STATE_TAKEN;
-            /* Disable preemption of pType and store the type in handle */
-            hkey->key = IGateProvider_enter(handle->preemptGates[pType]);
-            hkey->valid = TRUE;
-            handle->pType = pType;
-            _HwSpinlock_set(handle->params.id);
-            return (HwSpinlock_S_SUCCESS);
-        }
-
-        /* If is already taken undo localGate protection */
-        GateMutexPri_leave(handle->mutex, handle->mkey);
-
-        /* Check if timeout has elapsed */
-        if (timeout != HwSpinlock_WAIT_FOREVER) {
-            elapsed = Clock_getTicks() - start;
-            if (elapsed > timeout) {
-                /* Mark key as invalid */
-                hkey->valid = FALSE;
-                return (HwSpinlock_E_TIMEOUT);
-            }
-        }
-    }
-}
-
-/*
- *  ======== HwSpinlock_leave ========
- */
-Void HwSpinlock_leave(HwSpinlock_Handle handle, HwSpinlock_Key *hkey)
-{
-    Assert_isTrue(handle, NULL);
-
-    /* Only unlock hwspinlock if it was really acquired and isa valid key */
-    if (handle->state == HwSpinlock_STATE_TAKEN && hkey->valid) {
-       /* Leave the spinlock */
-        handle->baseAddr[handle->params.id] = 0;
-        handle->state = HwSpinlock_STATE_FREE;
-        _HwSpinlock_clr(handle->params.id);
-
-        /* Restore Preemption of pType */
-        IGateProvider_leave(handle->preemptGates[handle->pType], hkey->key);
-        hkey->valid = FALSE;
-
-        /* Leave the mutex */
-        GateMutexPri_leave(handle->mutex, handle->mkey);
-    }
-}
-
-/*
- *  ======== HwSpinlock_getId ========
- */
-Int HwSpinlock_getId(HwSpinlock_Handle handle)
-{
-    Assert_isTrue(handle, NULL);
-    return (handle->params.id);
-}
-
-/*
- *  ======== HwSpinlock_getState ========
- */
-HwSpinlock_State HwSpinlock_getState(HwSpinlock_Handle handle)
-{
-    Assert_isTrue(handle, NULL);
-    return (handle->state);
-}
diff --git a/packages/ti/gates/hwspinlock/HwSpinlock.h b/packages/ti/gates/hwspinlock/HwSpinlock.h
deleted file mode 100644 (file)
index 074b32b..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Copyright (c) 2011-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.
- */
-
-#ifndef ti_gates_HwSpinlock__include
-#define ti_gates_HwSpinlock__include
-
-#if defined (__cplusplus)
-extern "C" {
-#endif
-
-extern UInt32 ti_gates_HwSpinlock_sharedState[];
-extern const UInt32 ti_gates_HwSpinlock_numLocks;
-
-/* =============================================================================
- *  All success and failure codes for the module
- * =============================================================================
- */
-
-/*!
- *  @def    HwSpinlock_S_SUCCESS
- *  @brief  Operation is successful.
- */
-#define HwSpinlock_S_SUCCESS            0
-
-/*!
- *  @def    HwSpinlock_NO_SPINLOCK
- *  @brief  Not hwspinlock Id associated to the obj.
- */
-#define HwSpinlock_NO_SPINLOCK         -1
-
-/*!
- *  @def    HwSpinlock_E_FAIL
- *  @brief  Generic failure.
- */
-#define HwSpinlock_E_FAIL              -2
-
-/*!
- *  @def    HwSpinlock_E_TIMEOUT
- *  @brief  Operation timed out.
- */
-#define HwSpinlock_E_TIMEOUT           -3
-
-/*!
- *  @def    HwSpinlock_STILL_IN_USE
- *  @brief  handle is still in use..
- */
-#define HwSpinlock_STILL_IN_USE        -4
-
-/*!
- *  @def    HwSpinlock_WAIT_FOREVER
- *  @brief  Use as a NOT timeout option.
- */
-#define HwSpinlock_WAIT_FOREVER        0xFFFFFFFF
-
-
-/* =============================================================================
- *  Structures & Enums
- * =============================================================================
- */
-
-/*!
- *  @brief  HwSpinlock state
- */
-typedef enum {
-    HwSpinlock_STATE_FREE,
-    HwSpinlock_STATE_TAKEN
-} HwSpinlock_State;
-
-/*!
- *  @brief  A set of local context protection levels
- *          - HwSpinlock_PreemptGate_HWI  -> GateHwi: disables interrupts
- *          - HwSpinlock_PreemptGate_SWI  -> GateSwi: disables Swi's (software interrupts)
- *          - HwSpinlock_PreemptGate_TASK -> GateTask: disables Task's preemption
- */
-typedef enum HwSpinlock_PreemptGate {
-    HwSpinlock_PreemptGate_NONE   = 0,  /* Use no local protection */
-    HwSpinlock_PreemptGate_HWI    = 1,  /* Use the INTERRUPT local protection level */
-    HwSpinlock_PreemptGate_SWI    = 2,  /* Use the SWI local protection level */
-    HwSpinlock_PreemptGate_TASK   = 3   /* Use the TASK local protection level */
-} HwSpinlock_PreemptGate;
-
-typedef Void * (*HwSpinlock_hookFxn)(Void *);
-
-/*!
- *  @brief  HwSpinlock_Params
- */
-typedef struct HwSpinlock_Params {
-    Int                   id;
-    HwSpinlock_hookFxn    reqFxn;
-    HwSpinlock_hookFxn    relFxn;
-    Void                  *arg1;
-    Void                  *arg2;
-} HwSpinlock_Params;
-
-/*!
- *  @brief  HwSpinlock_Key
- */
-typedef struct HwSpinlock_Key {
-    IArg key;
-    Bool valid;
-} HwSpinlock_Key;
-
-/*!
- *  @brief  HwSpinlock_Handle type
- */
-typedef struct HwSpinlock_Object *HwSpinlock_Handle;
-
-
-/* =============================================================================
- *  HwSpinlock Interface Functions
- * =============================================================================
- */
-
-/*!
- *  @brief      HwSpinlock_Params_init
- *
- *  @param[in]  HwSpinlock_Params
- *
- *  @return     Void
- */
-Void HwSpinlock_Params_init(HwSpinlock_Params *params);
-
-/*!
- *  @brief      Create spinlock
- *
- *  @param[in]  resourceId, baseAddr
- *
- *  @return     HwSpinlock_Handle
- */
-HwSpinlock_Handle HwSpinlock_create(HwSpinlock_Params *params);
-
-/*!
-*  @brief      HwSpinlock_delete
-*
-*  @param[in]  HwSpinlock_Handle
-*
-*  @return     Status
-*/
-Int HwSpinlock_delete(HwSpinlock_Handle handle);
-
-/*!
- *  @brief      Enter/Acquire the HwSpinlock
- *
- *  @param[in]  timeout, local protecttion option
- *
- *  @return     Status
- */
-Int HwSpinlock_enter(HwSpinlock_Handle handle, HwSpinlock_PreemptGate pType,
-                     UInt timeout, HwSpinlock_Key *key);
-
-/*!
- *  @brief      Leave the HwSpinlock
- *
- *  @param[in]  HwSpinlock handle
- *
- *  @return     Void
- */
-Void HwSpinlock_leave(HwSpinlock_Handle handle, HwSpinlock_Key *key);
-
-/*!
- *  @brief      HwSpinlock_getId
- *
- *  @param[in]  HwSpinlock handle
- *
- *  @return     Spinlock Id
- */
-Int HwSpinlock_getId(HwSpinlock_Handle handle);
-
-/*!
- *  @brief      HwSpinlock_getState
- *
- *  @param[in]  HwSpinlock handle
- *
- *  @return     Current State
- */
-HwSpinlock_State HwSpinlock_getState(HwSpinlock_Handle handle);
-
-#if defined (__cplusplus)
-}
-#endif /* defined (__cplusplus) */
-
-#endif /* ti_gates_HwSpinlock__include */
diff --git a/packages/ti/gates/hwspinlock/_HwSpinlock.h b/packages/ti/gates/hwspinlock/_HwSpinlock.h
deleted file mode 100644 (file)
index 579ea25..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (c) 2011-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.
- */
-/** ============================================================================
- *  @file       _HwSpinlock.h
- *  ============================================================================
- */
-
-#ifndef ti_gates__HwSpinlock__include
-#define ti_gates__HwSpinlock__include
-
-#if defined (__cplusplus)
-extern "C" {
-#endif
-
-#include <xdc/runtime/GateNull.h>
-#include <ti/sysbios/gates/GateMutexPri.h>
-#include <ti/sysbios/gates/GateHwi.h>
-#include <ti/sysbios/gates/GateSwi.h>
-#include <ti/sysbios/gates/GateTask.h>
-
-
-/* =============================================================================
- *  Structures & Definitions
- * =============================================================================
- */
-
-typedef Void * (*HwSpinlock_createFxn)(IGateProvider_Params *, Error_Block *);
-typedef Void * (*HwSpinlock_deleteFxn)(IGateProvider_Handle *);
-
-/*!
- *  @brief  HwSpinlock_PreemptGateFxn
- */
-typedef struct {
-    HwSpinlock_createFxn create;
-    HwSpinlock_deleteFxn delete;
-} HwSpinlock_PreemptGateFxn;
-
-/*!
- *  @brief HwSpinlock GateFxns
- */
-HwSpinlock_PreemptGateFxn HwSpinlock_GateFxns[] = {
-    {(HwSpinlock_createFxn)GateNull_create,
-                                        (HwSpinlock_deleteFxn)GateNull_delete},
-    {(HwSpinlock_createFxn)GateHwi_create,
-                                        (HwSpinlock_deleteFxn)GateHwi_delete},
-    {(HwSpinlock_createFxn)GateSwi_create,
-                                        (HwSpinlock_deleteFxn)GateSwi_delete},
-    {(HwSpinlock_createFxn)GateTask_create,
-                                        (HwSpinlock_deleteFxn)GateTask_delete},
-};
-
-#ifdef DSPC674
-#define HwSpinlock_NUMLOCKS         128
-#define HwSpinlock_BASEADDR         0x480CA800
-#else
-#define HwSpinlock_NUMLOCKS         32
-#ifdef DSP
-#define HwSpinlock_BASEADDR         0x4A0F6800
-#else
-#define HwSpinlock_BASEADDR         0xAA0F6800
-#endif
-#endif
-#define HwSpinlock_NUMPREEMPTGATES  (sizeof(HwSpinlock_GateFxns) / \
-                                        sizeof(HwSpinlock_PreemptGateFxn))
-
-
-/*!
- *  @brief  HwSpinlock_Module_State type
- */
-typedef struct {
-    HwSpinlock_Handle        locks[HwSpinlock_NUMLOCKS];
-} HwSpinlock_Module_State;
-
-/*!
- *  @brief  HwSpinlock_Object type
- */
-struct HwSpinlock_Object {
-    HwSpinlock_Params        params;
-    volatile UInt32          *baseAddr;
-    Int                      lockNum;   /* The lock number being used */
-    HwSpinlock_PreemptGate   pType;
-    IArg                     mkey;
-    IGateProvider_Handle     preemptGates[HwSpinlock_NUMPREEMPTGATES];
-    GateMutexPri_Handle      mutex;
-    Int                      refCnt;
-    HwSpinlock_State         state;
-};
-
-#if defined (__cplusplus)
-}
-#endif /* defined (__cplusplus) */
-
-#endif /* ti_gates__HwSpinlock__include */
diff --git a/packages/ti/gates/hwspinlock/package.bld b/packages/ti/gates/hwspinlock/package.bld
deleted file mode 100644 (file)
index e78e8b7..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Copyright (c) 2011-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 ========
- *
- */
-
-/* explicit references to global objects */
-var Build = xdc.useModule('xdc.bld.BuildEnvironment');
-var Pkg = xdc.useModule('xdc.bld.PackageContents');
-var smpBuild = java.lang.System.getenv("BUILD_SMP");
-
-/* clean lib folder */
-Pkg.generatedFiles.$add("lib/");
-Pkg.libDir = "package/";
-
-/* add custom files to all releases */
-Pkg.attrs.exportSrc = false;
-Pkg.attrs.exportCfg = true;
-
-/* list of libraries to build */
-var libArray = new Array();
-if (smpBuild == "1") {
-    /* ti.gates.hwspinlock library for IPU SMP target */
-    libArray.push(
-        {
-            name: "ti.gates.hwspinlock_smp",
-            sources: [
-                "HwSpinlock"
-            ],
-            libAttrs: {
-                defs: " -DM3_ONLY -DSMP"
-            },
-            isas: [ "v7M" ],
-        }
-    );
-}
-else {
-    /* ti.gates.hwspinlock library for IPU non-SMP target */
-    libArray.push(
-        {
-            name: "ti.gates.hwspinlock",
-            sources: [
-                "HwSpinlock",
-            ],
-            libAttrs: {
-                defs: " -DM3_ONLY"
-            },
-            isas: [ "v7M" ],
-        }
-    );
-
-    /* ti.gates.hwspinlock library for DSP target */
-    libArray.push(
-        {
-            name: "ti.gates.hwspinlock",
-            sources: [
-                "HwSpinlock",
-            ],
-            libAttrs: {
-                defs: " -DDSP"
-            },
-            isas: [ "64T" ],
-        }
-    );
-
-    /* ti.gates.hwspinlock library for DSP target */
-    libArray.push(
-        {
-            name: "ti.gates.hwspinlock",
-            sources: [
-                "HwSpinlock",
-            ],
-            libAttrs: {
-                defs: " -DDSPC674"
-            },
-            isas: [ "674" ],
-        }
-    );
-}
-
-/* generate the package libraries */
-/* check if profile specified in XDCARGS */
-/* XDCARGS="... profile=debug ..." */
-var cmdlProf = (" " + arguments.join(" ") + " ").match(/ profile=([^ ]+) /);
-cmdlProf = cmdlProf != null ? cmdlProf[1] : null;
-
-/* ==== loop over array of libraries ==== */
-for (var i = 0; i < libArray.length; i++) {
-    var lib = libArray[i];
-
-    /* ==== loop over all targets in build array ==== */
-    for (var j = 0; j < Build.targets.length; j++) {
-        var targ = Build.targets[j];
-
-        /* skip target if not compatible with source code */
-        if ("icw" in lib) {
-            var skipTarget = true;
-            var targIsaChain = "/" + targ.getISAChain().join("/") + "/";
-            for (var k = 0; k < lib.icw.length; k++) {
-                if (targIsaChain.match("/" + lib.icw[k] + "/")) {
-                    skipTarget = false;
-                    break;
-                }
-            }
-            if (skipTarget) continue;
-        }
-
-        /* skip target if it does not generate code for the given isa */
-        if ("isas" in lib) {
-            var skipTarget = true;
-            var list = "/" + lib.isas.join("/") + "/";
-            if (list.match("/" + targ.isa + "/")) {
-                skipTarget = false;
-            }
-            if (skipTarget) continue;
-        }
-
-        /* ==== loop over all profiles ==== */
-        for (var profile in targ.profiles) {
-
-            /* skip profile if different than specified on command line */
-            if ((cmdlProf != null) && (profile != cmdlProf)) {
-                continue;
-            }
-
-            /* name = lib/profile/name.a+suffix */
-            var name = "lib/" + profile + "/" + lib.name;
-
-            /* pass along library attributes specified in library array */
-            var libAttrs = "libAttrs" in lib ? lib.libAttrs : {};
-
-            /* must set profile explicitly */
-            libAttrs.profile = profile;
-
-            /* build the library */
-            var library = Pkg.addLibrary(name, targ, libAttrs);
-
-            /* add the source files */
-            library.addObjects(lib.sources);
-        }
-    }
-}
diff --git a/packages/ti/gates/hwspinlock/package.xdc b/packages/ti/gates/hwspinlock/package.xdc
deleted file mode 100644 (file)
index 5c873e5..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2011-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 ========
- *
- */
-
-/*!
- *  ======== ti.gates.hwspinlock ========
- *  HW SpinLock support
- *
- *  Contains modules that are OS independent and support
- *  using HW Spinlocks between processors.
- *
- */
-
-package ti.gates.hwspinlock [1,0,0,0] {
-}
diff --git a/packages/ti/gates/hwspinlock/package.xs b/packages/ti/gates/hwspinlock/package.xs
deleted file mode 100644 (file)
index 34a1cc3..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (c) 2011-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 ========
- *
- */
-
-/*
- *  ======== useModules ========
- */
-xdc.useModule('xdc.runtime.GateNull');
-xdc.useModule('ti.sysbios.gates.GateTask');
-xdc.useModule('ti.sysbios.gates.GateSwi');
-xdc.useModule('ti.sysbios.gates.GateHwi');
-
-/*
- *  ======== getLibs ========
- */
-function getLibs(prog)
-{
-    var suffix;
-    var file;
-    var libAry = [];
-    var profile = this.profile;
-    var smp = "";
-
-    suffix = prog.build.target.findSuffix(this);
-    if (suffix == null) {
-        return "";  /* nothing to contribute */
-    }
-
-    if (prog.platformName.match(/ipu/)) {
-        smp = "_smp";
-    }
-
-    /* make sure the library exists, else fallback to a built library */
-    file = "lib/" + profile + "/ti.gates.hwspinlock" + smp +".a" + suffix;
-    if (java.io.File(this.packageBase + file).exists()) {
-        libAry.push(file);
-    }
-    else {
-        file = "lib/release/ti.gates.hwspinlock" + smp + ".a" + suffix;
-        if (java.io.File(this.packageBase + file).exists()) {
-            libAry.push(file);
-        }
-        else {
-            /* fallback to a compatible library built by this package */
-            for (var p in this.build.libDesc) {
-                if (suffix == this.build.libDesc[p].suffix) {
-                    libAry.push(p);
-                    break;
-                }
-            }
-        }
-    }
-
-    return libAry.join(";");
-}
index 10efe6cbe957814ebe6e676641f79b9c5b28e38b..ce888f4d0b726b9efddef0b95ee241f9b4ffc285 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011-2013-2012, Texas Instruments Incorporated
+ * Copyright (c) 2011-2013, Texas Instruments Incorporated
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-
 /*
  *  ======== package.bld ========
- *
  */
 
-/* explicit references to global objects */
 var Build = xdc.useModule('xdc.bld.BuildEnvironment');
 var Pkg = xdc.useModule('xdc.bld.PackageContents');
-var smpBuild = java.lang.System.getenv("BUILD_SMP");
 
-/* clean lib folder */
-Pkg.generatedFiles.$add("lib/");
-Pkg.libDir = "package/";
+/*
+ * This package distributes its sources in the default release.  This is to
+ * enable better understanding by the customer/field, as well as enable
+ * modification and profiling techniques in the field.
+ */
+Pkg.attrs.exportSrc = true;
+
+Pkg.otherFiles = ["package.bld", "InterruptProxy.h", "InterruptDsp.h",
+        "InterruptIpu.h"];
 
-/* add custom files to all releases */
-Pkg.attrs.exportSrc = false;
-Pkg.attrs.exportCfg = true;
-Pkg.otherFiles = [
-    "InterruptProxy.h",
-];
+/* remove this output directory during a clean */
+Pkg.generatedFiles.$add("lib/");
 
 /* list of libraries to build */
 var libArray = new Array();
-if (smpBuild == "1") {
-    /* rpmsg library for IPU SMP target */
-    libArray.push(
-        {
-            name: "ti.ipc.rpmsg_smp",
-            sources: [
-                "VirtQueue",
-                "InterruptIpu",
-            ],
-            libAttrs: {
-                defs: " -DSMP"
-            },
-            isas: [ "v7M" ],
-        }
-    );
-}
-else {
-    /* rpmsg library for IPU non-SMP target */
-    libArray.push(
-        {
-            name: "ti.ipc.rpmsg",
-            sources: [
-                "VirtQueue",
-                "InterruptIpu",
-                "OffloadM3",
-            ],
-            libAttrs: {
-                defs: " -DM3_ONLY"
-            },
-            isas: [ "v7M" ],
-        }
-    );
-
-    /* rpmsg library for DSP target */
-    libArray.push(
-        {
-            name: "ti.ipc.rpmsg",
-            sources: [
-                "VirtQueue",
-                "InterruptDsp",
-            ],
-            libAttrs: {
-                defs: " -DDSP"
-            },
-            isas: [ "64T" ],
-        }
-    );
-}
 
-/* generate the package libraries */
-/* check if profile specified in XDCARGS */
-/* XDCARGS="... profile=debug ..." */
-var cmdlProf = (" " + arguments.join(" ") + " ").match(/ profile=([^ ]+) /);
-cmdlProf = cmdlProf != null ? cmdlProf[1] : null;
+/* rpmsg library for IPU SMP target */
+libArray.push(
+    {
+        name: "ti.ipc.rpmsg_smp",
+        sources: [
+            "VirtQueue",
+            "InterruptIpu",
+        ],
+        libAttrs: {
+            defs: " -DSMP"
+        },
+        isas: [ "v7M" ],
+    }
+);
+
+/* rpmsg library for IPU non-SMP target */
+libArray.push(
+    {
+        name: "ti.ipc.rpmsg",
+        sources: [
+            "VirtQueue",
+            "InterruptIpu",
+            "OffloadM3",
+        ],
+        libAttrs: {
+            defs: " -DM3_ONLY"
+        },
+        isas: [ "v7M" ],
+    }
+);
+
+/* rpmsg library for DSP target */
+libArray.push(
+    {
+        name: "ti.ipc.rpmsg",
+        sources: [
+            "VirtQueue",
+            "InterruptDsp",
+        ],
+        libAttrs: {
+            defs: " -DDSP"
+        },
+        isas: [ "64T" ],
+    }
+);
+
 
 /* ==== loop over array of libraries ==== */
 for (var i = 0; i < libArray.length; i++) {
@@ -116,19 +107,6 @@ for (var i = 0; i < libArray.length; i++) {
     for (var j = 0; j < Build.targets.length; j++) {
         var targ = Build.targets[j];
 
-        /* skip target if not compatible with source code */
-        if ("icw" in lib) {
-            var skipTarget = true;
-            var targIsaChain = "/" + targ.getISAChain().join("/") + "/";
-            for (var k = 0; k < lib.icw.length; k++) {
-                if (targIsaChain.match("/" + lib.icw[k] + "/")) {
-                    skipTarget = false;
-                    break;
-                }
-            }
-            if (skipTarget) continue;
-        }
-
         /* skip target if it does not generate code for the given isa */
         if ("isas" in lib) {
             var skipTarget = true;
@@ -142,11 +120,6 @@ for (var i = 0; i < libArray.length; i++) {
         /* ==== loop over all profiles ==== */
         for (var profile in targ.profiles) {
 
-            /* skip profile if different than specified on command line */
-            if ((cmdlProf != null) && (profile != cmdlProf)) {
-                continue;
-            }
-
             /* name = lib/profile/name.a+suffix */
             var name = "lib/" + profile + "/" + lib.name;
 
index d549b0ae7e36efa2a12c1954c8369a03c0e3d5b0..f91b6c7851bdcd32f7f004b3d25f8c142df0f715 100644 (file)
  *
  */
 
-/*
- *  ======== init ========
- */
-function init()
-{
-    xdc.loadPackage('ti.pm');
-}
-
 /*
  *  ======== close ========
  */
 function close()
 {
-    Program.exportModule('ti.sysbios.hal.Cache');
-    Program.exportModule('ti.sysbios.knl.Idle');
+    /* bring in modules we use in this package */
+    xdc.useModule('ti.sysbios.knl.Swi');
+    xdc.useModule('ti.sysbios.hal.Cache');
+    xdc.loadPackage('ti.pm');
 }
 
 /*
@@ -57,15 +51,17 @@ function close()
  */
 function getLibs(prog)
 {
-    var suffix;
     var file;
     var libAry = [];
     var profile = this.profile;
     var smp = "";
 
-    suffix = prog.build.target.findSuffix(this);
+    var suffix = prog.build.target.findSuffix(this);
     if (suffix == null) {
-        return "";  /* nothing to contribute */
+        /* no matching lib found in this package, return "" */
+        $trace("Unable to locate a compatible library, returning none.",
+                1, ['getLibs']);
+        return ("");
     }
 
     if (prog.platformName.match(/ipu/)) {
index b2edb6c9ea9fd1aaaf7488f6d75d516d51caaca3..d56301b753de618cae486952ecfd09128f3e8878 100644 (file)
 %if (prog.platformName.match(/Kepler/)) {
 #include <ti/ipc/remoteproc/rsc_table_tci6638.h>
 %}
+%if (prog.platformName.match(/omap54xx\.ipu/)) {
+#include <ti/ipc/remoteproc/rsc_table_omap5_ipu.h>
+%}
+%if (prog.platformName.match(/omap54xx\.dsp/)) {
+#include <ti/ipc/remoteproc/rsc_table_omap5_dsp.h>
+%}
 
 Void ti_ipc_remoteproc_Resource_init__I()
 {
similarity index 97%
rename from packages/ti/resources/rsc_table_dsp.h
rename to packages/ti/ipc/remoteproc/rsc_table_omap5_dsp.h
index 7b6f9222da4fe5b5ca35bc5838b32c30c44b103d..0d20c0f224b6dcad97d4fa32c07fcd3d0902529d 100644 (file)
@@ -31,7 +31,7 @@
  */
 
 /*
- *  ======== rsc_table_dsp.h ========
+ *  ======== rsc_table_omap5_dsp.h ========
  *
  *  Define the resource table entries for all DSP cores. This will be
  *  incorporated into corresponding base images, and used by the remoteproc
@@ -43,7 +43,7 @@
 #define _RSC_TABLE_DSP_H_
 
 #include <xdc/std.h>
-#include <ti/resources/rsc_types.h>
+#include "rsc_types.h"
 #include <ti/gates/hwspinlock/HwSpinlock.h>
 
 /* DSP Memory Map */
@@ -180,10 +180,10 @@ struct resource_table {
 #define HWSPINKLOCKSTATEADDR (UInt32)&ti_gates_HwSpinlock_sharedState
 #define HWSPINKLOCKNUMADDR (UInt32)&ti_gates_HwSpinlock_numLocks
 
-#pragma DATA_SECTION(ti_resources_ResourceTable, ".resource_table")
-#pragma DATA_ALIGN(ti_resources_ResourceTable, 4096)
+#pragma DATA_SECTION(ti_ipc_remoteproc_ResourceTable, ".resource_table")
+#pragma DATA_ALIGN(ti_ipc_remoteproc_ResourceTable, 4096)
 
-struct resource_table ti_resources_ResourceTable = {
+struct resource_table ti_ipc_remoteproc_ResourceTable = {
     1,      /* we're the first version that implements this */
     17,     /* number of entries in the table */
     0, 0,   /* reserved, must be zero */
similarity index 91%
rename from packages/ti/resources/rsc_table_ipu.h
rename to packages/ti/ipc/remoteproc/rsc_table_omap5_ipu.h
index 5fe35582e3893b5fa1200b8ab30dda727276bfa3..36c8dc4066a12adb6d7921365d6a36cafcf1ae5e 100644 (file)
@@ -31,7 +31,7 @@
  */
 
 /*
- *  ======== rsc_table_ipu.h ========
+ *  ======== rsc_table_omap5_ipu.h ========
  *
  *  Define the resource table entries for all IPU cores. This will be
  *  incorporated into corresponding base images, and used by the remoteproc
@@ -42,9 +42,7 @@
 #ifndef _RSC_TABLE_IPU_H_
 #define _RSC_TABLE_IPU_H_
 
-#include <xdc/std.h>
-#include <ti/resources/rsc_types.h>
-#include <ti/gates/hwspinlock/HwSpinlock.h>
+#include "rsc_types.h"
 
 /* IPU Memory Map */
 #define L4_44XX_BASE            0x4a000000
@@ -128,7 +126,7 @@ struct resource_table {
     UInt32 version;
     UInt32 num;
     UInt32 reserved[2];
-    UInt32 offset[17];  /* Should match 'num' in actual definition */
+    UInt32 offset[16];  /* Should match 'num' in actual definition */
 
     /* rpmsg vdev entry */
     struct fw_rsc_vdev rpmsg_vdev;
@@ -179,21 +177,16 @@ struct resource_table {
 
     /* devmem entry */
     struct fw_rsc_devmem devmem10;
-
-    /* hwspinlock custom entry */
-    struct fw_rsc_custom hwspin;
 };
 
 #define TRACEBUFADDR (UInt32)&ti_trace_SysMin_Module_State_0_outbuf__A
-#define HWSPINKLOCKSTATEADDR (UInt32)&ti_gates_HwSpinlock_sharedState
-#define HWSPINKLOCKNUMADDR (UInt32)&ti_gates_HwSpinlock_numLocks
 
-#pragma DATA_SECTION(ti_resources_ResourceTable, ".resource_table")
-#pragma DATA_ALIGN(ti_resources_ResourceTable, 4096)
+#pragma DATA_SECTION(ti_ipc_remoteproc_ResourceTable, ".resource_table")
+#pragma DATA_ALIGN(ti_ipc_remoteproc_ResourceTable, 4096)
 
-struct resource_table ti_resources_ResourceTable = {
+struct resource_table ti_ipc_remoteproc_ResourceTable = {
     1,      /* we're the first version that implements this */
-    17,     /* number of entries in the table */
+    16,     /* number of entries in the table */
     0, 0,   /* reserved, must be zero */
     /* offsets to entries */
     {
@@ -213,7 +206,6 @@ struct resource_table ti_resources_ResourceTable = {
         offsetof(struct resource_table, devmem8),
         offsetof(struct resource_table, devmem9),
         offsetof(struct resource_table, devmem10),
-        offsetof(struct resource_table, hwspin),
     },
 
     /* rpmsg vdev entry */
@@ -313,12 +305,6 @@ struct resource_table ti_resources_ResourceTable = {
         IPU_PERIPHERAL_DMM, L3_PERIPHERAL_DMM,
         SZ_1M, 0, 0, "IPU_PERIPHERAL_DMM",
     },
-
-    {
-        TYPE_CUSTOM, TYPE_HWSPIN,
-        sizeof(struct fw_rsc_custom_hwspin),
-        { HWSPINKLOCKNUMADDR, HWSPINKLOCKSTATEADDR, "hwspin"},
-    },
 };
 
 #endif /* _RSC_TABLE_IPU_H_ */
index ee4d65d6ffc9c3b735f70a350945d5986fd5550c..da9ba33684722e015d9d36df2a37ba126b94a98d 100644 (file)
 #define TYPE_VDEV        3
 #define TYPE_CRASHDUMP   4
 
+/*
+ * Use flags to define memory access for each resource
+ * Must match include/linux/rproc_drm.h
+ */
+enum rproc_memregion {
+    RPROC_MEMREGION_UNKNOWN,
+    RPROC_MEMREGION_2D,
+    RPROC_MEMREGION_SMEM,
+    RPROC_MEMREGION_CODE,
+    RPROC_MEMREGION_DATA,
+    RPROC_MEMREGION_1D,
+    RPROC_MEMREGION_VRING
+};
+
 /* Common Resource Structure Types */
 struct fw_rsc_carveout {
     UInt32  type;
index b5eb5933f18bd2fa3ff7dd4b0b925f922ca3509b..74b5aea0c5f37f606b320d3f9ef94ad30cabce4f 100644 (file)
@@ -35,7 +35,6 @@
 
 var Build = xdc.useModule('xdc.bld.BuildEnvironment');
 var Pkg = xdc.useModule('xdc.bld.PackageContents');
-var smpBuild = java.lang.System.getenv("BUILD_SMP");
 
 Pkg.attrs.exportSrc = true;
 
@@ -47,46 +46,60 @@ var SRCS = ["MessageQCopy.c", "NameMap.c"];
 /* remove this output directory during a clean */
 Pkg.generatedFiles.$add("lib/");
 
+var myCopts = "";
 
 for (var i = 0; i < Build.targets.length; i++) {
     var targ = Build.targets[i];
-    var isaDefs = "";
     var name = Pkg.name;
 
-    print("targ.isa: " + targ.isa);
-    print("smpBuild: " + smpBuild);
-
-    /* Yuck, yuck, yuck! */
-    if (targ.isa == "674") {
-        isaDefs = "-DOMAPL138";
-    } else if (targ.isa == "66") {
-        /* TBD: Only one of Appleton or Kepler can build for now: */
-       isaDefs = "-DTCI6638";
-       //isaDefs = "-DTCI6614";
-    } else if (targ.isa == "v7M") {
-        if (smpBuild == "1") {
-            isaDefs = "-DOMAP5 -DSMP";
-            name = name + "_smp";
-        }
-        else {
-            isaDefs = "-DOMAP5 -DDM3_ONLY";
-        }
-    } else if (targ.isa == "64T" && smpBuild == 0) {
-        isaDefs = "-DOMAP5 -DDSP";
+    if (targ.$name.match(/^ti\.targets\.*/)) {
+        myCopts = "--gcc";  /* Rpmsg.h requires gcc-isms */
     } else {
-        continue;
+        myCopts = "";
     }
 
-    print("name: " + name);
-    print("isaDefs: " + isaDefs);
-
     /* Build for all profiles */
     for (var profile in targ.profiles) {
 
-       Pkg.addLibrary("lib/" + profile + "/" + name, targ, {
-           profile: profile,
-           copts: "--gcc",   /* b/c Rpmsg.h requires gcc-isms */
-           defs: isaDefs
-       }).addObjects(SRCS);
+        /* Build a platform-specific library */
+        if (targ.isa == "674") {
+            Pkg.addLibrary("lib/" + profile + "/" + name + "_omapl138", targ, {
+                profile: profile,
+                copts: myCopts,
+                defs: "-DOMAPL138"
+            }).addObjects(SRCS);
+        } else if (targ.isa == "66") {
+            Pkg.addLibrary("lib/" + profile + "/" + name + "_tci6638", targ, {
+                profile: profile,
+                copts: myCopts,
+                defs: "-DTCI6638"
+            }).addObjects(SRCS);
+
+            Pkg.addLibrary("lib/" + profile + "/" + name + "_tci6614", targ, {
+                profile: profile,
+                copts: myCopts,
+                defs: "-DTCI6614"
+            }).addObjects(SRCS);
+        } else if (targ.isa == "v7M") {
+            Pkg.addLibrary("lib/" + profile + "/" + name + "_omap5_smp", targ, {
+                profile: profile,
+                copts: myCopts,
+                defs: "-DOMAP5 -DSMP"
+            }).addObjects(SRCS);
+
+            Pkg.addLibrary("lib/" + profile + "/" + name + "_omap5", targ, {
+                profile: profile,
+                copts: myCopts,
+                defs: "-DOMAP5 -DDM3_ONLY"
+            }).addObjects(SRCS);
+        } else if (targ.isa == "64T") {
+            Pkg.addLibrary("lib/" + profile + "/" + name + "_omap5", targ, {
+                profile: profile,
+                copts: myCopts,
+                defs: "-DOMAP5 -DDSP"
+            }).addObjects(SRCS);
+        } else {
+            continue;
+        }
     }
 }
index 57510c699909838616007b0c1f0562898d6f8a43..a189ace13b55218601ee5e5741d3cde1c18b7128 100644 (file)
@@ -49,9 +49,11 @@ function close()
  */
 function getLibs(prog)
 {
-    var suffix = prog.build.target.findSuffix(this);
+    var device = prog.cpu.deviceName;
+    var platform = "";
     var smp = "";
 
+    var suffix = prog.build.target.findSuffix(this);
     if (suffix == null) {
         /* no matching lib found in this package, return "" */
         $trace("Unable to locate a compatible library, returning none.",
@@ -63,8 +65,28 @@ function getLibs(prog)
         smp = "_smp";
     }
 
+
+    switch (device) {
+        case "OMAP4430":
+            /* OMAP5 */
+            platform = "omap5";
+            break;
+
+        case "OMAPL138":
+            platform = "omapl138";
+            break;
+
+        case "Kepler":
+            platform = "tci6638";
+            break;
+
+        default:
+            throw ("Unspported device: " + device);
+            break;
+    }
+
     /* the location of the libraries are in lib/<profile>/* */
-    var name = this.$name + smp + ".a" + suffix;
+    var name = this.$name + "_" + platform + smp + ".a" + suffix;
     var lib = "lib/" + this.profile + "/" + name;
 
 
index 1535e9d0b4c10dbc165e958bf12394c0005a9fe3..19b1593b0ff9411e8349cd2ea497f38df5d146b1 100644 (file)
@@ -50,16 +50,23 @@ var SRCS = ["TransportVirtioSetup.c", "TransportVirtio.c"];
 /* remove this output directory during a clean */
 Pkg.generatedFiles.$add("lib/");
 
+var myCopts = "";
+
 for (var i = 0; i < Build.targets.length; i++) {
     var targ = Build.targets[i];
 
+    if (targ.$name.match(/^ti\.targets\.*/)) {
+        myCopts = "--gcc";  /* Rpmsg.h requires gcc-isms */
+    } else {
+        myCopts = "";
+    }
 
     /* Build for all profiles */
     for (var profile in targ.profiles) {
 
         Pkg.addLibrary("lib/" + profile + "/" + Pkg.name, targ, {
             profile: profile,
-            copts: "--gcc"   /* b/c Rpmsg.h requires gcc-isms */
+            copts: myCopts
         }).addObjects(SRCS);
     }
 }
index bb9268cfd75065832977963eb8f4cff1e8413340..2e6950cc21f961f69bd44f2f7549aa802fbb5817 100644 (file)
@@ -38,7 +38,6 @@
 /* explicit references to global objects */
 var Build = xdc.useModule('xdc.bld.BuildEnvironment');
 var Pkg = xdc.useModule('xdc.bld.PackageContents');
-var smpBuild = java.lang.System.getenv("BUILD_SMP");
 
 /* clean lib folder */
 Pkg.generatedFiles.$add("lib/");
@@ -53,50 +52,42 @@ Pkg.otherFiles = [
 
 /* list of libraries to build */
 var libArray = new Array();
-if (smpBuild == "1") {
-    /* pm library for IPU SMP target */
-    libArray.push(
-        {
-            name: "ti.pm_smp",
-            sources: [
-                "IpcPower",
-            ],
-            libAttrs: {
-                defs: " -DSMP"
-            },
-            isas: [ "v7M" ],
-        }
-    );
-}
-else {
-    /* pm library for IPU non-SMP target */
-    libArray.push(
-        {
-            name: "ti.pm",
-            sources: [
-                "IpcPower",
-            ],
-            isas: [ "v7M" ],
-        }
-    );
-
-    /* pm library for DSP target */
-    libArray.push(
-        {
-            name: "ti.pm",
-            sources: [
-                "IpcPowerDsp",
-            ],
-            isas: [ "64T" ],
-        }
-    );
-}
 
-/* generate the package libraries */
-/* check if profile specified in XDCARGS */
-/* XDCARGS="... profile=debug ..." */
-var cmdlProf = (" " + arguments.join(" ") + " ").match(/ profile=([^ ]+) /);
-cmdlProf = cmdlProf != null ? cmdlProf[1] : null;
+/* pm library for IPU SMP target */
+libArray.push(
+    {
+        name: "ti.pm_smp",
+        sources: [
+            "IpcPower",
+        ],
+        libAttrs: {
+            defs: " -DSMP"
+        },
+        isas: [ "v7M" ],
+    }
+);
+
+/* pm library for IPU non-SMP target */
+libArray.push(
+    {
+        name: "ti.pm",
+        sources: [
+            "IpcPower",
+        ],
+        isas: [ "v7M" ],
+    }
+);
+
+/* pm library for DSP target */
+libArray.push(
+    {
+        name: "ti.pm",
+        sources: [
+            "IpcPowerDsp",
+        ],
+        isas: [ "64T" ],
+    }
+);
 
 /* ==== loop over array of libraries ==== */
 for (var i = 0; i < libArray.length; i++) {
@@ -106,19 +97,6 @@ for (var i = 0; i < libArray.length; i++) {
     for (var j = 0; j < Build.targets.length; j++) {
         var targ = Build.targets[j];
 
-        /* skip target if not compatible with source code */
-        if ("icw" in lib) {
-            var skipTarget = true;
-            var targIsaChain = "/" + targ.getISAChain().join("/") + "/";
-            for (var k = 0; k < lib.icw.length; k++) {
-                if (targIsaChain.match("/" + lib.icw[k] + "/")) {
-                    skipTarget = false;
-                    break;
-                }
-            }
-            if (skipTarget) continue;
-        }
-
         /* skip target if it does not generate code for the given isa */
         if ("isas" in lib) {
             var skipTarget = true;
@@ -132,11 +110,6 @@ for (var i = 0; i < libArray.length; i++) {
         /* ==== loop over all profiles ==== */
         for (var profile in targ.profiles) {
 
-            /* skip profile if different than specified on command line */
-            if ((cmdlProf != null) && (profile != cmdlProf)) {
-                continue;
-            }
-
             /* name = lib/profile/name.a+suffix */
             var name = "lib/" + profile + "/" + lib.name;
 
index 29d5d9bcd49ff6f669d0c4256844cc708eb98e61..1f4a5694de979f6dbb571b1b27997fbed30c9d45 100644 (file)
  */
 function init()
 {
+    if (xdc.om.$name != 'cfg') {
+        return;
+    }
+
     if (Program.build.target.name.match(/C64T/)) {
         var Power = xdc.useModule('ti.sysbios.family.c64p.tesla.Power');
     }
diff --git a/packages/ti/resources/IpcMemory.c b/packages/ti/resources/IpcMemory.c
deleted file mode 100644 (file)
index ac364c3..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright (c) 2011-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.
- */
-
-/*
- *  ======== IpcMemory.c ========
- *
- */
-
-#include <xdc/runtime/System.h>
-#include <xdc/runtime/Startup.h>
-
-#include <ti/resources/rsc_types.h>
-#include "package/internal/IpcMemory.xdc.h"
-
-
-/*
- *  ======== IpcMemory_getEntry ========
- */
-IpcMemory_MemEntry *IpcMemory_getEntry(UInt index)
-{
-    UInt32 offset;
-    UInt32 *type;
-    IpcMemory_MemEntry *entry = NULL;
-    IpcMemory_RscTable *table = (IpcMemory_RscTable *)
-                                            (IpcMemory_module->pTable);
-
-    if (index >= table->num) {
-        return (NULL);
-    }
-
-    offset = (UInt32)((Char *)table + table->offset[index]);
-    type = (UInt32 *)offset;
-    if (*type == TYPE_CARVEOUT || *type == TYPE_DEVMEM) {
-        entry = (IpcMemory_MemEntry *) ((Char *)offset);
-    }
-
-    return (entry);
-}
-
-/*
- *************************************************************************
- *                      Module wide functions
- *************************************************************************
- */
-
-/*
- *  ======== IpcMemory_Module_startup ========
- */
-Int IpcMemory_Module_startup(Int phase)
-{
-    IpcMemory_init();
-    return (Startup_DONE);
-}
-
-/*
- *  ======== IpcMemory_virtToPhys ========
- */
-Int IpcMemory_virtToPhys(UInt32 va, UInt32 *pa)
-{
-    UInt32 i;
-    UInt32 offset;
-    IpcMemory_MemEntry *entry;
-
-    *pa = NULL;
-
-    for (i = 0; i < module->pTable->num; i++) {
-        entry = IpcMemory_getEntry(i);
-        if (entry && va >= entry->da && va < (entry->da + entry->len)) {
-                offset = va - entry->da;
-                *pa = entry->pa + offset;
-                return (IpcMemory_S_SUCCESS);
-        }
-    }
-
-    return (IpcMemory_E_NOTFOUND);
-}
-
-/*
- *  ======== IpcMemory_physToVirt ========
- */
-Int IpcMemory_physToVirt(UInt32 pa, UInt32 *va)
-{
-    UInt32 i;
-    UInt32 offset;
-    IpcMemory_MemEntry *entry;
-
-    *va = NULL;
-
-    for (i = 0; i < module->pTable->num; i++) {
-        entry = IpcMemory_getEntry(i);
-        if (entry && pa >= entry->pa && pa < (entry->pa + entry->len)) {
-                offset = pa - entry->pa;
-                *va = entry->da + offset;
-                return (IpcMemory_S_SUCCESS);
-        }
-    }
-
-    return (IpcMemory_E_NOTFOUND);
-}
diff --git a/packages/ti/resources/IpcMemory.xdc b/packages/ti/resources/IpcMemory.xdc
deleted file mode 100644 (file)
index 93a5f0b..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright (c) 2011-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.
- */
-
-/*
- *  ======== IpcMemory.xdc ========
- */
-
-/*!
- *  ======== IpcMemory ========
- *
- *  IpcMemory Module
- *
- */
-
-@Template("./IpcMemory.xdt")
-@ModuleStartup
-module IpcMemory {
-
-    /*!
-     *  @def    IpcMemory_loadAddr
-     *  @brief  Default load address for the IpcMemory table
-     */
-    metaonly config UInt loadAddr = 0x3000;
-
-    /*!
-     *  @def    IpcMemory_loadSegment
-     *  @brief  If loadSegment is defined, loadAddr is overriden with the base
-     *          address of the loadSegment
-     */
-    metaonly config String loadSegment;
-
-    /*!
-     *  @def    IpcMemory_S_SUCCESS
-     *  @brief  Operation is successful.
-     */
-    const Int S_SUCCESS  = 0;
-
-    /*!
-     *  @def    IpcMemory_E_NOTFOUND
-     *  @brief  Element was not found in table
-     */
-    const Int E_NOTFOUND = -1;
-
-    /*!
-     *  @def       IpcMemory_RscTable
-     *
-     *  @brief     An open-ended type-length-value based resource table
-     */
-    struct RscTable {
-        UInt32 ver;
-        UInt32 num;
-        UInt32 reserved[2];
-        UInt32 offset[1];
-    };
-
-    /*!
-     *  @def       IpcMemory_MemEntry
-     *
-     *  @brief     A Resource Table memory type record
-     */
-    struct MemEntry {
-        UInt32 type;
-        UInt32 da;       /* Device Virtual Address */
-        UInt32 pa;       /* Physical Address */
-        UInt32 len;
-        UInt32 flags;
-        UInt32 reserved;
-        Char   name[32];
-    };
-
-    /*!
-     *  @brief      Virtual to Physical address translation function
-     *
-     *  @sa         IpcMemory_physToVirt
-     */
-    @DirectCall
-    Int virtToPhys(UInt32 da, UInt32 *pa);
-
-    /*!
-     *  @brief      Physical to Virtual address translation function
-     *
-     *  @sa         IpcMemory_virtToPhys
-     */
-    @DirectCall
-    Int physToVirt(UInt32 pa, UInt32 *da);
-
-internal:   /* not for client use */
-
-    /*!
-     *  @brief      Use resource and resourceLen so table could be properly
-     *              allocated
-     *
-     */
-    Void init();
-
-    /*!
-     *  @brief      Return the i-th entry in the resource table
-     *
-     */
-    MemEntry *getEntry(UInt index);
-
-    struct Module_State {
-        RscTable    *pTable;  /* IpcMemory Resource Table pointer */
-    };
-}
diff --git a/packages/ti/resources/IpcMemory.xdt b/packages/ti/resources/IpcMemory.xdt
deleted file mode 100644 (file)
index 7084243..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-%%{
-/*
- * Copyright (c) 2011-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.
- */
-%%}
-
-%var prog = xdc.om['xdc.cfg.Program'];
-%if (prog.platformName.match(/omap54xx/)) {
-#define OMAP5
-%}
-
-%if (prog.platformName.match(/ipu/)) {
-#define SMP
-%}
-
-%var MultiProc = xdc.module('ti.sdo.utils.MultiProc');
-%if (MultiProc.id == MultiProc.getIdMeta("CORE0")) {
-
-#include <xdc/runtime/System.h>
-#include <ti/resources/rsc_table_ipu.h>
-
-%}
-
-
-%if (MultiProc.id == MultiProc.getIdMeta("DSP")) {
-#include <xdc/runtime/System.h>
-#include <ti/resources/rsc_table_dsp.h>
-%}
-
-Void ti_resources_IpcMemory_init__I()
-{
-%if (MultiProc.id == MultiProc.getIdMeta("CORE0") ||
-%    MultiProc.id == MultiProc.getIdMeta("DSP")) {
-    xdc_runtime_System_printf("%d IpcMemory entries at 0x%x\n",
-                              ti_resources_ResourceTable.num,
-                              &ti_resources_ResourceTable);
-%}
-
-    return;
-}
diff --git a/packages/ti/resources/IpcMemory.xs b/packages/ti/resources/IpcMemory.xs
deleted file mode 100644 (file)
index d0701b6..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 2011-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.
- */
-
-/*
- *  ======== IpcMemory.xs ========
- *
- */
-var IpcMemory;
-var MultiProc;
-
-/*
- *  ======== module$meta$init ========
- */
-function module$use()
-{
-    MultiProc = xdc.module('ti.sdo.utils.MultiProc');
-    IpcMemory = this;
-
-    var memmap = Program.cpu.memoryMap;
-    var segment = null;
-    var addr = IpcMemory.loadAddr;
-
-    if (IpcMemory.loadSegment != undefined) {
-        for (var i=0; i < memmap.length; i++) {
-            if (memmap[i].name == IpcMemory.loadSegment) {
-                segment = memmap[i];
-            }
-        }
-        if (segment == null) {
-            this.$logError("IpcMemory.loadSegment not found", this);
-        }
-        addr = segment.base;
-    }
-
-    if (MultiProc.id == MultiProc.getIdMeta("CORE0") ||
-        MultiProc.id == MultiProc.getIdMeta("DSP")) {
-        /* The .resource_table section should always be at the segment base */
-        Program.sectMap[".resource_table"] = new Program.SectionSpec();
-        Program.sectMap[".resource_table"].type = "NOINIT";
-        Program.sectMap[".resource_table"].loadAddress = addr;
-    }
-}
-
-function module$static$init(obj, params)
-{
-    var memmap = Program.cpu.memoryMap;
-    var segment = null;
-    var addr = IpcMemory.loadAddr;
-
-    if (IpcMemory.loadSegment != undefined) {
-        for (var i=0; i < memmap.length; i++) {
-            if (memmap[i].name == IpcMemory.loadSegment) {
-                segment = memmap[i];
-            }
-        }
-        if (null == segment) {
-            this.$logError("IpcMemory.loadSegment not found", this);
-        }
-        print("IpcMemory.loadSegment", IpcMemory.loadSegment);
-        addr = segment.base;
-    }
-
-    /* Assign the addresses for the module state variables */
-    obj.pTable = addr;
-}
diff --git a/packages/ti/resources/package.bld b/packages/ti/resources/package.bld
deleted file mode 100644 (file)
index 8f1a77d..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright (c) 2011-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 ========
- *
- */
-
-/* explicit references to global objects */
-var Build = xdc.useModule('xdc.bld.BuildEnvironment');
-var Pkg = xdc.useModule('xdc.bld.PackageContents');
-var smpBuild = java.lang.System.getenv("BUILD_SMP");
-
-/* clean lib folder */
-Pkg.generatedFiles.$add("lib/");
-Pkg.libDir = "package/";
-
-/* add custom files to all releases */
-Pkg.attrs.exportSrc = false;
-Pkg.attrs.exportCfg = true;
-for (var i = 0; i < Build.targets.length; i++) {
-    if (Build.targets[i].name.match(/M3/)) {
-        Pkg.otherFiles = [
-            "IpcMemory.h",
-            "rsc_types.h",
-            "rsc_table_ipu.h",
-        ];
-    }
-    else if (Build.targets[i].name.match(/C64T/)) {
-        Pkg.otherFiles = [
-            "IpcMemory.h",
-            "rsc_types.h",
-            "rsc_table_dsp.h",
-        ];
-    }
-}
-
-/* list of libraries to build */
-var libArray = new Array();
-if (smpBuild == "1") {
-    /* ti.resources library for IPU SMP target */
-    libArray.push(
-        {
-            name: "ti.resources_smp",
-            sources: [
-                "IpcMemory.c"
-            ],
-        }
-    );
-}
-else {
-    /* ti.resources library for regular targets */
-    libArray.push(
-        {
-            name: "ti.resources",
-            sources: [
-                "IpcMemory.c"
-            ],
-        }
-    );
-}
-
-/* generate the package libraries */
-/* check if profile specified in XDCARGS */
-/* XDCARGS="... profile=debug ..." */
-var cmdlProf = (" " + arguments.join(" ") + " ").match(/ profile=([^ ]+) /);
-cmdlProf = cmdlProf != null ? cmdlProf[1] : null;
-
-/* ==== loop over array of libraries ==== */
-for (var i = 0; i < libArray.length; i++) {
-    var lib = libArray[i];
-
-    /* ==== loop over all targets in build array ==== */
-    for (var j = 0; j < Build.targets.length; j++) {
-        var targ = Build.targets[j];
-
-        /* skip target if not compatible with source code */
-        if ("icw" in lib) {
-            var skipTarget = true;
-            var targIsaChain = "/" + targ.getISAChain().join("/") + "/";
-            for (var k = 0; k < lib.icw.length; k++) {
-                if (targIsaChain.match("/" + lib.icw[k] + "/")) {
-                    skipTarget = false;
-                    break;
-                }
-            }
-            if (skipTarget) continue;
-        }
-
-        /* skip target if it does not generate code for the given isa */
-        if ("isas" in lib) {
-            var skipTarget = true;
-            var list = "/" + lib.isas.join("/") + "/";
-            if (list.match("/" + targ.isa + "/")) {
-                skipTarget = false;
-            }
-            if (skipTarget) continue;
-        }
-
-        /* ==== loop over all profiles ==== */
-        for (var profile in targ.profiles) {
-
-            /* skip profile if different than specified on command line */
-            if ((cmdlProf != null) && (profile != cmdlProf)) {
-                continue;
-            }
-
-            /* name = lib/profile/name.a+suffix */
-            var name = "lib/" + profile + "/" + lib.name;
-
-            /* pass along library attributes specified in library array */
-            var libAttrs = "libAttrs" in lib ? lib.libAttrs : {};
-
-            /* must set profile explicitly */
-            libAttrs.profile = profile;
-
-            /* build the library */
-            var library = Pkg.addLibrary(name, targ, libAttrs);
-
-            /* add the source files */
-            library.addObjects(lib.sources);
-        }
-    }
-}
diff --git a/packages/ti/resources/package.xdc b/packages/ti/resources/package.xdc
deleted file mode 100644 (file)
index f8c8eff..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2011-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 ========
- *
- */
-
-/*!
- *  ======== ti.resources ========
- *  Common config files.
- *
- */
-
-package ti.resources [1,0,0,0] {
-    module IpcMemory;
-}
diff --git a/packages/ti/resources/package.xs b/packages/ti/resources/package.xs
deleted file mode 100644 (file)
index 2f7e657..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 2011-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 ========
- *
- */
-
-/*
- *  ======== getLibs ========
- */
-function getLibs(prog)
-{
-    var suffix;
-    var file;
-    var libAry = [];
-    var profile = this.profile;
-    var smp = "";
-
-    suffix = prog.build.target.findSuffix(this);
-    if (suffix == null) {
-        return "";  /* nothing to contribute */
-    }
-
-    if (prog.platformName.match(/ipu/)) {
-        smp = "_smp";
-    }
-
-    /* make sure the library exists, else fallback to a built library */
-    file = "lib/" + profile + "/ti.resources" + smp + ".a" + suffix;
-    if (java.io.File(this.packageBase + file).exists()) {
-        libAry.push(file);
-    }
-    else {
-        file = "lib/release/ti.resources" + smp + ".a" + suffix;
-        if (java.io.File(this.packageBase + file).exists()) {
-            libAry.push(file);
-        }
-        else {
-            /* fallback to a compatible library built by this package */
-            for (var p in this.build.libDesc) {
-                if (suffix == this.build.libDesc[p].suffix) {
-                    libAry.push(p);
-                    break;
-                }
-            }
-        }
-    }
-
-    return libAry.join(";");
-}
diff --git a/packages/ti/resources/rsc_types.h b/packages/ti/resources/rsc_types.h
deleted file mode 100644 (file)
index b5fd0c7..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Copyright (c) 2011-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.
- */
-/*
- *  ======== rsc_types.h ========
- *
- *  Include common definitions for sizes and type of resources
- *  used by the the resource table in each base image, which is
- *  read from remoteproc on host side.
- *
- */
-
-#ifndef _RSC_TYPES_H_
-#define _RSC_TYPES_H_
-
-/* Size constants must match those used on host: include/asm-generic/sizes.h */
-#define SZ_64K                          0x00010000
-#define SZ_128K                         0x00020000
-#define SZ_256K                         0x00040000
-#define SZ_512K                         0x00080000
-#define SZ_1M                           0x00100000
-#define SZ_2M                           0x00200000
-#define SZ_4M                           0x00400000
-#define SZ_8M                           0x00800000
-#define SZ_16M                          0x01000000
-#define SZ_32M                          0x02000000
-#define SZ_64M                          0x04000000
-#define SZ_128M                         0x08000000
-#define SZ_256M                         0x10000000
-#define SZ_512M                         0x20000000
-
-/* Virtio Ids: keep in sync with the linux "include/linux/virtio_ids.h" */
-#define VIRTIO_ID_CONSOLE       3 /* virtio console */
-#define VIRTIO_ID_RPMSG         7 /* virtio remote processor messaging */
-
-/* Indices of rpmsg virtio features we support */
-#define VIRTIO_RPMSG_F_NS       0  /* RP supports name service notifications */
-#define VIRTIO_RING_F_SYMMETRIC 30 /* We support symmetric vring */
-
-/* Resource info: Must match include/linux/remoteproc.h: */
-#define TYPE_CARVEOUT    0
-#define TYPE_DEVMEM      1
-#define TYPE_TRACE       2
-#define TYPE_VDEV        3
-#define TYPE_CRASHDUMP   4
-#define TYPE_CUSTOM      5
-
-/* Custom Resource info: Must match drivers/remoteproc/omap_remoteproc.h */
-#define TYPE_HWSPIN      1
-
-/* Resource info specific to hwspinlock */
-struct fw_rsc_custom_hwspin {
-    UInt32  num_da;
-    UInt32  state_da;
-    Char    name[32];
-};
-
-union fw_custom {
-    /* add custom resources here */
-    struct fw_rsc_custom_hwspin hwspin;
-    /* maintain reserved as the last element */
-    UInt32 reserved;
-};
-
-/*
- * Use flags to define memory access for each resource
- * Must match include/linux/rproc_drm.h
- */
-enum rproc_memregion {
-    RPROC_MEMREGION_UNKNOWN,
-    RPROC_MEMREGION_2D,
-    RPROC_MEMREGION_SMEM,
-    RPROC_MEMREGION_CODE,
-    RPROC_MEMREGION_DATA,
-    RPROC_MEMREGION_1D,
-    RPROC_MEMREGION_VRING
-};
-
-/* Common Resource Structure Types */
-struct fw_rsc_carveout {
-    UInt32  type;
-    UInt32  da;
-    UInt32  pa;
-    UInt32  len;
-    UInt32  flags;
-    UInt32  memregion;
-    Char    name[32];
-};
-
-struct fw_rsc_devmem {
-    UInt32  type;
-    UInt32  da;
-    UInt32  pa;
-    UInt32  len;
-    UInt32  flags;
-    UInt32  memregion;
-    Char    name[32];
-};
-
-struct fw_rsc_trace {
-    UInt32  type;
-    UInt32  da;
-    UInt32  len;
-    UInt32  reserved;
-    Char    name[32];
-};
-
-struct fw_rsc_vdev_vring {
-    UInt32  da; /* device address */
-    UInt32  align;
-    UInt32  num;
-    UInt32  notifyid;
-    UInt32  reserved;
-};
-
-struct fw_rsc_vdev {
-    UInt32  type;
-    UInt32  id;
-    UInt32  notifyid;
-    UInt32  dfeatures;
-    UInt32  gfeatures;
-    UInt32  config_len;
-    Char    status;
-    Char    num_of_vrings;
-    Char    reserved[2];
-};
-
-struct fw_rsc_custom {
-    UInt32          type;
-    UInt32          sub_type;
-    UInt32          rsc_size;
-    union fw_custom rsc;
-};
-
-#endif /* _RSC_TYPES_H_ */
index c997f4eed82604a7f6f3f0a1b51e90b9c9cc808f..c3af4cf57e1fc31760352cb42dc8635a8849f82e 100644 (file)
@@ -45,7 +45,7 @@ function module$use()
     BIOS = xdc.module("ti.sysbios.BIOS");
     Build = this;
 
-    if (("ti.sdo.ipc" in xdc.om) || ("ti.sdo.io" in xdc.om)) {
+    if ("ti.sdo.ipc" in xdc.om) {
         return;
     }