OMAP54XX: Add remote codec support master 3.30.00.01_eng
authorChris Ring <cring@ti.com>
Tue, 15 Apr 2014 21:09:39 +0000 (14:09 -0700)
committerChris Ring <cring@ti.com>
Tue, 15 Apr 2014 21:09:39 +0000 (14:09 -0700)
Add remote support based on IPC 3.x.  This has only been
build-tested, and almost certainly isn't functional.  But it
does enable initial remote examples ported to IPC 3.x to build,
both on Linux and BIOS sides, for OMAP54XX.

19 files changed:
Makefile.in
ce-linux.mak
configure
configure.ac
linux/src/api/Makefile.in
linux/src/ipc/Makefile.am
linux/src/ipc/Makefile.in
linux/src/osal/Makefile.in
packages/ti/sdo/ce/ipc/dsplink/Processor_dsplink.c
packages/ti/sdo/ce/rms.c
packages/ti/sdo/ce/utils/rtcfg/bios/rtcfg_bios_ceinit.c [new file with mode: 0644]
packages/ti/sdo/ce/utils/rtcfg/bios/rtcfg_bios_fcinit.c [new file with mode: 0644]
packages/ti/sdo/ce/utils/rtcfg/bios/svr_config.c [new file with mode: 0644]
packages/ti/sdo/ce/utils/rtcfg/bios/svr_debug_e64T.cmd [new file with mode: 0644]
packages/ti/sdo/ce/utils/rtcfg/bios/svr_release_e64T.cmd [new file with mode: 0644]
packages/ti/sdo/ce/utils/rtcfg/bios/svr_rtcfg.c [new file with mode: 0644]
packages/ti/sdo/ce/utils/rtcfg/rtcfg_fcinit.c [new file with mode: 0644]
packages/ti/sdo/ce/utils/rtcfg/rtcfg_remote_config.c [new file with mode: 0644]
products.mak

index 2777167bc514410316565f11d850a342139c351f..544a6a77ae3ab2bcd83bc60e8ad10e77e149ba46 100644 (file)
@@ -116,6 +116,9 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+IPC_INSTALL_DIR = @IPC_INSTALL_DIR@
+IPC_INSTALL_DIR_FALSE = @IPC_INSTALL_DIR_FALSE@
+IPC_INSTALL_DIR_TRUE = @IPC_INSTALL_DIR_TRUE@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
index 82e33ab8fc28a2a35ea4f9aacacb75a61e5a6942..d542db97b3e29884f38987409df6b33ef5e05428 100644 (file)
@@ -1,5 +1,5 @@
 #
-#   Copyright (c) 2012-2013, Texas Instruments Incorporated
+#   Copyright (c) 2012-2014, Texas Instruments Incorporated
 #
 #   Redistribution and use in source and binary forms, with or without
 #   modification, are permitted provided that the following conditions
@@ -44,7 +44,8 @@ config:
             CC=$(TOOLCHAIN_PREFIX)gcc \
             OSAL_INSTALL_DIR=$(OSAL_INSTALL_DIR) \
             CMEM_INSTALL_DIR=$(CMEM_INSTALL_DIR) \
-            XDAIS_INSTALL_DIR=$(XDAIS_INSTALL_DIR)
+            XDAIS_INSTALL_DIR=$(XDAIS_INSTALL_DIR) \
+            IPC_INSTALL_DIR=$(IPC_INSTALL_DIR)
 
 
 config-static:
@@ -53,7 +54,8 @@ config-static:
             CC=$(TOOLCHAIN_PREFIX)gcc \
             OSAL_INSTALL_DIR=$(OSAL_INSTALL_DIR) \
             CMEM_INSTALL_DIR=$(CMEM_INSTALL_DIR) \
-            XDAIS_INSTALL_DIR=$(XDAIS_INSTALL_DIR)
+            XDAIS_INSTALL_DIR=$(XDAIS_INSTALL_DIR) \
+            IPC_INSTALL_DIR=$(IPC_INSTALL_DIR)
 
 
 config-shared:
@@ -62,4 +64,5 @@ config-shared:
             CC=$(TOOLCHAIN_PREFIX)gcc \
             OSAL_INSTALL_DIR=$(OSAL_INSTALL_DIR) \
             CMEM_INSTALL_DIR=$(CMEM_INSTALL_DIR) \
-            XDAIS_INSTALL_DIR=$(XDAIS_INSTALL_DIR)
+            XDAIS_INSTALL_DIR=$(XDAIS_INSTALL_DIR) \
+            IPC_INSTALL_DIR=$(IPC_INSTALL_DIR)
index bde0ffb955df0c6b81ee9f82cf776901a6713008..5326fb18fef686300d4f27c52a7b490ccf11c083 100755 (executable)
--- a/configure
+++ b/configure
@@ -461,7 +461,7 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP LIBTOOL AM_CFLAGS AM_LDFLAGS OSAL_INSTALL_DIR CMEM_INSTALL_DIR XDAIS_INSTALL_DIR LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP LIBTOOL AM_CFLAGS AM_LDFLAGS OSAL_INSTALL_DIR CMEM_INSTALL_DIR XDAIS_INSTALL_DIR IPC_INSTALL_DIR IPC_INSTALL_DIR_TRUE IPC_INSTALL_DIR_FALSE LIBOBJS LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -946,6 +946,10 @@ ac_env_XDAIS_INSTALL_DIR_set=${XDAIS_INSTALL_DIR+set}
 ac_env_XDAIS_INSTALL_DIR_value=$XDAIS_INSTALL_DIR
 ac_cv_env_XDAIS_INSTALL_DIR_set=${XDAIS_INSTALL_DIR+set}
 ac_cv_env_XDAIS_INSTALL_DIR_value=$XDAIS_INSTALL_DIR
+ac_env_IPC_INSTALL_DIR_set=${IPC_INSTALL_DIR+set}
+ac_env_IPC_INSTALL_DIR_value=$IPC_INSTALL_DIR
+ac_cv_env_IPC_INSTALL_DIR_set=${IPC_INSTALL_DIR+set}
+ac_cv_env_IPC_INSTALL_DIR_value=$IPC_INSTALL_DIR
 
 #
 # Report the --help message.
@@ -1065,6 +1069,8 @@ Some influential environment variables:
               Installation path directory to the CMEM product
   XDAIS_INSTALL_DIR
               Installation path directory to the XDAIS product
+  IPC_INSTALL_DIR
+              Installation path directory to the IPC product
 
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
@@ -3710,7 +3716,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 3713 "configure"' > conftest.$ac_ext
+  echo '#line 3719 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -6135,11 +6141,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:6138: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:6144: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:6142: \$? = $ac_status" >&5
+   echo "$as_me:6148: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -6403,11 +6409,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:6406: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:6412: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:6410: \$? = $ac_status" >&5
+   echo "$as_me:6416: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -6507,11 +6513,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:6510: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:6516: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:6514: \$? = $ac_status" >&5
+   echo "$as_me:6520: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -8852,7 +8858,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 8855 "configure"
+#line 8861 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -8952,7 +8958,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 8955 "configure"
+#line 8961 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11292,11 +11298,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11295: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:11301: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:11299: \$? = $ac_status" >&5
+   echo "$as_me:11305: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -11396,11 +11402,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:11399: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:11405: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:11403: \$? = $ac_status" >&5
+   echo "$as_me:11409: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -12703,11 +12709,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:12706: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:12712: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:12710: \$? = $ac_status" >&5
+   echo "$as_me:12716: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -12971,11 +12977,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:12974: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:12980: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:12978: \$? = $ac_status" >&5
+   echo "$as_me:12984: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -13075,11 +13081,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:13078: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:13084: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:13082: \$? = $ac_status" >&5
+   echo "$as_me:13088: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -16773,10 +16779,25 @@ done
 
 
 
+
 # Export optional user variable to Makefile(s)
 
 
 
+
+
+# Define specific variables to be used in Makefile.am
+
+
+if test "x$IPC_INSTALL_DIR" != "x"; then
+  IPC_INSTALL_DIR_TRUE=
+  IPC_INSTALL_DIR_FALSE='#'
+else
+  IPC_INSTALL_DIR_TRUE='#'
+  IPC_INSTALL_DIR_FALSE=
+fi
+
+
 # Generate Makefile(s)
           ac_config_files="$ac_config_files Makefile"
 
