summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linux/include/_MultiProc.h11
-rw-r--r--linux/src/api/Ipc.c10
-rw-r--r--linux/src/daemon/Makefile.am4
-rw-r--r--linux/src/daemon/Makefile.in8
-rw-r--r--linux/src/utils/Makefile.am19
-rw-r--r--linux/src/utils/Makefile.in79
-rw-r--r--linux/src/utils/MultiProc_app.c51
7 files changed, 155 insertions, 27 deletions
diff --git a/linux/include/_MultiProc.h b/linux/include/_MultiProc.h
index a93f36e..4d3a031 100644
--- a/linux/include/_MultiProc.h
+++ b/linux/include/_MultiProc.h
@@ -87,6 +87,17 @@ typedef struct MultiProc_Config_tag {
*/
Void MultiProc_getConfig (MultiProc_Config * cfg);
+/*!
+ * @brief Initialize the configuration for the MultiProc module.
+ *
+ * This function is called to initialize the configuration for
+ * MultiProc.
+ *
+ * @param cfg Pointer to a populated MultiProc configuration
+ * structure.
+ */
+Void _MultiProc_initCfg(MultiProc_Config * cfg);
+
/* This exported from daemon/MultiProcCfg_<PLATFORM>.c: */
extern MultiProc_Config _MultiProc_cfg;
diff --git a/linux/src/api/Ipc.c b/linux/src/api/Ipc.c
index 46db4ae..214c626 100644
--- a/linux/src/api/Ipc.c
+++ b/linux/src/api/Ipc.c
@@ -55,11 +55,10 @@
/* IPC startup/shutdown stuff: */
#include <ti/ipc/MultiProc.h>
+#include <_MultiProc.h>
#include <_MessageQ.h>
#include <_NameServer.h>
-MultiProc_Config _MultiProc_cfg;
-
static LAD_ClientHandle ladHandle;
static void cleanup(int arg);
@@ -88,9 +87,12 @@ Int Ipc_start (Void)
goto exit;
}
- /* Setup and get MultiProc configuration from LAD */
+ /*
+ * Get MultiProc configuration from LAD and initialize local MultiProc
+ * config structure.
+ */
MultiProc_getConfig(&mpCfg);
- _MultiProc_cfg = mpCfg;
+ _MultiProc_initCfg(&mpCfg);
status = NameServer_setup();
if (status >= 0) {
diff --git a/linux/src/daemon/Makefile.am b/linux/src/daemon/Makefile.am
index c907b40..32af0a0 100644
--- a/linux/src/daemon/Makefile.am
+++ b/linux/src/daemon/Makefile.am
@@ -97,8 +97,8 @@ lad_tci6614_SOURCES = $(common_sources) MultiProcCfg_tci6614.c
lad_tci6636_SOURCES = $(common_sources) MultiProcCfg_tci6638.c
lad_tci6638_SOURCES = $(common_sources) MultiProcCfg_tci6638.c
-common_libraries = -lpthread $(top_builddir)/linux/src/api/libtiipc.la \
- $(top_builddir)/linux/src/utils/libtiipcutils.la
+common_libraries = -lpthread \
+ $(top_builddir)/linux/src/utils/libtiipcutils_lad.la
# the additional libraries needed to link program
lad_omap54xx_smp_LDADD = $(common_libraries) \
diff --git a/linux/src/daemon/Makefile.in b/linux/src/daemon/Makefile.in
index 85051bd..169d63b 100644
--- a/linux/src/daemon/Makefile.in
+++ b/linux/src/daemon/Makefile.in
@@ -73,8 +73,8 @@ am__objects_1 = lad.$(OBJEXT) MessageQ_daemon.$(OBJEXT) \
MultiProc_daemon.$(OBJEXT) NameServer_daemon.$(OBJEXT)
am_lad_dra7xx_OBJECTS = $(am__objects_1) MultiProcCfg_dra7xx.$(OBJEXT)
lad_dra7xx_OBJECTS = $(am_lad_dra7xx_OBJECTS)
-am__DEPENDENCIES_1 = $(top_builddir)/linux/src/api/libtiipc.la \
- $(top_builddir)/linux/src/utils/libtiipcutils.la
+am__DEPENDENCIES_1 = \
+ $(top_builddir)/linux/src/utils/libtiipcutils_lad.la
am__DEPENDENCIES_2 =
lad_dra7xx_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
am_lad_omap54xx_smp_OBJECTS = $(am__objects_1) \
@@ -272,8 +272,8 @@ lad_omapl138_SOURCES = $(common_sources) MultiProcCfg_omapl138.c
lad_tci6614_SOURCES = $(common_sources) MultiProcCfg_tci6614.c
lad_tci6636_SOURCES = $(common_sources) MultiProcCfg_tci6638.c
lad_tci6638_SOURCES = $(common_sources) MultiProcCfg_tci6638.c
-common_libraries = -lpthread $(top_builddir)/linux/src/api/libtiipc.la \
- $(top_builddir)/linux/src/utils/libtiipcutils.la
+common_libraries = -lpthread \
+ $(top_builddir)/linux/src/utils/libtiipcutils_lad.la
# the additional libraries needed to link program
diff --git a/linux/src/utils/Makefile.am b/linux/src/utils/Makefile.am
index 938c44e..6fdf887 100644
--- a/linux/src/utils/Makefile.am
+++ b/linux/src/utils/Makefile.am
@@ -40,13 +40,15 @@ AM_CFLAGS = -I$(top_srcdir)/linux/include -I$(top_srcdir)/hlos_common/include \
###############################################################################
# the library names to build (note we are building shared libs)
-lib_LTLIBRARIES = libtiipcutils.la
+lib_LTLIBRARIES = libtiipcutils.la libtiipcutils_lad.la
# where to install the headers on the system
libtiipcutils_ladir = $(includedir)
+libtiipcutils_lad_ladir = $(includedir)
# the list of header files that belong to the library (to be installed later)
libtiipcutils_la_HEADERS =
+libtiipcutils_lad_la_HEADERS =
# the sources to add to the library and to add to the source distribution
libtiipcutils_la_SOURCES = \
@@ -59,9 +61,24 @@ libtiipcutils_la_SOURCES = \
$(top_srcdir)/packages/ti/ipc/MultiProc.h \
LAD_client.c \
$(top_srcdir)/hlos_common/src/utils/MultiProc.c \
+ MultiProc_app.c \
SocketFxns.c
+libtiipcutils_lad_la_SOURCES = \
+ $(libtiipcutils_la_HEADERS) \
+ $(top_srcdir)/linux/include/ladclient.h \
+ $(top_srcdir)/linux/include/_lad.h \
+ $(top_srcdir)/linux/include/_MultiProc.h \
+ $(top_srcdir)/linux/include/net/rpmsg.h \
+ $(top_srcdir)/linux/include/ti/ipc/Std.h \
+ $(top_srcdir)/packages/ti/ipc/MultiProc.h \
+ LAD_client.c \
+ $(top_srcdir)/hlos_common/src/utils/MultiProc.c \
+ SocketFxns.c
+
+
# Add version info to the shared library
libtiipcutils_la_LDFLAGS = -version-info 1:0:0
+libtiipcutils_lad_la_LDFLAGS = -version-info 1:0:0
###############################################################################
diff --git a/linux/src/utils/Makefile.in b/linux/src/utils/Makefile.in
index ef61564..575707a 100644
--- a/linux/src/utils/Makefile.in
+++ b/linux/src/utils/Makefile.in
@@ -38,7 +38,8 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = linux/src/utils
-DIST_COMMON = $(libtiipcutils_la_HEADERS) $(srcdir)/Makefile.am \
+DIST_COMMON = $(libtiipcutils_la_HEADERS) \
+ $(libtiipcutils_lad_la_HEADERS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
@@ -53,14 +54,19 @@ am__vpath_adj = case $$p in \
esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
am__installdirs = "$(DESTDIR)$(libdir)" \
- "$(DESTDIR)$(libtiipcutils_ladir)"
+ "$(DESTDIR)$(libtiipcutils_ladir)" \
+ "$(DESTDIR)$(libtiipcutils_lad_ladir)"
libLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(lib_LTLIBRARIES)
libtiipcutils_la_LIBADD =
am__objects_1 =
am_libtiipcutils_la_OBJECTS = $(am__objects_1) LAD_client.lo \
- MultiProc.lo SocketFxns.lo
+ MultiProc.lo MultiProc_app.lo SocketFxns.lo
libtiipcutils_la_OBJECTS = $(am_libtiipcutils_la_OBJECTS)
+libtiipcutils_lad_la_LIBADD =
+am_libtiipcutils_lad_la_OBJECTS = $(am__objects_1) LAD_client.lo \
+ MultiProc.lo SocketFxns.lo
+libtiipcutils_lad_la_OBJECTS = $(am_libtiipcutils_lad_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir)
depcomp = $(SHELL) $(top_srcdir)/linux/build-aux/depcomp
am__depfiles_maybe = depfiles
@@ -72,10 +78,12 @@ 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 = $(libtiipcutils_la_SOURCES)
-DIST_SOURCES = $(libtiipcutils_la_SOURCES)
+SOURCES = $(libtiipcutils_la_SOURCES) $(libtiipcutils_lad_la_SOURCES)
+DIST_SOURCES = $(libtiipcutils_la_SOURCES) \
+ $(libtiipcutils_lad_la_SOURCES)
libtiipcutils_laHEADERS_INSTALL = $(INSTALL_HEADER)
-HEADERS = $(libtiipcutils_la_HEADERS)
+libtiipcutils_lad_laHEADERS_INSTALL = $(INSTALL_HEADER)
+HEADERS = $(libtiipcutils_la_HEADERS) $(libtiipcutils_lad_la_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -209,13 +217,15 @@ target_alias = @target_alias@
###############################################################################
# the library names to build (note we are building shared libs)
-lib_LTLIBRARIES = libtiipcutils.la
+lib_LTLIBRARIES = libtiipcutils.la libtiipcutils_lad.la
# where to install the headers on the system
libtiipcutils_ladir = $(includedir)
+libtiipcutils_lad_ladir = $(includedir)
# the list of header files that belong to the library (to be installed later)
libtiipcutils_la_HEADERS =
+libtiipcutils_lad_la_HEADERS =
# the sources to add to the library and to add to the source distribution
libtiipcutils_la_SOURCES = \
@@ -228,11 +238,25 @@ libtiipcutils_la_SOURCES = \
$(top_srcdir)/packages/ti/ipc/MultiProc.h \
LAD_client.c \
$(top_srcdir)/hlos_common/src/utils/MultiProc.c \
+ MultiProc_app.c \
+ SocketFxns.c
+
+libtiipcutils_lad_la_SOURCES = \
+ $(libtiipcutils_la_HEADERS) \
+ $(top_srcdir)/linux/include/ladclient.h \
+ $(top_srcdir)/linux/include/_lad.h \
+ $(top_srcdir)/linux/include/_MultiProc.h \
+ $(top_srcdir)/linux/include/net/rpmsg.h \
+ $(top_srcdir)/linux/include/ti/ipc/Std.h \
+ $(top_srcdir)/packages/ti/ipc/MultiProc.h \
+ LAD_client.c \
+ $(top_srcdir)/hlos_common/src/utils/MultiProc.c \
SocketFxns.c
# Add version info to the shared library
libtiipcutils_la_LDFLAGS = -version-info 1:0:0
+libtiipcutils_lad_la_LDFLAGS = -version-info 1:0:0
all: all-am
.SUFFIXES:
@@ -295,6 +319,8 @@ clean-libLTLIBRARIES:
done
libtiipcutils.la: $(libtiipcutils_la_OBJECTS) $(libtiipcutils_la_DEPENDENCIES)
$(LINK) -rpath $(libdir) $(libtiipcutils_la_LDFLAGS) $(libtiipcutils_la_OBJECTS) $(libtiipcutils_la_LIBADD) $(LIBS)
+libtiipcutils_lad.la: $(libtiipcutils_lad_la_OBJECTS) $(libtiipcutils_lad_la_DEPENDENCIES)
+ $(LINK) -rpath $(libdir) $(libtiipcutils_lad_la_LDFLAGS) $(libtiipcutils_lad_la_OBJECTS) $(libtiipcutils_lad_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -304,6 +330,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LAD_client.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MultiProc.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/MultiProc_app.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SocketFxns.Plo@am__quote@
.c.o:
@@ -360,6 +387,23 @@ uninstall-libtiipcutils_laHEADERS:
echo " rm -f '$(DESTDIR)$(libtiipcutils_ladir)/$$f'"; \
rm -f "$(DESTDIR)$(libtiipcutils_ladir)/$$f"; \
done
+install-libtiipcutils_lad_laHEADERS: $(libtiipcutils_lad_la_HEADERS)
+ @$(NORMAL_INSTALL)
+ test -z "$(libtiipcutils_lad_ladir)" || $(mkdir_p) "$(DESTDIR)$(libtiipcutils_lad_ladir)"
+ @list='$(libtiipcutils_lad_la_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(libtiipcutils_lad_laHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(libtiipcutils_lad_ladir)/$$f'"; \
+ $(libtiipcutils_lad_laHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(libtiipcutils_lad_ladir)/$$f"; \
+ done
+
+uninstall-libtiipcutils_lad_laHEADERS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libtiipcutils_lad_la_HEADERS)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(libtiipcutils_lad_ladir)/$$f'"; \
+ rm -f "$(DESTDIR)$(libtiipcutils_lad_ladir)/$$f"; \
+ done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -440,7 +484,7 @@ check-am: all-am
check: check-am
all-am: Makefile $(LTLIBRARIES) $(HEADERS)
installdirs:
- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libtiipcutils_ladir)"; do \
+ for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libtiipcutils_ladir)" "$(DESTDIR)$(libtiipcutils_lad_ladir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-am
@@ -488,7 +532,8 @@ info: info-am
info-am:
-install-data-am: install-libtiipcutils_laHEADERS
+install-data-am: install-libtiipcutils_laHEADERS \
+ install-libtiipcutils_lad_laHEADERS
install-exec-am: install-libLTLIBRARIES
@@ -517,7 +562,8 @@ ps: ps-am
ps-am:
uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \
- uninstall-libtiipcutils_laHEADERS
+ uninstall-libtiipcutils_laHEADERS \
+ uninstall-libtiipcutils_lad_laHEADERS
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-libLTLIBRARIES clean-libtool ctags distclean \
@@ -526,12 +572,13 @@ uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \
install install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am \
install-libLTLIBRARIES install-libtiipcutils_laHEADERS \
- install-man install-strip installcheck installcheck-am \
- installdirs maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
- uninstall-am uninstall-info-am uninstall-libLTLIBRARIES \
- uninstall-libtiipcutils_laHEADERS
+ install-libtiipcutils_lad_laHEADERS install-man install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+ tags uninstall uninstall-am uninstall-info-am \
+ uninstall-libLTLIBRARIES uninstall-libtiipcutils_laHEADERS \
+ uninstall-libtiipcutils_lad_laHEADERS
###############################################################################
diff --git a/linux/src/utils/MultiProc_app.c b/linux/src/utils/MultiProc_app.c
new file mode 100644
index 0000000..55a9e5d
--- /dev/null
+++ b/linux/src/utils/MultiProc_app.c
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2013, Texas Instruments Incorporated
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of Texas Instruments Incorporated nor the names of
+ * its contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+/*
+ * ======== MultiProc_app.c ========
+ *
+ * Internal function to initialized the MultiProc configuration
+ */
+
+#include <ti/ipc/Std.h>
+
+#include <_MultiProc.h>
+
+MultiProc_Config _MultiProc_cfg;
+
+/*
+ * ===== MultiProc_initCfg =====
+ */
+Void _MultiProc_initCfg(MultiProc_Config * cfg)
+{
+ /* Initialize _MultiProc_cfg struct */
+ memcpy (&_MultiProc_cfg, cfg, sizeof(*cfg));
+}