diff options
-rw-r--r-- | linux/include/_MultiProc.h | 11 | ||||
-rw-r--r-- | linux/src/api/Ipc.c | 10 | ||||
-rw-r--r-- | linux/src/daemon/Makefile.am | 4 | ||||
-rw-r--r-- | linux/src/daemon/Makefile.in | 8 | ||||
-rw-r--r-- | linux/src/utils/Makefile.am | 19 | ||||
-rw-r--r-- | linux/src/utils/Makefile.in | 79 | ||||
-rw-r--r-- | linux/src/utils/MultiProc_app.c | 51 |
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)); +} |