@@ -16943,6 +16964,13 @@ echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${IPC_INSTALL_DIR_TRUE}" && test -z "${IPC_INSTALL_DIR_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"IPC_INSTALL_DIR\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"IPC_INSTALL_DIR\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 
 : ${CONFIG_STATUS=./config.status}
 ac_clean_files_save=$ac_clean_files
@@ -17541,6 +17569,9 @@ s,@AM_LDFLAGS@,$AM_LDFLAGS,;t t
 s,@OSAL_INSTALL_DIR@,$OSAL_INSTALL_DIR,;t t
 s,@CMEM_INSTALL_DIR@,$CMEM_INSTALL_DIR,;t t
 s,@XDAIS_INSTALL_DIR@,$XDAIS_INSTALL_DIR,;t t
+s,@IPC_INSTALL_DIR@,$IPC_INSTALL_DIR,;t t
+s,@IPC_INSTALL_DIR_TRUE@,$IPC_INSTALL_DIR_TRUE,;t t
+s,@IPC_INSTALL_DIR_FALSE@,$IPC_INSTALL_DIR_FALSE,;t t
 s,@LIBOBJS@,$LIBOBJS,;t t
 s,@LTLIBOBJS@,$LTLIBOBJS,;t t
 CEOF
@@ -18031,6 +18062,9 @@ Your CMEM installation directory is set to:
 Your XDAIS installation directory is set to:
     '${XDAIS_INSTALL_DIR}'
 
+Your IPC installation directory is set to:
+    '${IPC_INSTALL_DIR}'
+
 Now type 'make; sudo make install' to generate the program
 and install it to your system.
 
index 7e3ea00e41f26ff9eddf527e89749bae6a487bf8..4cbe88c6ba8d2153f68c607c1f1d3b92176b8009 100644 (file)
@@ -1,5 +1,5 @@
 #
-#   Copyright (c) 2013, Texas Instruments Incorporated
+#   Copyright (c) 2013-2014, Texas Instruments Incorporated
 #
 #   Redistribution and use in source and binary forms, with or without
 #   modification, are permitted provided that the following conditions
@@ -69,11 +69,17 @@ AC_SUBST([AM_LDFLAGS])
 AC_ARG_VAR(OSAL_INSTALL_DIR, Installation path directory to the OSAL product)
 AC_ARG_VAR(CMEM_INSTALL_DIR, Installation path directory to the CMEM product)
 AC_ARG_VAR(XDAIS_INSTALL_DIR, Installation path directory to the XDAIS product)
+AC_ARG_VAR(IPC_INSTALL_DIR, Installation path directory to the IPC product)
 
 # Export optional user variable to Makefile(s)
 AC_SUBST([OSAL_INSTALL_DIR])
 AC_SUBST([CMEM_INSTALL_DIR])
 AC_SUBST([XDAIS_INSTALL_DIR])
+AC_SUBST([IPC_INSTALL_DIR])
+
+# Define specific variables to be used in Makefile.am
+AM_CONDITIONAL([IPC_INSTALL_DIR], [test "x$IPC_INSTALL_DIR" != "x"])
+
 # Generate Makefile(s)
 AC_CONFIG_FILES([Makefile])
 AC_CONFIG_FILES([linux/src/api/Makefile])
@@ -98,6 +104,9 @@ Your CMEM installation directory is set to:
 Your XDAIS installation directory is set to:
     '${XDAIS_INSTALL_DIR}'
 
+Your IPC installation directory is set to:
+    '${IPC_INSTALL_DIR}'
+
 Now type 'make; sudo make install' to generate the program
 and install it to your system.
 
index e263a79f315103048efcd68d7b3e44e85937f564..0d01113986dd1729b3bf5d50e292d35637f9b073 100644 (file)
@@ -131,6 +131,9 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+IPC_INSTALL_DIR = @IPC_INSTALL_DIR@
+IPC_INSTALL_DIR_FALSE = @IPC_INSTALL_DIR_FALSE@
+IPC_INSTALL_DIR_TRUE = @IPC_INSTALL_DIR_TRUE@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
index 3ab35efd68f9c3b921e403601155fd6313e6c154..c08d401c848397f641dee46a41e100574d67cb09 100644 (file)
@@ -1,5 +1,5 @@
 ##
-##  Copyright (c) 2013, Texas Instruments Incorporated
+##  Copyright (c) 2013-2014, Texas Instruments Incorporated
 ##
 ##  Redistribution and use in source and binary forms, with or without
 ##  modification, are permitted provided that the following conditions
 ##  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 ##  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 ##
-## ======== src/api/Makefile.am ========
+## ======== src/ipc/Makefile.am ========
 ##
 
 # additional include paths necessary to compile the library
 AM_CFLAGS = -I$(top_srcdir)/packages \
         -I$(OSAL_INSTALL_DIR)/sources \
+        -I$(CMEM_INSTALL_DIR)/include \
         -I$(XDAIS_INSTALL_DIR)/packages \
+        -I$(IPC_INSTALL_DIR)/packages \
         -Dxdc_target_name__=GCArmv5T \
         -Dxdc_target_types__=gnu/targets/arm/std.h \
         -D_GNU_SOURCE -Wall @AM_CFLAGS@
@@ -46,6 +48,10 @@ AM_CFLAGS = -I$(top_srcdir)/packages \
 # the library names to build (note we are building shared libs)
 lib_LTLIBRARIES = libcenoipc.la
 
+if IPC_INSTALL_DIR
+lib_LTLIBRARIES += libceipc.la
+endif
+
 # where to install the headers on the system
 libcenoipc_ladir = $(includedir)/ti/sdo/ce
 
@@ -59,4 +65,18 @@ libcenoipc_la_SOURCES =    \
 # Add version info to the shared library
 libcenoipc_la_LDFLAGS = -version-info 1:0:0
 
+
+# where to install the headers on the system
+libceipc_ladir = $(includedir)/ti/sdo/ce
+
+# the sources to add to the library and to add to the source distribution
+libceipc_la_SOURCES =    \
+                        $(top_srcdir)/packages/ti/sdo/ce/ipc/Comm.h \
+                        $(top_srcdir)/packages/ti/sdo/ce/ipc/Processor.h \
+                        $(top_srcdir)/packages/ti/sdo/ce/ipc/dsplink/Comm_dsplink.c \
+                        $(top_srcdir)/packages/ti/sdo/ce/ipc/dsplink/Processor_dsplink.c
+
+# Add version info to the shared library
+libceipc_la_LDFLAGS = -version-info 1:0:0
+
 ###############################################################################
index 4834b52b3bae86310802de054a79bffe0fc0ce10..e9fea6eef7336b237dabf7f2b7bb96894a69fd69 100644 (file)
@@ -36,6 +36,7 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
+@IPC_INSTALL_DIR_TRUE@am__append_1 = libceipc.la
 subdir = linux/src/ipc
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -53,6 +54,10 @@ am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
 am__installdirs = "$(DESTDIR)$(libdir)"
 libLTLIBRARIES_INSTALL = $(INSTALL)
 LTLIBRARIES = $(lib_LTLIBRARIES)
+libceipc_la_LIBADD =
+am_libceipc_la_OBJECTS = Comm_dsplink.lo Processor_dsplink.lo
+libceipc_la_OBJECTS = $(am_libceipc_la_OBJECTS)
+@IPC_INSTALL_DIR_TRUE@am_libceipc_la_rpath = -rpath $(libdir)
 libcenoipc_la_LIBADD =
 am_libcenoipc_la_OBJECTS = Comm_posix.lo Processor_posix.lo
 libcenoipc_la_OBJECTS = $(am_libcenoipc_la_OBJECTS)
@@ -67,8 +72,8 @@ LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
 CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
        $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libcenoipc_la_SOURCES)
-DIST_SOURCES = $(libcenoipc_la_SOURCES)
+SOURCES = $(libceipc_la_SOURCES) $(libcenoipc_la_SOURCES)
+DIST_SOURCES = $(libceipc_la_SOURCES) $(libcenoipc_la_SOURCES)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -80,7 +85,9 @@ AMTAR = @AMTAR@
 # additional include paths necessary to compile the library
 AM_CFLAGS = -I$(top_srcdir)/packages \
         -I$(OSAL_INSTALL_DIR)/sources \
+        -I$(CMEM_INSTALL_DIR)/include \
         -I$(XDAIS_INSTALL_DIR)/packages \
+        -I$(IPC_INSTALL_DIR)/packages \
         -Dxdc_target_name__=GCArmv5T \
         -Dxdc_target_types__=gnu/targets/arm/std.h \
         -D_GNU_SOURCE -Wall @AM_CFLAGS@
@@ -114,6 +121,9 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+IPC_INSTALL_DIR = @IPC_INSTALL_DIR@
+IPC_INSTALL_DIR_FALSE = @IPC_INSTALL_DIR_FALSE@
+IPC_INSTALL_DIR_TRUE = @IPC_INSTALL_DIR_TRUE@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
@@ -187,7 +197,7 @@ target_alias = @target_alias@
 ###############################################################################
 
 # the library names to build (note we are building shared libs)
-lib_LTLIBRARIES = libcenoipc.la
+lib_LTLIBRARIES = libcenoipc.la $(am__append_1)
 
 # where to install the headers on the system
 libcenoipc_ladir = $(includedir)/ti/sdo/ce
@@ -202,6 +212,20 @@ libcenoipc_la_SOURCES = \
 
 # Add version info to the shared library
 libcenoipc_la_LDFLAGS = -version-info 1:0:0
+
+# where to install the headers on the system
+libceipc_ladir = $(includedir)/ti/sdo/ce
+
+# the sources to add to the library and to add to the source distribution
+libceipc_la_SOURCES = \
+                        $(top_srcdir)/packages/ti/sdo/ce/ipc/Comm.h \
+                        $(top_srcdir)/packages/ti/sdo/ce/ipc/Processor.h \
+                        $(top_srcdir)/packages/ti/sdo/ce/ipc/dsplink/Comm_dsplink.c \
+                        $(top_srcdir)/packages/ti/sdo/ce/ipc/dsplink/Processor_dsplink.c
+
+
+# Add version info to the shared library
+libceipc_la_LDFLAGS = -version-info 1:0:0
 all: all-am
 
 .SUFFIXES:
@@ -262,6 +286,8 @@ clean-libLTLIBRARIES:
          echo "rm -f \"$${dir}/so_locations\""; \
          rm -f "$${dir}/so_locations"; \
        done
+libceipc.la: $(libceipc_la_OBJECTS) $(libceipc_la_DEPENDENCIES) 
+       $(LINK) $(am_libceipc_la_rpath) $(libceipc_la_LDFLAGS) $(libceipc_la_OBJECTS) $(libceipc_la_LIBADD) $(LIBS)
 libcenoipc.la: $(libcenoipc_la_OBJECTS) $(libcenoipc_la_DEPENDENCIES) 
        $(LINK) -rpath $(libdir) $(libcenoipc_la_LDFLAGS) $(libcenoipc_la_OBJECTS) $(libcenoipc_la_LIBADD) $(LIBS)
 
@@ -271,7 +297,9 @@ mostlyclean-compile:
 distclean-compile:
        -rm -f *.tab.c
 
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Comm_dsplink.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Comm_posix.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Processor_dsplink.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Processor_posix.Plo@am__quote@
 
 .c.o:
@@ -295,6 +323,20 @@ distclean-compile:
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(LTCOMPILE) -c -o $@ $<
 
+Comm_dsplink.lo: $(top_srcdir)/packages/ti/sdo/ce/ipc/dsplink/Comm_dsplink.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT Comm_dsplink.lo -MD -MP -MF "$(DEPDIR)/Comm_dsplink.Tpo" -c -o Comm_dsplink.lo `test -f '$(top_srcdir)/packages/ti/sdo/ce/ipc/dsplink/Comm_dsplink.c' || echo '$(srcdir)/'`$(top_srcdir)/packages/ti/sdo/ce/ipc/dsplink/Comm_dsplink.c; \
+@am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/Comm_dsplink.Tpo" "$(DEPDIR)/Comm_dsplink.Plo"; else rm -f "$(DEPDIR)/Comm_dsplink.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$(top_srcdir)/packages/ti/sdo/ce/ipc/dsplink/Comm_dsplink.c' object='Comm_dsplink.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o Comm_dsplink.lo `test -f '$(top_srcdir)/packages/ti/sdo/ce/ipc/dsplink/Comm_dsplink.c' || echo '$(srcdir)/'`$(top_srcdir)/packages/ti/sdo/ce/ipc/dsplink/Comm_dsplink.c
+
+Processor_dsplink.lo: $(top_srcdir)/packages/ti/sdo/ce/ipc/dsplink/Processor_dsplink.c
+@am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT Processor_dsplink.lo -MD -MP -MF "$(DEPDIR)/Processor_dsplink.Tpo" -c -o Processor_dsplink.lo `test -f '$(top_srcdir)/packages/ti/sdo/ce/ipc/dsplink/Processor_dsplink.c' || echo '$(srcdir)/'`$(top_srcdir)/packages/ti/sdo/ce/ipc/dsplink/Processor_dsplink.c; \
+@am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/Processor_dsplink.Tpo" "$(DEPDIR)/Processor_dsplink.Plo"; else rm -f "$(DEPDIR)/Processor_dsplink.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$(top_srcdir)/packages/ti/sdo/ce/ipc/dsplink/Processor_dsplink.c' object='Processor_dsplink.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o Processor_dsplink.lo `test -f '$(top_srcdir)/packages/ti/sdo/ce/ipc/dsplink/Processor_dsplink.c' || echo '$(srcdir)/'`$(top_srcdir)/packages/ti/sdo/ce/ipc/dsplink/Processor_dsplink.c
+
 Comm_posix.lo: $(top_srcdir)/packages/ti/sdo/ce/ipc/linux/Comm_posix.c
 @am__fastdepCC_TRUE@   if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT Comm_posix.lo -MD -MP -MF "$(DEPDIR)/Comm_posix.Tpo" -c -o Comm_posix.lo `test -f '$(top_srcdir)/packages/ti/sdo/ce/ipc/linux/Comm_posix.c' || echo '$(srcdir)/'`$(top_srcdir)/packages/ti/sdo/ce/ipc/linux/Comm_posix.c; \
 @am__fastdepCC_TRUE@   then mv -f "$(DEPDIR)/Comm_posix.Tpo" "$(DEPDIR)/Comm_posix.Plo"; else rm -f "$(DEPDIR)/Comm_posix.Tpo"; exit 1; fi
index 01f938714a853cc2e1a24bc813f6b774e1e5472f..629d19579f788c2b9f232cfd7e6edfa170f8844c 100644 (file)
@@ -117,6 +117,9 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+IPC_INSTALL_DIR = @IPC_INSTALL_DIR@
+IPC_INSTALL_DIR_FALSE = @IPC_INSTALL_DIR_FALSE@
+IPC_INSTALL_DIR_TRUE = @IPC_INSTALL_DIR_TRUE@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
index 462b3d95489f388b04bc657d3b07fef523061ec9..7f89655c55f7eac6ea826ced829e234ef70d39f6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Texas Instruments Incorporated
+ * Copyright (c) 2013-2014, Texas Instruments Incorporated
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
 
 #include <ti/sdo/ce/global/CESettings.h>
 
-#include <ti/sdo/linuxutils/cmem/include/cmem.h>
+#include <sys/types.h>
+#include <ti/cmem.h>
 
 #include <ti/sdo/ce/ipc/Comm.h>
 #include <ti/sdo/ce/ipc/Processor.h>
 
-#include <ti/ipc/HeapBufMP.h>
+//#include <ti/ipc/HeapBufMP.h>
 #include <ti/ipc/Ipc.h>
 #include <ti/ipc/MessageQ.h>
 #include <ti/ipc/MultiProc.h>
-#include <ti/ipc/SharedRegion.h>
-#include <ti/syslink/ProcMgr.h>
-#include <ti/syslink/IpcHost.h>    /* For SysLink-specific Ipc_control() */
-#include <ti/syslink/SysLink.h>
-
-#undef Processor_Handle
 
 #include <stdio.h>  /* for printf() and getchar() */
 #include <string.h>
 #include <stdlib.h>
-#include <sys/types.h>
 #include <sys/stat.h>
 
 #include <errno.h>
@@ -105,8 +99,6 @@ typedef struct Processor_Obj {
     String            memMapName;
     Bool              loaded;
     Processor_Attrs   attrs;
-    ProcMgr_Handle    procMgrH;
-    HeapBufMP_Handle  heapH;
     UInt32            fileId;
     Int32             loadCallBackStatus;
     Int32             startCallBackStatus;
@@ -162,11 +154,6 @@ typedef struct MapStruct {
 
 static CmdObj dcmd = {NULL, NULL, NONE, NONE, NULL, NULL, NULL};
 
-static Bool mapByFile(ProcMgr_Handle handle, String mapFile, UInt16 procId,
-        int mapFlag);
-static int initFromLine(char *line, MapStruct *mapStruct);
-static int isMapLine(char *line, UInt16 procId);
-
 static Void cleanup(Void);
 static Int daemon(Void);
 static Int doCmd(Int cmdId, Processor_Handle proc);
@@ -186,9 +173,6 @@ Registry_Desc ti_sdo_ce_ipc_processor_desc;
 static Int regInit = 0;     /* Registry_addModule() called */
 static Int curInit = 0;     /* module init counter */
 
-static HeapBufMP_Handle defaultHeapH = NULL;
-static Int defaultHeapRefCount = 0;
-
 /*
  *  ======== Processor_create ========
  */
@@ -226,9 +210,6 @@ Processor_Handle Processor_create(String imageName, String memMap,
     proc->memMapName = memMap;
     proc->loaded = FALSE;
     proc->fileId = 0xffffffff;
-    proc->heapH = NULL;
-    proc->procMgrH = NULL;
-    proc->heapId = Processor_INVALID;
     proc->loadCallBackStatus = -1;
     proc->startCallBackStatus = -1;
     proc->useExtLoader = attrs->useExtLoader;
@@ -318,11 +299,11 @@ Void Processor_init(Void)
                     " create semaphores or lock");
         }
 
-        Log_print0(Diags_USER2, "[+2] Processor_init> SysLink_setup()...");
+        Log_print0(Diags_USER2, "[+2] Processor_init> Ipc_start()...");
 
-        SysLink_setup();
+        Ipc_start();
         Log_print0(Diags_USER2, "[+2] Processor_init> "
-                "... SysLink_setup() done");
+                "... Ipc_start() done");
 
         if ((dcmd.dproc = Thread_create((Thread_RunFxn)daemon, NULL, NULL))
                 == NULL) {
@@ -531,10 +512,10 @@ static Void cleanup(Void)
         }
 
         Log_print0(Diags_USER2, "[+2] Processor cleanup()> "
-                "SysLink_destroy()...");
-        SysLink_destroy();
+                "Ipc_stop()...");
+        Ipc_stop();
         Log_print0(Diags_USER2, "[+2] Processor cleanup()> "
-                "... SysLink_destroy() complete");
+                "... Ipc_stop() complete");
 
         if (dcmd.cmdPresent != NULL) {
             SemThread_delete(&dcmd.cmdPresent);
@@ -562,20 +543,6 @@ static Bool procCreate(Processor_Handle proc)
 {
     Int status = 0;
     Bool retVal;
-    ProcMgr_AttachParams attachParams;
-    ProcMgr_StartParams  startParams;
-    ProcMgr_State        state;
-    ProcMgr_AddrInfo     CMEMAddrInfo;
-    HeapBufMP_Params heapP;
-    CMEM_BlockAttrs cmemBlockAttrs;
-    Int blockNum;
-    Int nCMEMBlocks;
-    Bool createAndRegisterHeap;
-    Int16 heapId;
-    UInt16 regionId;
-    UInt32 numMsgs;
-    UInt32 msgSize;
-    Char heapName[32];
 
     Log_print1(Diags_ENTRY, "[+E] Processor_create_d> Enter(proc=0x%x)",
             (IArg)proc);
@@ -591,263 +558,6 @@ static Bool procCreate(Processor_Handle proc)
         goto fail;
     }
 
-    /* Open DSP ProcMgr */
-    Log_print2(Diags_USER2, "[+2] Processor_create_d> "
-           "Opening %s ProcMgr for cpuId %d...",
-           (IArg)proc->attrs.cpuId, proc->cpuId);
-    status = ProcMgr_open(&proc->procMgrH, proc->cpuId);
-
-    if (status < 0) {
-        Log_print1(Diags_USER7, "[+7] Processor_create_d> "
-               "ProcMgr_open() failed: %d", (IArg)status);
-        goto fail;
-    }
-
-    /* Attach the DSP */
-    Log_print1(Diags_USER2, "[+2] Processor_create_d> "
-           "Attaching to %s...", (IArg)proc->attrs.cpuId);
-
-    if (proc->useExtLoader == FALSE) {
-        /* We load the slave */
-        ProcMgr_getAttachParams(NULL, &attachParams);
-        status = ProcMgr_attach(proc->procMgrH, &attachParams);
-        if (status < 0) {
-            Log_print1(Diags_USER7, "[+7] Processor_create_d> "
-                    "ProcMgr_attach() failed: %d", (IArg)status);
-            goto fail;
-        }
-
-        /* Map slave memory */
-        if (!mapByFile(proc->procMgrH, proc->memMapName, proc->cpuId, TRUE)) {
-            Log_print0(Diags_USER6, "Processor_create_d> mapByFile() failed!");
-        }
-
-        /* Load the executable on the DSP */
-        Log_print3(Diags_USER2, "[+2] Processor_create_d> "
-                "Loading %s on %s (%d args)...",
-                (IArg)(proc->imageName), (IArg)(proc->attrs.cpuId),
-                (IArg)(proc->attrs.argc));
-
-        status = ProcMgr_load(proc->procMgrH, proc->imageName,
-                proc->attrs.argc, proc->attrs.argv, NULL, &proc->fileId);
-        if (status < 0) {
-            Log_print1(Diags_USER7, "[+7] Processor_create_d> "
-                    "ProcMgr_load() failed: %d", status);
-            goto fail;
-        }
-
-        /* temporary: to be done by SysLink in the future */
-        Log_print0(Diags_USER1, "[+2] Processor_create_d> "
-                "calling Ipc_control(LOADCALLBACK)...");
-        status = Ipc_control(proc->cpuId, Ipc_CONTROLCMD_LOADCALLBACK, NULL);
-        Log_print1(Diags_USER1, "[+2] Processor_create_d> "
-                "Ipc_control(LOADCALLBACK) status: %d", (IArg)status);
-
-        /* Start execution on DSP */
-        Log_print1(Diags_USER2, "[+2] Processor_create_d> Starting %s ...",
-                (IArg)proc->attrs.cpuId);
-
-        ProcMgr_getStartParams(proc->procMgrH, &startParams);
-        status = ProcMgr_start(proc->procMgrH, &startParams);
-        if (status < 0) {
-            Log_print1(Diags_USER7, "Processor_create_d> "
-                    "ProcMgr_start() failed: %d", status);
-            goto fail;
-        }
-    } // if (proc->useExtLoader == FALSE)
-    else {
-        /* Check the state of the processor to make sure it's really running */
-        state = ProcMgr_getState(proc->procMgrH);
-        if (state != ProcMgr_State_Running) {
-            Log_print1(Diags_USER7, "Processor_create_d> Invalid processor "
-                    "state [%d].", state);
-            goto fail;
-        }
-
-        Log_print0(Diags_USER1, "[+2] Processor_create_d> "
-                "calling Ipc_control(LOADCALLBACK)...");
-        status = Ipc_control(proc->cpuId, Ipc_CONTROLCMD_LOADCALLBACK, NULL);
-        proc->loadCallBackStatus = status;
-        Log_print1(Diags_USER1, "[+2] Processor_create_d> "
-                "Ipc_control(LOADCALLBACK) status: %d", (IArg)status);
-
-        if (status < 0) {
-            Log_print1(Diags_USER7, "Processor_create_d> "
-                    "Ipc_control(LOADCALLBACK) failed: %d", status);
-            goto fail;
-        }
-    }
-
-    status = Ipc_control(proc->cpuId, Ipc_CONTROLCMD_STARTCALLBACK, NULL);
-    proc->startCallBackStatus = status;
-    Log_print1(Diags_USER1, "[+2] Processor_create_d> "
-            "Ipc_control(STARTCALLBACK) status: %d", (IArg)status);
-    if (status < 0) {
-        Log_print1(Diags_USER7, "Processor_create_d> "
-                "Ipc_control(STARTCALLBACK) failed: %d", status);
-        goto fail;
-    }
-
-
-    /* get user-specified heapId */
-    heapId = perCoreHeapId(proc->cpuId);
-    createAndRegisterHeap = FALSE;
-
-    if (heapId == Processor_INVALID) {
-        /* runtime validation of user configuration */
-        if (perCoreUserCreatedHeapFlag(proc->cpuId) == TRUE ||
-                perCoreNumMsgs(proc->cpuId) != Processor_INVALID ||
-                perCoreMsgSize(proc->cpuId) != Processor_INVALID ||
-                perCoreSharedRegionId(proc->cpuId) != Processor_INVALID) {
-
-            Log_print1(Diags_USER7, "[+7] Processor_create_d> "
-                    "Invalid heap configuration for core %d: "
-                    "attempting to set other Processor_CommDesc "
-                    "elements while Processor_CommDesc.heapId is "
-                    "undefined",
-                    proc->cpuId);
-
-            goto fail;
-        }
-
-        /* will return default heapId since user didn't specify */
-        heapId = Processor_getHeapId(proc->cpuId);
-
-        if (defaultHeapRefCount++ == 0) {
-            createAndRegisterHeap = TRUE;
-
-            /* tell code below to record heapH in defaultHeapH */
-            defaultHeapH = (HeapBufMP_Handle)-1;
-        }
-    }
-    else {
-        if (perCoreUserCreatedHeapFlag(proc->cpuId) == FALSE) {
-            createAndRegisterHeap = TRUE;
-        }
-    }
-
-    if (createAndRegisterHeap) {
-        /* create a heap for message queue usage */
-
-        /* get either user-config'ed or module default */
-        numMsgs = Processor_getNumMsgs(proc->cpuId);
-        msgSize = Processor_getMsgSize(proc->cpuId);
-        regionId = Processor_getSharedRegionId(proc->cpuId);
-
-        HeapBufMP_Params_init(&heapP);
-        heapP.numBlocks = numMsgs;
-        heapP.blockSize = msgSize;
-        heapP.sharedAddr = NULL;
-        heapP.regionId = regionId;
-        if (defaultHeapH == (HeapBufMP_Handle)-1) {
-            sprintf(heapName, "CE-default");
-        }
-        else {
-            sprintf(heapName, "CE<->Svr%d", proc->cpuId);
-        }
-        heapP.name = heapName;
-
-        Log_print2(Diags_USER1, "[+2] Processor_create_d> "
-                "calling HeapBufMP_create(): nblocks %d, blocksize 0x%x",
-                heapP.numBlocks, heapP.blockSize);
-
-        proc->heapH = HeapBufMP_create(&heapP);
-
-        if (proc->heapH == NULL) {
-            Log_print0(Diags_USER7, "[+7] Processor_create_d> "
-                    "HeapBufMP_create failed");
-            goto fail;
-        }
-
-        if (defaultHeapH == (HeapBufMP_Handle)-1) {
-            /* we've just created the module default heap singleton */
-            defaultHeapH = proc->heapH;
-        }
-
-        /* register this heap with MessageQ */
-        Log_print2(Diags_USER1, "[+2] Processor_create_d> "
-                "MessageQ_registerHeap(heapH: 0x%x, heapId: %d)",
-                (IArg)(proc->heapH), (IArg)heapId);
-
-        if (MessageQ_registerHeap((Ptr)(proc->heapH), heapId) !=
-                    MessageQ_S_SUCCESS) {
-        Log_print1(Diags_USER7, "[+7] Processor_create_d> "
-                "MessageQ_registerHeap() failed for heapId %d", heapId);
-
-        goto fail;
-        }
-    }
-    else {
-        /*
-         *  createAndRegisterHeap == FASLE
-         *  If using the default heap, need to set proc->heapH for use by
-         *  procDelete().
-         */
-        if (heapId == Processor_defaultHeapId) {
-            proc->heapH = defaultHeapH;
-        }
-    }
-
-    proc->heapId = heapId;
-
-    blockNum = 0;
-    nCMEMBlocks = 0;
-    status = CMEM_getNumBlocks(&nCMEMBlocks);
-    if (status != 0) {
-        Log_print1(Diags_USER2, "[+2] Processor_create_d> "
-                "CMEM_getNumBlocks() failed, not registering: %d",
-                status);
-    }
-
-    while (blockNum < nCMEMBlocks) {
-        status = CMEM_getBlockAttrs(blockNum, &cmemBlockAttrs);
-        if (status != 0) {
-            Log_print2(Diags_USER7, "[+7] Processor_create_d> "
-                    "CMEM_getBlockAttrs(%d) failed: %d",
-                    blockNum, status);
-
-            goto fail;
-        }
-
-        CMEMAddrInfo.addr[ProcMgr_AddrType_MasterPhys] =
-                cmemBlockAttrs.phys_base;
-        CMEMAddrInfo.addr[ProcMgr_AddrType_SlaveVirt] =
-                cmemBlockAttrs.phys_base;
-        CMEMAddrInfo.size = cmemBlockAttrs.size;
-        CMEMAddrInfo.isCached = FALSE;
-
-        Log_print3(Diags_USER1, "[+1] Processor_create_d> CMEM block "
-                "#%d found, doing ProcMgr_map(0x%x, 0x%x)...", blockNum,
-                (IArg)cmemBlockAttrs.phys_base,
-                (IArg)cmemBlockAttrs.size);
-
-        status = ProcMgr_map(proc->procMgrH, ProcMgr_SLAVEVIRT, &CMEMAddrInfo,
-                ProcMgr_AddrType_MasterPhys);
-        if (status < 0) {
-            Log_print1(Diags_USER7, "[+7] Processor_create_d> "
-                    "ProcMgr_map() failed: %d", status);
-            goto fail;
-        }
-
-        if (CMEMAddrInfo.addr[ProcMgr_AddrType_SlaveVirt] !=
-                cmemBlockAttrs.phys_base) {
-            Log_print2(Diags_USER1, "[+2] Processor_create_d> "
-                    "mapped CMEM slave virtual address 0x%x doesn't "
-                    "match expected value 0x%x",
-                    CMEMAddrInfo.addr[ProcMgr_AddrType_SlaveVirt],
-                    cmemBlockAttrs.phys_base);
-        }
-
-        blockNum++;
-    }
-
-    if (Global_getenv("CE_DSPDEBUG") != NULL) {
-        printf("Codec Engine system message (b/c CE_DSPDEBUG=1) : %s image "
-               "loaded and started, press Enter to continue: ",
-               proc->attrs.cpuId);
-        getchar();
-    }
-
     retVal = TRUE;
     goto procCreate_return;
 
@@ -877,175 +587,9 @@ procCreate_return:
  */
 static Void procDelete(Processor_Handle proc)
 {
-    Int status = 0;
-    Int16 heapId;
-    Bool unregisterAndDeleteHeap;
-    ProcMgr_AddrInfo CMEMAddrInfo;
-    CMEM_BlockAttrs cmemBlockAttrs;
-    Int blockNum;
-    Int nCMEMBlocks;
-
     Log_print1(Diags_ENTRY, "[+E] Processor_delete_d> Enter (proc=0x%x)",
             (IArg)proc);
 
-    if (proc == NULL) {
-        goto procDelete_return;
-    }
-
-    /* close tranport and stop DSP, detach, destroy */
-    /* unregister this heap with MessageQ */
-
-    if (proc->startCallBackStatus >= 0) {
-        blockNum = 0;
-        nCMEMBlocks = 0;
-        status = CMEM_getNumBlocks(&nCMEMBlocks);
-        if (status != 0) {
-            Log_print1(Diags_USER2, "[+2] Processor_delete_d> "
-                    "CMEM_getNumBlocks() failed: %d",
-                    status);
-        }
-
-        while (blockNum < nCMEMBlocks) {
-            status = CMEM_getBlockAttrs(blockNum, &cmemBlockAttrs);
-            if (status != 0) {
-                Log_print2(Diags_USER7, "[+7] Processor_delete_d> "
-                        "CMEM_getBlockAttrs(%d) failed: %d",
-                        blockNum, status);
-
-                goto cmemDone;
-            }
-
-            CMEMAddrInfo.addr[ProcMgr_AddrType_MasterPhys] =
-                cmemBlockAttrs.phys_base;
-            CMEMAddrInfo.addr[ProcMgr_AddrType_SlaveVirt] =
-                cmemBlockAttrs.phys_base;
-            CMEMAddrInfo.size = cmemBlockAttrs.size;
-            CMEMAddrInfo.isCached = FALSE;
-
-            Log_print3(Diags_USER1, "[+1] Processor_delete_d> CMEM block "
-                    "#%d found, doing ProcMgr_unmap(0x%x, 0x%x)...", blockNum,
-                    (IArg)cmemBlockAttrs.phys_base,
-                    (IArg)cmemBlockAttrs.size);
-
-            status = ProcMgr_unmap(proc->procMgrH, ProcMgr_SLAVEVIRT,
-                    &CMEMAddrInfo,
-                    ProcMgr_AddrType_MasterPhys);
-            if (status < 0) {
-                Log_print1(Diags_USER7, "[+7] Processor_delete_d> "
-                        "ProcMgr_unmap() failed: %d", status);
-                goto cmemDone;
-            }
-
-            blockNum++;
-        }
-
-cmemDone:
-        Log_print2(Diags_USER7, "[+2] Processor_delete_d> "
-                "defaultHeapH: 0x%x, proc->heapH: 0x%x", (IArg)defaultHeapH,
-                (IArg)proc->heapH);
-        if (proc->heapH != NULL) {
-            unregisterAndDeleteHeap = FALSE;
-            if (proc->heapH == defaultHeapH) {
-                Log_print1(Diags_USER1, "[+1] Processor_delete_d> "
-                        "defaultHeapRefCount = %d",
-                        (IArg)defaultHeapRefCount);
-                if (--defaultHeapRefCount == 0) {
-                    /* this is the last one using the default heap */
-                    unregisterAndDeleteHeap = TRUE;
-                }
-            }
-            else {
-                unregisterAndDeleteHeap = TRUE;
-            }
-
-            if (unregisterAndDeleteHeap) {
-                heapId = proc->heapId;
-                Log_print1(Diags_USER1, "[+1] Processor_delete_d> "
-                        "unregisterAndDeleteHeap, heapId = %d", (IArg)heapId);
-                if (heapId != Processor_INVALID) {
-                    Log_print1(Diags_USER1, "[+1] Processor_delete_d> "
-                            "MessageQ_unregisterHeap(heapId: %d)",
-                            (IArg)heapId);
-
-                    if (MessageQ_unregisterHeap(heapId) !=MessageQ_S_SUCCESS) {
-                        Log_print1(Diags_USER7, "[+7] Processor_delete_d> "
-                                "MessageQ_unregisterHeap(heapId: %d) failed",
-                                heapId);
-                    }
-                }
-
-                /* delete heap used by message queue */
-                Log_print1(Diags_USER1, "[+1] Processor_delete_d> "
-                        "calling HeapBufMP_delete(heapH: 0x%x)",
-                        (IArg)(proc->heapH));
-
-                HeapBufMP_delete(&proc->heapH);
-            }
-        }
-
-        /* Stop execution on DSP */
-        Log_print0(Diags_USER1, "[+2] Processor_delete_d> "
-                "calling Ipc_control(STOPCALLBACK)...");
-        status = Ipc_control(proc->cpuId, Ipc_CONTROLCMD_STOPCALLBACK, NULL);
-
-        Log_print2(Diags_USER2, "[+2] Processor_delete_d> "
-                "Ipc_control(STOPCALLBACK) status: 0x%x [%d]", (IArg)status,
-                (IArg)status);
-    }
-    else {
-        Log_print2(Diags_USER2, "[+2] Processor_delete_d> Not calling "
-                "Ipc_control(STOPCALLBACK) because startCallBackStatus =  "
-                "0x%x [%d]", (IArg)proc->startCallBackStatus,
-                (IArg)proc->startCallBackStatus);
-    }
-
-    if (proc->useExtLoader == FALSE) {
-        /* We unload the slave processor */
-        Log_print0(Diags_USER2, "[+2] Processor_delete_d> Stopping DSP...");
-
-        status = ProcMgr_stop(proc->procMgrH);
-        if (status < 0) {
-            Log_print1(Diags_USER6, "[+6] Processor_delete_d> "
-                    "Stopping DSP FAILED, status=0x%x", (IArg)status);
-        }
-
-        if (proc->fileId != 0xffffffff) {
-            Log_print0(Diags_USER2, "[+2] Processor_delete_d> "
-                    "Unloading DSP...");
-            status = ProcMgr_unload(proc->procMgrH, proc->fileId);
-            if (status < 0) {
-                Log_print1(Diags_USER6, "[+6] Processor_delete_d> "
-                        "Unloading DSP FAILED, status=0x%x", (IArg)status);
-            }
-        }
-
-        /* Unmap slave memory */
-        if (!mapByFile(proc->procMgrH, proc->memMapName, proc->cpuId, FALSE)) {
-            Log_print0(Diags_USER6, "Processor_delete_d> mapByFile() failed!");
-        }
-
-        /* Detach from the processor */
-        Log_print0(Diags_USER1, "[+1] Processor_delete_d> "
-                "calling ProcMgr_detach()...");
-
-        status = ProcMgr_detach(proc->procMgrH);
-        if (status < 0) {
-            Log_print1(Diags_USER6, "[+6] Processor_delete_d> "
-                    "Detaching from DSP FAILED, status=0x%x", (IArg)status);
-        }
-    } // proc->useExtLoader == FALSE
-
-    Log_print0(Diags_USER1, "[+1] Processor_delete_d> "
-            "calling ProcMgr_close()...");
-
-    status = ProcMgr_close(&proc->procMgrH);
-    if (status < 0) {
-        Log_print1(Diags_USER6, "[+6] Processor_delete_d> "
-                "Closing ProcMgr FAILED, status=0x%x", (IArg)status);
-    }
-
-procDelete_return:
-
     Log_print0(Diags_EXIT, "[+X] Processor_delete_d> return");
 }
 
@@ -1170,268 +714,3 @@ static Int daemon(Void)
         }
     }
 }
-
-/*
- *  Code below is temporary, until ProcMgr has an API to map by file.
- */
-
-#define MUV ProcMgr_AddrType_MasterUsrVirt
-#define MKV ProcMgr_AddrType_MasterKnlVirt
-#define MP ProcMgr_AddrType_MasterPhys
-#define MAXLINE 100
-
-/*
- *  ======== mapByFile ========
- */
-Bool mapByFile(ProcMgr_Handle handle, String mapFile, UInt16 procId,
-        int mapFlag)
-{
-    FILE *f;
-    char line[MAXLINE];
-    MapStruct mapStruct;
-    ProcMgr_AddrInfo addrInfo;
-    Int status = 0;
-    ProcMgr_ProcInfo *procInfo;
-    Int procInfoSize;
-    UInt32 maxMemoryRegions;
-    int j;
-
-    if (mapFile == NULL) {
-        return (TRUE);
-    }
-
-    f = fopen(mapFile, "r");
-
-    if (!f) {
-        Log_print1(Diags_USER5, "[+5] mapByFile: Unable to open %s "
-                "skipping....", (IArg)mapFile);
-
-        /* regardless, we return 'success'.  Malformed lines are skipped */
-        return (TRUE);
-    }
-
-    while (fgets(line, MAXLINE, f)) {
-        if (!isMapLine(line, procId)) {
-            Log_print1(Diags_USER5, "malformed line, skipping:\n   %s",
-                    (IArg)line);
-            continue;
-        }
-
-        /* Parse line, if not applicable, continue */
-        if (!initFromLine(line, &mapStruct)) {
-            continue;
-        }
-
-        /* applicable line */
-        if (mapFlag) {
-            /* map! */
-            Log_print6(Diags_USER2,
-                    "[+2] mapByFile: Mapping SV: 0x%x, SP: 0x%x, "
-                    "MP: 0x%x,\n  size 0x%x, mask 0x%x, cached %d",
-                    (IArg)mapStruct.slaveVirt, (IArg)mapStruct.slavePhys,
-                    (IArg)mapStruct.masterPhys, (IArg)mapStruct.size,
-                    (IArg)mapStruct.mapMask, (IArg)mapStruct.isCached);
-
-            addrInfo.addr[MKV] = -1u;
-            addrInfo.addr[ProcMgr_AddrType_MasterUsrVirt] = -1u;
-            addrInfo.addr[MP] = mapStruct.masterPhys;
-            addrInfo.addr[ProcMgr_AddrType_SlaveVirt] = mapStruct.slaveVirt;
-            addrInfo.addr[ProcMgr_AddrType_SlavePhys] = -1u;
-            addrInfo.size = mapStruct.size;
-            addrInfo.isCached = mapStruct.isCached;
-
-            status = ProcMgr_map(handle, mapStruct.mapMask, &addrInfo, MP);
-            if (status < 0) {
-                Log_print1(Diags_USER6, "[+6] mapByFile: ProcMgr_map "
-                        "failed [0x%x]", (IArg)status);
-            }
-            else {
-                Log_print0(Diags_USER2, "[+2] mapByFile: mapping succeeded");
-            }
-        }
-        else {
-            /* unmap! */
-            Log_print6(Diags_USER2, "[+2]Unmapping SV: 0x%x, SP: 0x%x, "
-                    "MP: 0x%x,\n  size 0x%x, mask 0x%x, cached %d",
-                    (IArg)mapStruct.slaveVirt, (IArg)mapStruct.slavePhys,
-                    (IArg)mapStruct.masterPhys, (IArg)mapStruct.size,
-                    (IArg)mapStruct.mapMask, (IArg)mapStruct.isCached);
-
-            addrInfo.addr[MKV] = -1u;
-
-            /* if unmapping MasterKnlVirt, need to look it up */
-            if (mapStruct.mapMask & ProcMgr_MASTERKNLVIRT) {
-
-                maxMemoryRegions = ProcMgr_getMaxMemoryRegions(handle);
-                procInfoSize = sizeof(ProcMgr_ProcInfo) +
-                           (maxMemoryRegions * sizeof(ProcMgr_MappedMemEntry));
-                procInfo = Memory_alloc(procInfoSize, NULL);
-
-                status = ProcMgr_getProcInfo(handle, procInfo);
-                if (status < 0) {
-                    Log_print0(Diags_USER6, "[+6] Unable to find MKV entry");
-                }
-                else {
-                    for (j = 0; j < procInfo->maxMemoryRegions; j++) {
-                        if ((procInfo->memEntries[j].inUse) &&
-                                (procInfo->memEntries[j].info.addr[MP]
-                                        == mapStruct.masterPhys) &&
-                                (procInfo->memEntries[j].info.size ==
-                                        mapStruct.size) &&
-                                (procInfo->memEntries[j].info.isCached
-                                        == mapStruct.isCached)) {
-                            /* found it */
-                            addrInfo.addr[MKV] =
-                                procInfo->memEntries[j].info.addr[MKV];
-                            Log_print1(Diags_USER2,
-                                    "[+2] Found MKV entry (0x%x)",
-                                    (IArg)addrInfo.addr[MKV]);
-                            break;
-                        }
-                    }
-                }
-
-                Memory_free(procInfo, procInfoSize, NULL);
-            }
-
-            addrInfo.addr[ProcMgr_AddrType_MasterUsrVirt] = -1u;
-            addrInfo.addr[MP] = mapStruct.masterPhys;
-            addrInfo.addr[ProcMgr_AddrType_SlaveVirt] =
-                mapStruct.slaveVirt;
-            addrInfo.addr[ProcMgr_AddrType_SlavePhys] = -1u;
-            addrInfo.size = mapStruct.size;
-            addrInfo.isCached = mapStruct.isCached;
-
-            status = ProcMgr_unmap(handle, mapStruct.mapMask, &addrInfo, MP);
-            if (status < 0) {
-                Log_print1(Diags_USER6, "[+6] ProcMgr_unmap failed [0x%x]",
-                        status);
-            }
-            else {
-                Log_print0(Diags_USER2, "[+2] ProcMgr_unmap succeeded");
-            }
-        }
-    }
-
-    fclose(f);
-
-    /* regardless, we return 'success'.  Malformed lines are skipped */
-    return (TRUE);
-}
-
-/*
- *  ======== initFromLine ========
- */
-int initFromLine(char *line, MapStruct *mapStruct)
-{
-    int retval = FALSE;
-    char *p;
-
-    mapStruct->slaveVirt = 0;
-    mapStruct->slavePhys = 0;
-    mapStruct->masterPhys = 0;
-    mapStruct->size = 0;
-    mapStruct->mapMask = 0;
-    mapStruct->isCached = FALSE;
-
-    p = strtok(line, " ,");
-    if (p) {
-        /* procName */
-        p = strtok(NULL, " ,");
-        if (p) {
-            /* slaveVirt, in hex */
-            mapStruct->slaveVirt = strtoul(p, NULL, 16);
-            if (mapStruct->slaveVirt == 0) {
-                /* error, exit */
-                Log_print0(Diags_USER6, "[+6] Error parsing slaveVirt");
-                p = NULL;
-            }
-            else {
-                p = strtok(NULL, " ,");
-            }
-        }
-        if (p) {
-            /* slavePhys, in hex */
-            mapStruct->slavePhys = strtoul(p, NULL, 16);
-            if (mapStruct->slavePhys == 0) {
-                /* error, exit */
-                Log_print0(Diags_USER6, "[+6] Error parsing slavePhys");
-                p = NULL;
-            }
-            else {
-                p = strtok(NULL, " ,");
-            }
-        }
-        if (p) {
-            /* masterPhys, in hex */
-            mapStruct->masterPhys = strtoul(p, NULL, 16);
-            if (mapStruct->masterPhys == 0) {
-                /* error, exit */
-                Log_print0(Diags_USER6, "[+6] Error parsing masterPhys");
-                p = NULL;
-            }
-            else {
-                p = strtok(NULL, " ,");
-            }
-        }
-        if (p) {
-            /* size, in hex */
-            mapStruct->size = strtoul(p, NULL, 16);
-            if (mapStruct->size == 0) {
-                /* error, exit */
-                Log_print0(Diags_USER6, "[+6] Error parsing size");
-                p = NULL;
-            }
-            else {
-                p = strtok(NULL, " ,");
-            }
-        }
-        if (p) {
-            /* Mask */
-            mapStruct->mapMask = strtoul(p, NULL, 16);
-            if (mapStruct->mapMask == 0) {
-                /* error, exit */
-                Log_print0(Diags_USER6, "[+6] Error parsing mask");
-                p = NULL;
-            }
-            else {
-                p = strtok(NULL, " ,");
-            }
-        }
-        if (p) {
-            /* cached */
-            errno = 0;
-            mapStruct->isCached = strtoul(p, NULL, 16);
-            if ((errno != 0) ||
-                    ((mapStruct->isCached != 0) && mapStruct->isCached != 1)) {
-                /* error, exit */
-                Log_print0(Diags_USER6, "[+6] Error parsing cached");
-                p = NULL;
-            }
-            else {
-                /* that's it! */
-                retval = TRUE;
-            }
-        }
-    }
-
-    return (retval);
-}
-
-/*
- *  ======== isMapLine ========
- */
-int isMapLine(char *line, UInt16 procId)
-{
-    int  retval = FALSE;
-    char procName[32];
-
-    if (line[0] != '#') {
-        strncpy(procName, MultiProc_getName(procId), 32);
-        if (strncmp(procName, line, strlen(procName)) == 0) {
-            retval = TRUE;
-        }
-    }
-
-    return (retval);
-}
index 6257522f6a4dd028f65725a84acea9f3766e2b79..ae2fd999265a8b601352a00de47f5a23fe237e45 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, Texas Instruments Incorporated
+ * Copyright (c) 2013-2014, Texas Instruments Incorporated
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -884,6 +884,7 @@ static RMS_Status getCpuStat(RMS_CmdSetGetCpuStatOut *out)
     return (RMS_EOK);
 }
 
+#if 0
 /*
  *  ======== getTrace ========
  */
@@ -902,6 +903,7 @@ static RMS_Status getTrace(RMS_CmdSetGetTraceOut *out, Int size)
 
     return (RMS_EOK);
 }
+#endif
 
 /*
  *  ======== setTraceMask ========
@@ -1010,6 +1012,7 @@ static RMS_Status processRmsCmd(RMS_CmdBuf *cmdBuf, Int cmdBufSize)
         case RMS_GETCPUSTAT:
             return getCpuStat(&cmdBuf->data.getCpuStatOut);
 
+#if 0
         case RMS_GETTRACE: {
             Int traceSize = cmdBufSize - (
                 (Char *)cmdBuf->data.getTraceOut.buf - (Char *)cmdBuf
@@ -1019,6 +1022,7 @@ static RMS_Status processRmsCmd(RMS_CmdBuf *cmdBuf, Int cmdBufSize)
                     (IArg)(cmdBuf->data.getTraceIn.curTime), (IArg)traceSize);
             return getTrace(&cmdBuf->data.getTraceOut, traceSize);
         }
+#endif
 
         case RMS_SETTRACEMASK:
             return setTraceMask(&cmdBuf->data.setTraceMaskIn);
diff --git a/packages/ti/sdo/ce/utils/rtcfg/bios/rtcfg_bios_ceinit.c b/packages/ti/sdo/ce/utils/rtcfg/bios/rtcfg_bios_ceinit.c
new file mode 100644 (file)
index 0000000..0b7a989
--- /dev/null
@@ -0,0 +1,161 @@
+/*
+ * Copyright (c) 2013-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.
+ *
+ */
+/*
+ *  ======== rtcfg_bios_ceinit.c ========
+ *  Codec Engine configuration for non-RTSC config examples. Compile this file
+ *  as is, or copy this file to your source directory and modify as needed.
+ */
+
+#include <xdc/std.h>
+
+#include <ti/sysbios/heaps/HeapMem.h>
+
+/*
+ *  Modify this section if you are planning to use Server APIs for getting
+ *  server memory statistics, or redefining server heaps. Otherwise this
+ *  file can be left as is.
+ */
+
+/*
+ *  If not using any Server APIs from the host to obtain the servers
+ *  memory statistics or to redefine server heaps, then set USEDEFAULT
+ *  to TRUE.
+ *  Otherwise, set USEDEFAULT to FALSE and configure the variables below.
+ */
+#define USEDEFAULT TRUE
+
+
+#if USEDEFAULT
+
+/*
+ *  ======== Memory_numHeaps ========
+ *  The number of ti.sysbios.heaps.HeapMem objects configured in the server.
+ */
+/* Default ti_sdo_ce_osal_Memory_numHeaps value */
+Int ti_sdo_ce_osal_Memory_numHeaps = 0;
+
+/*
+ *  ======== Memory_heapNames ========
+ *  Array containing names for the heaps configured on the target.
+ */
+
+/* Default ti_sdo_ce_osal_Memory_heapNames array */
+String *ti_sdo_ce_osal_Memory_heapNames = NULL;
+
+/*
+ *  ======== Memory_heapList ========
+ *  Array of handles of ti.sysbios.heaps.HeapMem objects configured in the
+ *  server. This array must be initialized in the Memory_cfgInit() function
+ *  below.
+ */
+/* Default ti_sdo_ce_osal_Memory_heapList array */
+ti_sysbios_heaps_HeapMem_Handle *ti_sdo_ce_osal_Memory_heapList = NULL;
+
+/*
+ *  ======== Memory_cfgInit ========
+ *  Set up table of HeapMem handles that correspond to array of heap names.
+ *  This is only used for getting memory heap statistics.
+ */
+Void ti_sdo_ce_osal_Memory_cfgInit()
+{
+    /* No initialization needed if not using Server APIs */
+}
+
+#else
+
+/*
+ *  If using Server APIs for memory stats or redefining heaps, set this to
+ *  the number of ti.sysbios.heaps.HeapMem objects configured in the server.
+ */
+#define NUMHEAPS 3
+
+/*
+ *  ======== Memory_numHeaps ========
+ *  The number of ti.sysbios.heaps.HeapMem objects configured in the server.
+ */
+/* Example ti_sdo_ce_osal_Memory_numHeaps value*/
+Int ti_sdo_ce_osal_Memory_numHeaps = NUMHEAPS;
+
+/*
+ *  ======== Memory_heapNames ========
+ *  Array containing names for the heaps configured on the target.
+ */
+/*
+ *  Example ti_sdo_ce_osal_Memory_heapNames[] array.
+ *  If using Server APIs for memory stats or redefining heaps, set these array
+ *  entries to names with which you would like to identify each of the
+ *  ti.sysbios.heaps.HeapMem objects.
+ */
+String ti_sdo_ce_osal_Memory_heapNames[NUMHEAPS] = {
+    "EXT_HEAP",
+    "INT_HEAP",
+    "EXTALG_HEAP",
+};
+
+/*
+ *  ======== Memory_heapList ========
+ *  Array of handles of ti.sysbios.heaps.HeapMem objects configured in the
+ *  server. This array must be initialized in the Memory_cfgInit() function
+ *  below.
+ */
+/* Example ti_sdo_ce_osal_Memory_heapList[] array */
+ti_sysbios_heaps_HeapMem_Handle ti_sdo_ce_osal_Memory_heapList[NUMHEAPS];
+
+/*
+ *  Example declarations of externally defined ti.sysbios.heaps.HeapMem
+ *  handles.
+ *  If using Server APIs for memory stats or redefining heaps, add the
+ *  extern declarations of each of the ti.sysbios.heaps.HeapMem handles.
+ */
+extern ti_sysbios_heaps_HeapMem_Handle EXT_HEAP;
+extern ti_sysbios_heaps_HeapMem_Handle INT_HEAP;
+extern ti_sysbios_heaps_HeapMem_Handle EXTALG_HEAP;
+
+/*
+ *  ======== Memory_cfgInit ========
+ *  Set up table of HeapMem handles that correspond to array of heap names.
+ *  This is only used for getting memory heap statistics.
+ */
+Void ti_sdo_ce_osal_Memory_cfgInit()
+{
+    /* Example initialization of Memory_heapList array */
+    /*
+     *  Make sure the handles are ordered correctly with respect to
+     *  the names in ti_sdo_ce_osal_Memory_heapNames[].
+     */
+    ti_sdo_ce_osal_Memory_heapList[0] = EXT_HEAP;
+    ti_sdo_ce_osal_Memory_heapList[1] = INT_HEAP;
+    ti_sdo_ce_osal_Memory_heapList[2] = EXTALG_HEAP;
+}
+
+#endif
diff --git a/packages/ti/sdo/ce/utils/rtcfg/bios/rtcfg_bios_fcinit.c b/packages/ti/sdo/ce/utils/rtcfg/bios/rtcfg_bios_fcinit.c
new file mode 100644 (file)
index 0000000..a2d5b70
--- /dev/null
@@ -0,0 +1,128 @@
+/*
+ * Copyright (c) 2013-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.
+ *
+ */
+/*
+ *  ======== rtcfg_bios_fcinit.c ========
+ *  FC configuration for non-RTSC config examples. Compile this file as is,
+ *  with apps that don't use the individual FC components here.. For apps whose
+ *  local codecs use RMAN etc, copy this file and modify as needed.
+ */
+
+/*
+ *  Set USE_RMAN to 1 if the app uses RMAN, otherwise set to 0. If USE_RMAN
+ *  is set to 1, the user may need to modify RMAN_PARAMS structure
+ */
+#define USE_RMAN 0
+
+#include <xdc/std.h>
+
+#include <xdc/runtime/IHeap.h>
+
+#if USE_RMAN
+#include <ti/sdo/fc/rman/rman.h>
+#endif
+
+#include <ti/sdo/fc/dskt2/dskt2.h>
+
+extern xdc_runtime_IHeap_Handle INT_HEAP;
+extern xdc_runtime_IHeap_Handle EXT_HEAP;
+
+void Rtcfg_fcInit()
+{
+
+    /* Configure DSKT2 */
+    DSKT2_daram0Heap = (xdc_runtime_IHeap_Handle)INT_HEAP;
+    DSKT2_daram1Heap = (xdc_runtime_IHeap_Handle)INT_HEAP;
+    DSKT2_daram2Heap = (xdc_runtime_IHeap_Handle)INT_HEAP;
+    DSKT2_saram0Heap = (xdc_runtime_IHeap_Handle)INT_HEAP;
+    DSKT2_saram1Heap = (xdc_runtime_IHeap_Handle)INT_HEAP;
+    DSKT2_saram2Heap = (xdc_runtime_IHeap_Handle)INT_HEAP;
+    DSKT2_iprogHeap = (xdc_runtime_IHeap_Handle)INT_HEAP;
+    DSKT2_eprogHeap = (xdc_runtime_IHeap_Handle)EXT_HEAP;
+    DSKT2_esdataHeap = (xdc_runtime_IHeap_Handle)EXT_HEAP;
+    _DSKT2_heap = (xdc_runtime_IHeap_Handle)EXT_HEAP;
+
+
+#if USE_RMAN
+    /* Configure RMAN */
+
+#endif
+
+/* Add other FC configuration as necessary, this is only an example */
+}
+
+
+
+#if USE_RMAN
+#else
+
+/* PLEASE DO NOT MODIFY CODE BELOW */
+
+/* If not using RMAN, the RMAN functions need to be stubbed out. */
+
+#include <ti/xdais/ires.h>   /* for IRES types */
+
+IRES_Status RMAN_activateAllResources(IALG_Handle algHandle,
+        IRES_Fxns *resFxns, Int scratchId)
+{
+    return (IRES_OK);
+}
+
+IRES_Status RMAN_assignResources(IALG_Handle algHandle, IRES_Fxns *resFxns,
+        Int scratchGroupId)
+{
+    return (IRES_OK);
+}
+
+IRES_Status RMAN_deactivateAllResources(IALG_Handle algHandle,
+        IRES_Fxns * resFxns, Int scratchId)
+{
+    return (IRES_OK);
+}
+
+IRES_Status RMAN_freeResources(IALG_Handle algHandle, IRES_Fxns * resFxns,
+        Int scratchGroupId)
+{
+    return (IRES_OK);
+}
+
+IRES_Status RMAN_init(void)
+{
+    return (IRES_OK);
+}
+
+IRES_Status RMAN_exit(void)
+{
+    return (IRES_OK);
+}
+
+#endif
diff --git a/packages/ti/sdo/ce/utils/rtcfg/bios/svr_config.c b/packages/ti/sdo/ce/utils/rtcfg/bios/svr_config.c
new file mode 100644 (file)
index 0000000..ccb712c
--- /dev/null
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2011-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.
+ *
+ */
+/*
+ *  ======== svr_config.c ========
+ *  Server config for non-RTSC Codec Engine example.
+ */
+
+#include <xdc/std.h>
+
+
+/*
+ *  ======== Server Configuration ========
+ */
+#include <ti/sdo/ce/node/node.h>
+#include <ti/sdo/ce/rms.h>
+
+Int ti_sdo_ce_Server_skelCachingPolicy = 0;
+
+RMS_Config RMS_config = {
+    1,       /* RMS server's priority */
+    4096,    /* RMS server's stack size */
+    0,       /* RMS server's stack memory seg */
+};
+
+
+/* PLEASE DO NOT MODIFY CODE BELOW THIS LINE */
+NODE_Desc RMS_nodeTab[] = {
+    {NULL}  /* NULL terminate RMS_nodeTab[] */
+};
+
+static Engine_Desc engineTab[] = {
+    {"local",    /* Engine name */
+     NULL,       /* algTab */
+     NULL,       /* Remote server name */
+     NULL,       /* Map file name */
+     FALSE,      /* Use external loader? */
+     0,          /* Number of algs in algTab */
+     0           /* Heap id for engine allocs */
+    },
+    {NULL, NULL, NULL, NULL, 0, 0, 0}  /* Null terminate the engine table */
+};
+
+Engine_Config Engine_config = {
+    engineTab, /* Table of all engines */
+    "local"    /* Local RMS engine name */
+};
diff --git a/packages/ti/sdo/ce/utils/rtcfg/bios/svr_debug_e64T.cmd b/packages/ti/sdo/ce/utils/rtcfg/bios/svr_debug_e64T.cmd
new file mode 100644 (file)
index 0000000..e5e57da
--- /dev/null
@@ -0,0 +1,36 @@
+-l"ti/sdo/ce/video2/split/lib/debug/viddec2front.ae64T"
+-l"ti/sdo/ce/video2/split/lib/debug/viddec2back.ae64T"
+-l"ti/sdo/ce/universal/lib/debug/universal.ae64T"
+-l"ti/sdo/ce/vidanalytics/lib/debug/vidanalytics.ae64T"
+-l"ti/sdo/ce/vidtranscode/lib/debug/vidtranscode.ae64T"
+-l"ti/sdo/ce/audio1/lib/debug/auddec1.ae64T"
+-l"ti/sdo/ce/audio1/lib/debug/audenc1.ae64T"
+-l"ti/sdo/ce/speech1/lib/debug/sphdec1.ae64T"
+-l"ti/sdo/ce/speech1/lib/debug/sphenc1.ae64T"
+-l"ti/sdo/ce/image1/lib/debug/imgdec1.ae64T"
+-l"ti/sdo/ce/image1/lib/debug/imgenc1.ae64T"
+-l"ti/sdo/ce/video1/lib/debug/viddec1.ae64T"
+-l"ti/sdo/ce/video1/lib/debug/videnc1.ae64T"
+-l"ti/sdo/ce/video2/lib/debug/viddec2.ae64T"
+-l"ti/sdo/ce/video2/lib/debug/videnc2.ae64T"
+-l"ti/sdo/ce/video3/lib/debug/viddec3.ae64T"
+-l"ti/sdo/ce/audio/lib/debug/audio.ae64T"
+-l"ti/sdo/ce/image/lib/debug/image.ae64T"
+-l"ti/sdo/ce/speech/lib/debug/speech.ae64T"
+-l"ti/sdo/ce/video/lib/debug/video.ae64T"
+
+-l"ti/sdo/ce/lib/debug/ce.ae64T"
+-l"ti/sdo/ce/ipc/bios/lib/debug/ipc_bios.ae64T"
+-l"ti/sdo/ce/alg/lib/debug/Algorithm_BIOS.ae64T"
+-l"ti/sdo/ce/osal/bios/lib/debug/osal.ae64T"
+-l"ti/sdo/ce/osal/lib/debug/osal.ae64T"
+-l"ti/sdo/ce/node/lib/debug/node.ae64T"
+-l"ti/sdo/ce/global/lib/debug/cesettings.ae64T"
+
+/* Framework Components libraries */
+-l"ti/sdo/fc/dskt2/lib/debug/dskt2.ae64T"
+-l"ti/sdo/fc/utils/osalsupport/lib/debug/osal_support.ae64T"
+-l"ti/sdo/fc/global/lib/debug/fcsettings.ae64T"
+
+-l"ti/sdo/ce/utils/syscbuf/lib/debug/syscbuf.ae64T"
+-l"ti/sdo/ce/utils/xdm/lib/debug/XdmUtils.ae64T"
diff --git a/packages/ti/sdo/ce/utils/rtcfg/bios/svr_release_e64T.cmd b/packages/ti/sdo/ce/utils/rtcfg/bios/svr_release_e64T.cmd
new file mode 100644 (file)
index 0000000..4b8da7e
--- /dev/null
@@ -0,0 +1,36 @@
+-l"ti/sdo/ce/video2/split/lib/release/viddec2front.ae64T"
+-l"ti/sdo/ce/video2/split/lib/release/viddec2back.ae64T"
+-l"ti/sdo/ce/universal/lib/release/universal.ae64T"
+-l"ti/sdo/ce/vidanalytics/lib/release/vidanalytics.ae64T"
+-l"ti/sdo/ce/vidtranscode/lib/release/vidtranscode.ae64T"
+-l"ti/sdo/ce/audio1/lib/release/auddec1.ae64T"
+-l"ti/sdo/ce/audio1/lib/release/audenc1.ae64T"
+-l"ti/sdo/ce/speech1/lib/release/sphdec1.ae64T"
+-l"ti/sdo/ce/speech1/lib/release/sphenc1.ae64T"
+-l"ti/sdo/ce/image1/lib/release/imgdec1.ae64T"
+-l"ti/sdo/ce/image1/lib/release/imgenc1.ae64T"
+-l"ti/sdo/ce/video1/lib/release/viddec1.ae64T"
+-l"ti/sdo/ce/video1/lib/release/videnc1.ae64T"
+-l"ti/sdo/ce/video2/lib/release/viddec2.ae64T"
+-l"ti/sdo/ce/video2/lib/release/videnc2.ae64T"
+-l"ti/sdo/ce/video3/lib/release/viddec3.ae64T"
+-l"ti/sdo/ce/audio/lib/release/audio.ae64T"
+-l"ti/sdo/ce/image/lib/release/image.ae64T"
+-l"ti/sdo/ce/speech/lib/release/speech.ae64T"
+-l"ti/sdo/ce/video/lib/release/video.ae64T"
+
+-l"ti/sdo/ce/lib/release/ce.ae64T"
+-l"ti/sdo/ce/ipc/bios/lib/release/ipc_bios.ae64T"
+-l"ti/sdo/ce/alg/lib/release/Algorithm_BIOS.ae64T"
+-l"ti/sdo/ce/osal/bios/lib/release/osal.ae64T"
+-l"ti/sdo/ce/osal/lib/release/osal.ae64T"
+-l"ti/sdo/ce/node/lib/release/node.ae64T"
+-l"ti/sdo/ce/global/lib/release/cesettings.ae64T"
+
+/* Framework Components libraries */
+-l"ti/sdo/fc/dskt2/lib/release/dskt2.ae64T"
+-l"ti/sdo/fc/utils/osalsupport/lib/release/osal_support.ae64T"
+-l"ti/sdo/fc/global/lib/release/fcsettings.ae64T"
+
+-l"ti/sdo/ce/utils/syscbuf/lib/release/syscbuf.ae64T"
+-l"ti/sdo/ce/utils/xdm/lib/release/XdmUtils.ae64T"
diff --git a/packages/ti/sdo/ce/utils/rtcfg/bios/svr_rtcfg.c b/packages/ti/sdo/ce/utils/rtcfg/bios/svr_rtcfg.c
new file mode 100644 (file)
index 0000000..3110fc9
--- /dev/null
@@ -0,0 +1,339 @@
+/*
+ * Copyright (c) 2013-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.
+ */
+/*
+ *  ======== svr_rtcfg.c ========
+ *  This file is used for MFP BIOS examples building with no MFP modules
+ *  in the .cfg script. Other modules, such as BIOS and IPC will still need
+ *  to be configured in the .cfg script.
+ *  Common variables and functions that should not need any modification.
+ *
+ *  Use this file for building Codec Engine servers.
+ */
+
+#include <xdc/std.h>
+
+#include <ti/xdais/ialg.h>
+
+#include <ti/sdo/ce/Engine.h>
+
+
+/*
+ *  ======== ti.sdo.ce Settings Configuration ========
+ *  Set to TRUE for 'checked' builds.
+ *  Declare VISA_checked as extern Bool in main.c, set to TRUE bofore the
+ *  call to CERuntime_init().
+ */
+Bool VISA_checked = FALSE;
+
+/*
+ *  ====================================================
+ *  None of the code below this line should be modified!
+ *  ====================================================
+ */
+
+#include <ti/ipc/Ipc.h>
+#include <ti/ipc/MultiProc.h>
+
+/*
+ *  ======== IPC_threadGeneratedInit ========
+ */
+Void IPC_threadGeneratedInit()
+{
+#if 0
+    Int status;
+    UInt16 masterId;
+
+    masterId = MultiProc_getId("HOST");
+
+    do {
+        status = Ipc_attach(masterId);
+    } while (status < 0);
+#endif
+}
+
+
+/*
+ *  ======== IPC_threadGeneratedReset ========
+ */
+Void IPC_threadGeneratedReset()
+{
+#if 0
+    Int status;
+    UInt16 masterId;
+
+    masterId = MultiProc_getId("HOST");
+
+    do {
+        status = Ipc_detach(masterId);
+    } while (status < 0);
+
+    do {
+        status = Ipc_stop();
+    } while (status < 0);
+
+    do {
+        status = Ipc_start();
+    } while (status < 0);
+#endif
+}
+
+/*
+ * ======== ti.sdo.ce.alg internal variables ========
+ */
+
+UInt32 ti_sdo_ce_alg_Algorithm_MAXGROUPID = 20;
+
+IALG_Handle _Algorithm_lockOwner[20] = {
+     NULL, NULL, NULL, NULL, NULL,
+     NULL, NULL, NULL, NULL, NULL,
+     NULL, NULL, NULL, NULL, NULL,
+     NULL, NULL, NULL, NULL, NULL,
+};
+
+int _ALG_groupUsed[20] = {
+     0, 0, 0, 0, 0,
+     0, 0, 0, 0, 0,
+     0, 0, 0, 0, 0,
+     0, 0, 0, 0, 0,
+};
+
+int _ALG_groupRefCount[20] = {
+     0, 0, 0, 0, 0,
+     0, 0, 0, 0, 0,
+     0, 0, 0, 0, 0,
+     0, 0, 0, 0, 0,
+};
+
+/*
+ * ======== ti.sdo.ce.CERuntime ========
+ */
+
+#include <xdc/runtime/Diags.h>
+#include <xdc/runtime/Log.h>
+
+#include <ti/sdo/ce/global/CESettings.h>
+#include <ti/sdo/fc/global/FCSettings.h>
+
+#include <ti/sdo/ce/osal/Global.h>
+#include <ti/sdo/ce/ipc/Comm.h>
+#include <ti/sdo/ce/osal/Loader.h>
+#include <ti/sdo/ce/osal/Memory.h>
+#include <ti/sdo/ce/osal/Queue.h>
+#include <ti/sdo/ce/osal/Trace.h>
+#include <ti/sdo/ce/ipc/Processor.h>
+#include <ti/sdo/ce/alg/Algorithm.h>
+#include <ti/sdo/ce/Server.h>
+#include <ti/sdo/ce/Engine.h>
+#include <ti/sdo/ce/rms.h>
+#include <ti/sdo/ce/utils/xdm/XdmUtils.h>
+
+
+
+static Int ceInit = 0;
+
+/*
+ *  ======== CERuntime_init ========
+ */
+Void CERuntime_init(Void)
+{
+    if (ceInit++ == 0) {
+
+        CESettings_init();
+        FCSettings_init();
+
+
+        /* if CE_DEBUG is set, turn on tracing and DSP auto trace collection */
+        if (Global_getenv("CE_DEBUG") != NULL) {
+            extern Bool   Engine_alwaysCollectDspTrace;
+            extern String Engine_ceDebugDspTraceMask;
+
+            Engine_alwaysCollectDspTrace = TRUE;
+
+            /*
+             * Note the strategy for setting trace masks below...
+             * For any mods not yet registered, we set the
+             * [FC|CE]SETTINGS_MODNAME mask.  For any mods already
+             * registered, we Diags_setMask() them.
+             */
+
+            if (Global_getenv("CE_DEBUG")[0] == '1') {
+                /* Turn on CE/FC levels 6 and 7 */
+                xdc_runtime_Diags_setMask(CESETTINGS_MODNAME"+67");
+                xdc_runtime_Diags_setMask(FCSETTINGS_MODNAME"+67");
+                xdc_runtime_Diags_setMask("ti.sdo.ce.%+67");
+                xdc_runtime_Diags_setMask("ti.sdo.fc.%+67");
+
+                /* Same for any Servers */
+                Engine_ceDebugDspTraceMask = "ti.sdo.ce.%+67;ti.sdo.fc.%+67";
+            }
+            else if (Global_getenv("CE_DEBUG")[0] == '2') {
+                xdc_runtime_Diags_setMask(CESETTINGS_MODNAME"+EX1234567");
+                xdc_runtime_Diags_setMask(FCSETTINGS_MODNAME"+EX1234567");
+                xdc_runtime_Diags_setMask("ti.sdo.ce.%+EX1234567");
+                xdc_runtime_Diags_setMask("ti.sdo.fc.%+EX1234567");
+
+                Engine_ceDebugDspTraceMask =
+                    // Current Diags mask: (time=2 ==> display time in delta usec
+                    "ti.sdo.ce.%+EX1234567;ti.sdo.fc.%+EX12345678;ti.sdo.ce.rms=67;ti.sdo.fc.dman3-2;ti.sdo.fc.dskt2-2;time=2";
+            }
+            else if (Global_getenv("CE_DEBUG")[0] == '0') {
+                /* Don't set anything if someone tries to turn CE_DEBUG off */
+            } else {
+                xdc_runtime_Diags_setMask("ti.sdo.ce.%+EX1234567");
+                xdc_runtime_Diags_setMask("ti.sdo.fc.%+EX1234567");
+
+                Engine_ceDebugDspTraceMask =
+                    "time=2;ti.sdo.fc.%+EX1234567;ti.sdo.ce.%+EX1234567;ti.sdo.fc.dskt2-2";
+            }
+        }
+        else {
+            //xdc_runtime_Diags_setMask("ti.sdo.ce.Engine-EX1234567");
+            //xdc_runtime_Diags_setMask("ti.sdo.ce.VISA-EX1234567");
+        }
+
+        if (Global_getenv("CE_CHECK") != NULL) {
+            extern Bool VISA_checked;
+
+            /*
+             * Currently just change _this_ processor's value... perhaps we
+             * should enable remote processors as well?
+             */
+            if (Global_getenv("CE_CHECK")[0] == '1') {
+                VISA_checked = TRUE;
+                xdc_runtime_Diags_setMask("ti.sdo.ce.%+7");
+            } else if (Global_getenv("CE_CHECK")[0] == '0') {
+                VISA_checked = FALSE;
+            } else {
+                /* leave it whatever it was. maybe we should drop a warning? */
+            }
+        }
+
+        /* allow user to over-ride via CE_TRACE. */
+        if (Global_getenv("CE_TRACE") != NULL) {
+            xdc_runtime_Diags_setMask(Global_getenv("CE_TRACE"));
+        }
+        Global_init();
+
+
+        ti_sdo_ce_osal_Memory_init();
+        Comm_init();
+        Processor_init();
+        Algorithm_init();
+        XdmUtils_init();
+
+//        Trace_init();
+        RMS_init();
+        Global_atexit((Fxn)RMS_exit);
+
+        Engine_init();
+        _VISA_init();
+        Loader_init();
+       Server_init();
+        if ((Global_getenv("CE_DEBUG") != NULL) &&
+                (Global_getenv("CE_DEBUG")[0] == '2')) {
+
+            /*
+             *  set up masks that must be deferred until the modules have been
+             *  initialized.
+             */
+            //xdc_runtime_Diags_setMask(Comm_MODNAME"-EX12345");
+            xdc_runtime_Diags_setMask("ti.sdo.ce.osal.%-EX123");
+            //xdc_runtime_Diags_setMask(Algorithm_MODNAME"-EX12345");
+
+            xdc_runtime_Diags_setMask("ti.sdo.ce.Engine-3");
+            xdc_runtime_Diags_setMask("ti.sdo.ce.ipc.Comm=67");
+        }
+
+        /*
+         *  Allow user to over-ride via CE_TRACE. Putting this after module
+         *  initialization, since it will have no effect if called before.
+         *  Only wildcard settings seem to work when placed before module
+         *  initialization.
+         */
+        if (Global_getenv("CE_TRACE") != NULL) {
+            xdc_runtime_Diags_setMask(Global_getenv("CE_TRACE"));
+        }
+    }
+}
+
+
+/*
+ *  ======== CERuntime_exit ========
+ */
+Void CERuntime_exit(Void)
+{
+    Global_exit();
+}
+
+/* for backward compatibility with xdc-m based tools */
+Void ti_sdo_ce_CERuntime_init__F(Void) {
+    CERuntime_init();
+}
+
+/* No remote server */
+Bool ti_sdo_ce_Engine_initFromServer = FALSE;
+
+
+
+/* This symbol is referenced by Server_init() */
+Int Global_useLinkArbiter = FALSE;
+
+#include <ti/sdo/ce/ipc/Processor.h>
+
+Int16 ti_sdo_ce_ipc_bios__Processor_defaultSharedRegionId = 0;
+Int16 ti_sdo_ce_ipc_bios__Processor_defaultHeapId = 0;
+Int32 ti_sdo_ce_ipc_bios__Processor_defaultNumMsgs = 64;
+Int32 ti_sdo_ce_ipc_bios__Processor_defaultMsgSize = 4096;
+
+Processor_CommDesc ti_sdo_ce_ipc_bios__Processor_commDescs[] = {
+    {
+        -1,                     /* numMsgs */
+        -1,                     /* msgSize */
+        -1,                     /* sharedRegionId */
+        -1,                     /* heapId */
+        FALSE,                  /* userCreatedHeap */
+    }
+};
+
+UInt32 ti_sdo_ce_ipc_bios__Processor_numCommDescs = 1;
+
+String Global_buildInfo[] = {
+    NULL
+};
+
+#include <ti/sdo/ce/osal/bios/Global_BIOS.h>
+__FAR__ Char ti_sdo_ce_osal_bios_Global_CE_DEBUG[2] = "";
+__FAR__ Char ti_sdo_ce_osal_bios_Global_CE_CHECK[2] = "";
+/*
+ *  @(#) ti.sdo.ce.utils.rtcfg; 1, 0, 1,3; 6-13-2013 00:19:39; /db/atree/library/trees/ce/ce-w08/src/ xlibrary
+
+ */
diff --git a/packages/ti/sdo/ce/utils/rtcfg/rtcfg_fcinit.c b/packages/ti/sdo/ce/utils/rtcfg/rtcfg_fcinit.c
new file mode 100644 (file)
index 0000000..e4cc4ad
--- /dev/null
@@ -0,0 +1,116 @@
+/*
+ * Copyright (c) 2013-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.
+ */
+/*
+ *  ======== rtcfg_fcinit.c ========
+ *  FC configuration for non-RTSC config examples. Compile this file as is,
+ *  with apps that don't use the individual FC components here.. For apps whose
+ *  local codecs use RMAN or DMAN3 etc, copy this file and modify as needed.
+ */
+
+/*
+ *  Set USE_RMAN to 1 if the app uses RMAN, otherwise set to 0. If USE_RMAN
+ *  is set to 1, the user may need to modify RMAN_PARAMS structure
+ */
+#define USE_RMAN 0
+
+
+#include <xdc/std.h>
+
+#if USE_RMAN
+#include <ti/sdo/fc/rman/rman.h>
+extern Bool _ALG_allocMemory(IALG_MemRec *memTab, Int n);
+extern Void _ALG_freeMemory(IALG_MemRec *memTab, Int n);
+#endif
+
+//TODO: Next FC tree will fix this
+//#include <ti/sdo/fc/global/Settings.h>
+extern Bool ti_sdo_fc_multiProcess;
+
+Void Rtcfg_fcInit()
+{
+#if USE_RMAN
+    /* Configure RMAN */
+    RMAN_PARAMS.allocFxn = &_ALG_allocMemory;
+    RMAN_PARAMS.freeFxn = &_ALG_freeMemory;
+#endif
+
+    /* Add other FC configuration as necessary, this is only an example */
+    /* Building for Linux so set multiProcess to TRUE */
+    ti_sdo_fc_multiProcess = TRUE;
+}
+
+
+
+#if USE_RMAN
+#else
+
+/* PLEASE DO NOT MODIFY CODE BELOW */
+
+/* If not using RMAN, the RMAN functions need to be stubbed out. */
+
+#include <ti/xdais/ires.h>   /* for IRES types */
+
+IRES_Status RMAN_activateAllResources(IALG_Handle algHandle,
+        IRES_Fxns *resFxns, Int scratchId)
+{
+    return (IRES_OK);
+}
+
+IRES_Status RMAN_assignResources(IALG_Handle algHandle, IRES_Fxns *resFxns,
+        Int scratchGroupId)
+{
+    return (IRES_OK);
+}
+
+IRES_Status RMAN_deactivateAllResources(IALG_Handle algHandle,
+        IRES_Fxns * resFxns, Int scratchId)
+{
+    return (IRES_OK);
+}
+
+IRES_Status RMAN_freeResources(IALG_Handle algHandle, IRES_Fxns * resFxns,
+        Int scratchGroupId)
+{
+    return (IRES_OK);
+}
+
+IRES_Status RMAN_init(void)
+{
+    return (IRES_OK);
+}
+
+IRES_Status RMAN_exit(void)
+{
+    return (IRES_OK);
+}
+
+#endif
diff --git a/packages/ti/sdo/ce/utils/rtcfg/rtcfg_remote_config.c b/packages/ti/sdo/ce/utils/rtcfg/rtcfg_remote_config.c
new file mode 100644 (file)
index 0000000..870717c
--- /dev/null
@@ -0,0 +1,132 @@
+/*
+ * Copyright (c) 2013-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.
+ */
+/*
+ * ======== utils.rtcfg.rtcfg_remote_config.c ========
+ */
+
+#include <xdc/std.h>
+
+#include <ti/sdo/ce/osal/Memory.h>
+
+/*
+ *  ======== ti.sdo.ce Settings Configuration ========
+ *  Set to TRUE for 'checked' builds.
+ *  Declare VISA_checked as extern Bool in main.c, set to TRUE bofore the
+ *  call to CERuntime_init().
+ */
+Bool VISA_checked = FALSE;
+
+/*
+ * ======== ti.sdo.ce.alg.Algorithm Configuration ========
+ */
+
+/*
+ *  ======== useHeap ========
+ *  Flag indicating whether algorithm memory should be allocated from
+ *  a heap or from a pool.
+ *
+ *  This flag is currently only used when CMEM is used to allocate memory
+ *  (e.g. ARM-side 'local' codecs).
+ */
+Bool ti_sdo_ce_alg_Algorithm_useHeap = FALSE;
+
+/*
+ *  ======== useCache ========
+ *  This flag indicates whether algorithm memory should be allocated from
+ *  cache-enabled buffers.
+ *
+ *  This flag is currently only used when CMEM is used to allocate memory
+ *  (e.g. ARM-side 'local' codecs).
+ *
+ *  Note that when cache-enabled buffers are used, it is the application's
+ *  responsibility to manage this cache.  See the various `Memory_` APIs
+ *  for cache services.
+ */
+Bool ti_sdo_ce_alg_Algorithm_useCache = FALSE;
+
+
+/*
+ *  ======== Global Configuration ========
+ *  Configuration parameters for remote linux apps that will probably not
+ *  need to be modified.
+ */
+
+Bool ti_sdo_ce_osal_Memory_skipVirtualAddressTranslation = FALSE;
+
+UInt32 ti_sdo_ce_osal_Memory_maxCbListSize = 100;
+
+/* Arm-side IPC configuration
+ * ==============================
+ */
+
+
+#include <ti/sdo/ce/ipc/Processor.h>
+
+/*
+ *  Set the Processor module defaults for communication between the
+ *  ARM and the DSP. These will be used when no per-core value is specified
+ *  in the Processor_commDescs[] array (see below).
+ *
+ *      Processor_defaultSharedRegionId: The shared region to create a heap
+ *          for allocating messages.
+ *      Processor_defaultHeapId: The id of a heap that is registered with
+ *          MessageQ.
+ *      Processor_defaultNumMsgs: Used for the number of blocks when creating
+ *          a heap for MessageQ.
+ *      Processor_defaultMsgSize: Used for the block size when creating a heap
+ *          for MessageQ.
+ */
+Int16 ti_sdo_ce_ipc_dsplink__Processor_defaultSharedRegionId = 1;
+Int16 ti_sdo_ce_ipc_dsplink__Processor_defaultHeapId = 0;
+Int32 ti_sdo_ce_ipc_dsplink__Processor_defaultNumMsgs = 64;
+Int32 ti_sdo_ce_ipc_dsplink__Processor_defaultMsgSize = 512;
+
+Processor_CommDesc ti_sdo_ce_ipc_dsplink__Processor_commDescs[] = {
+    {
+        -1,                     /* numMsgs */
+        -1,                     /* msgSize */
+        -1,                     /* sharedRegionId */
+        -1,                     /* heapId */
+        FALSE,                  /* userCreatedHeap */
+    }
+};
+
+UInt32 ti_sdo_ce_ipc_dsplink__Processor_numCommDescs = 1;
+
+
+/* Max timeout for MessageQ_get() allowed. */
+UInt32 ti_sdo_ce_ipc_dsplink_Ipc_maxTimeout = 4294967295UL; /* 0xFFFFFFFF */
+
+/* configuration for interprocessor communication */
+
+/* configure number of retries Comm_locate should do before giving up */
+UInt32 Comm_LOCATERETRIES = 20;
index e9f4ba751c5c68c738155e60580bd23d5e16b8bd..93dd46a48f53cfe06c15cbd1f4ebee3ed26b3f15 100644 (file)
@@ -1,5 +1,5 @@
 #
-#   Copyright (c) 2012-2013, Texas Instruments Incorporated
+#   Copyright (c) 2012-2014, Texas Instruments Incorporated
 #   All rights reserved.
 #
 #   Redistribution and use in source and binary forms, with or without
@@ -42,6 +42,8 @@ DEPOT = _your_depot_folder_
 #
 XDAIS_INSTALL_DIR      = $(DEPOT)/_your_xdais_install_
 OSAL_INSTALL_DIR       = $(DEPOT)/_your_osal_install_
+IPC_INSTALL_DIR        = $(DEPOT)/_your_ipc_install_
+
 
 #################### CE Linux ####################
 
@@ -51,6 +53,11 @@ TOOLCHAIN_LONGNAME     = arm-linux-gnueabihf
 TOOLCHAIN_INSTALL_DIR  = $(DEPOT)/_your_arm_code_gen_install_
 TOOLCHAIN_PREFIX       = $(TOOLCHAIN_INSTALL_DIR)/bin/$(TOOLCHAIN_LONGNAME)-
 
+# Path to TI Linux Utils product
+#
+CMEM_INSTALL_DIR       = $(DEPOT)/_your_cmem_install_
+
+
 #################### CE BIOS ####################
 
 # Path to required dependencies for CE BIOS builds