Removed libcfg.a and moved _MultiProc_cfg into resource manager for QNX.
authorvwan@ti.com <vwan@ti.com>
Thu, 16 May 2013 17:34:02 +0000 (10:34 -0700)
committerChris Ring <cring@ti.com>
Tue, 21 May 2013 18:30:58 +0000 (11:30 -0700)
This is done to match a similar change in Linux that moved _MultiProc_cfg into the daemon process,

A side-effect is that Ipc_start must now be called prior to any MultiProc API.

29 files changed:
qnx/Makefile
qnx/src/api/Ipc.c
qnx/src/api/MessageQ.c
qnx/src/api/MultiProc.c [new file with mode: 0644]
qnx/src/api/NameServer.c
qnx/src/family/Makefile [deleted file]
qnx/src/family/arm/Makefile [deleted file]
qnx/src/family/arm/a.g.le.v7/Makefile [deleted file]
qnx/src/family/arm/a.le.v7/Makefile [deleted file]
qnx/src/family/common.mk [deleted file]
qnx/src/ipc3x_dev/ti/syslink/build/Qnx/resmgr/dcmd_syslink.h
qnx/src/ipc3x_dev/ti/syslink/build/Qnx/resmgr/syslink_devctl.c
qnx/src/ipc3x_dev/ti/syslink/family/omap5430/SystemCfg_omap5432.c [moved from qnx/src/family/SystemCfg_omap5432.c with 100% similarity]
qnx/src/ipc3x_dev/ti/syslink/family/vayu/SystemCfg_vayu.c [moved from qnx/src/family/SystemCfg_vayu.c with 100% similarity]
qnx/src/ipc3x_dev/ti/syslink/inc/MultiProcDrvDefs.h
qnx/src/ipc3x_dev/ti/syslink/inc/_MultiProc.h
qnx/src/ipc3x_dev/ti/syslink/inc/usr/Qnx/MultiProcDrv.h [moved from qnx/include/_MultiProc.h with 63% similarity]
qnx/src/ipc3x_dev/ti/syslink/ipc/hlos/knl/Qnx/multiproc_devctl.c [new file with mode: 0644]
qnx/src/ipc3x_dev/ti/syslink/ipc/hlos/usr/Qnx/MultiProcDrv.c [new file with mode: 0644]
qnx/src/tests/MessageQApp/MessageQApp.c
qnx/src/tests/MessageQApp/arm/o.g.le.v7/Makefile
qnx/src/tests/MessageQApp/arm/o.le.v7/Makefile
qnx/src/tests/MessageQBench/MessageQBench.c
qnx/src/tests/MessageQBench/arm/o.g.le.v7/Makefile
qnx/src/tests/MessageQBench/arm/o.le.v7/Makefile
qnx/src/tests/MessageQMulti/arm/o.g.le.v7/Makefile
qnx/src/tests/MessageQMulti/arm/o.le.v7/Makefile
qnx/src/tests/NameServerApp/arm/o.g.le.v7/Makefile
qnx/src/tests/NameServerApp/arm/o.le.v7/Makefile

index dc8d6115a3d8b2d5efe637cfbfc0bff0ccf41b66..327bc68f9a868377e2ace5a69faebaa64cb82bab 100644 (file)
@@ -42,7 +42,6 @@ all:  utils ipc3x_dev libs tests
 
 libs: ipc3x_dev
        @cd src/api; make install
-       @cd src/family; make install
        @cd src/mm; make install
 
 utils:
@@ -63,7 +62,6 @@ install:
                INSTALL_ROOT_nto=$(DESTDIR) install
 
 clean:
-       @cd src/family; make clean
        @cd src/api; make clean
        @cd src/mm; make clean
        @cd src/utils; make clean
index 1610e9eebbf52bbfed746576d3cd40b6c9bf5b0b..a24b82f2270aa3a1400004f31af013a3467e9d5a 100644 (file)
@@ -59,6 +59,9 @@
 #include <ti/ipc/NameServer.h>
 #include <_MessageQ.h>
 #include <_NameServer.h>
+#include <ti/syslink/inc/_MultiProc.h>
+
+MultiProc_Config _MultiProc_cfg;
 
 static void cleanup(int arg);
 
@@ -70,6 +73,7 @@ static void cleanup(int arg);
 Int Ipc_start (Void)
 {
     MessageQ_Config   msgqCfg;
+    MultiProc_Config  mpCfg;
     Int32             status = Ipc_S_SUCCESS;
     UInt16            rprocId;
 
@@ -88,6 +92,10 @@ Int Ipc_start (Void)
         MessageQ_getConfig(&msgqCfg);
         MessageQ_setup(&msgqCfg);
 
+        /* Setup and get MultiProc configuration from resource manager */
+        MultiProc_getConfig(&mpCfg);
+        _MultiProc_cfg = mpCfg;
+
         /* Now attach to all remote processors, assuming they are up. */
         for (rprocId = 0;
              (rprocId < MultiProc_getNumProcessors()) && (status >= 0);
index 8ac43db05353d4722d8295a5dcf00c0a12e46d33..4a724862d9a03bd18eaae5a0684ba47c74c96b35 100644 (file)
 /* Module level headers */
 #include <ti/ipc/NameServer.h>
 #include <ti/ipc/MultiProc.h>
-#include <_MultiProc.h>
+#include <ti/syslink/inc/_MultiProc.h>
 #include <ti/ipc/MessageQ.h>
 #include <_MessageQ.h>
 #include <_IpcLog.h>
diff --git a/qnx/src/api/MultiProc.c b/qnx/src/api/MultiProc.c
new file mode 100644 (file)
index 0000000..f4da691
--- /dev/null
@@ -0,0 +1,80 @@
+/*
+ * 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.
+ */
+/*
+ *  @file   MultiProc.c
+ *
+ *  @brief  MultiProc module "client" implementation
+ */
+
+/* Standard IPC header */
+#include <Std.h>
+
+/* Module level headers */
+#include <ti/ipc/MultiProc.h>
+#include <ti/syslink/inc/_MultiProc.h>
+#include <_IpcLog.h>
+#include <ti/syslink/inc/MultiProcDrvDefs.h>
+
+/* Socket Headers */
+#include <sys/types.h>
+#include <string.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <assert.h>
+
+#include <ti/syslink/inc/usr/Qnx/MultiProcDrv.h>
+static Bool verbose = FALSE;
+
+/* =============================================================================
+ * APIS
+ * =============================================================================
+ */
+/* Function to get default configuration for the MultiProc module.
+ *
+ */
+Void MultiProc_getConfig (MultiProc_Config * cfg)
+{
+    Int status;
+    MultiProcDrv_CmdArgs cmdArgs;
+
+    assert (cfg != NULL);
+
+    cmdArgs.args.getConfig.config = cfg;
+    status = MultiProcDrv_ioctl (CMD_MULTIPROC_GETCONFIG, &cmdArgs);
+
+    if (status < 0) {
+        PRINTVERBOSE1("MultiProc_getConfig: API (through IOCTL) failed, \
+            status=%d\n", status)
+    }
+
+    return;
+}
index de2cf43846c858c482db7cf3d437d46b1be0ace9..422b69ae25f0c10d9d719e0398c32544a9a8e8b9 100644 (file)
@@ -45,7 +45,7 @@
 
 #include <ti/ipc/NameServer.h>
 #include <_IpcLog.h>
-#include <_MultiProc.h>
+#include <ti/syslink/inc/_MultiProc.h>
 #include <ti/syslink/inc/IoctlDefs.h>
 #include <ti/syslink/inc/usr/Qnx/NameServerDrv.h>
 #include <ti/syslink/inc/NameServerDrvDefs.h>
diff --git a/qnx/src/family/Makefile b/qnx/src/family/Makefile
deleted file mode 100644 (file)
index 02aa99c..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# 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.
-#
-LIST=CPU
-include recurse.mk
diff --git a/qnx/src/family/arm/Makefile b/qnx/src/family/arm/Makefile
deleted file mode 100644 (file)
index dbffb72..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#
-# 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.
-#
-LIST=VARIANT
-ifndef QRECURSE
-QRECURSE=recurse.mk
-ifdef QCONFIG
-QRDIR=$(dir $(QCONFIG))
-endif
-endif
-include $(QRDIR)$(QRECURSE)
diff --git a/qnx/src/family/arm/a.g.le.v7/Makefile b/qnx/src/family/arm/a.g.le.v7/Makefile
deleted file mode 100644 (file)
index 0bdf91d..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# 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.
-#
-include ../../common.mk
diff --git a/qnx/src/family/arm/a.le.v7/Makefile b/qnx/src/family/arm/a.le.v7/Makefile
deleted file mode 100644 (file)
index 94992d8..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-# 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.
-#
-include ../../common.mk
-
-CCFLAGS += -O3
diff --git a/qnx/src/family/common.mk b/qnx/src/family/common.mk
deleted file mode 100644 (file)
index 2ba45bf..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-#
-# 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.
-#
-ifndef QCONFIG
-QCONFIG=qconfig.mk
-endif
-include $(QCONFIG)
-
-NAME = cfg
-
-define PINFO
-PINFO DESCRIPTION=IPC QNX CONFIGURATION LIBRARY
-endef
-
-# don't install the binaries, they are copied in base makefile
-INSTALLDIR = /dev/null
-
-# platform dependent source files
-SRCS += \
-        $(IPC_REPO)/qnx/src/family/SystemCfg_$(PLATFORM).c \
-
-EXCLUDE_OBJS =
-
-# include path
-EXTRA_INCVPATH += \
-        $(IPC_REPO) \
-        $(IPC_REPO)/qnx/include
-
-include $(MKFILES_ROOT)/qtargets.mk
-OPTIMIZE__gcc=$(OPTIMIZE_NONE_gcc)
index 6fde47d8e22c18021fd6d43299f7e7627841f5ca..f13e7cb20095f3b0d2d712ba9a6b13fe266e5b7d 100644 (file)
@@ -50,6 +50,7 @@ extern "C" {
 typedef enum {
     _DCMD_SYSLINK_NAMESERVER = 0x2A,
     _DCMD_SYSLINK_MESSAGEQ,
+    _DCMD_SYSLINK_MULTIPROC
 } dcmd_class_t_val;
 
 /*  ----------------------------------------------------------------------------
@@ -150,6 +151,18 @@ typedef enum {
                                             5,\
                                             MessageQDrv_CmdArgs)
 
+/*  ----------------------------------------------------------------------------
+*   IOCTL command IDs for MultiProc
+*   ----------------------------------------------------------------------------
+*/
+
+/*!
+ *  @brief  Command for MultiProc_getConfig
+*/
+#define DCMD_MULTIPROC_GETCONFIG            __DIOTF(_DCMD_SYSLINK_MULTIPROC,\
+                                            1,\
+                                            MultiProcDrv_CmdArgs)
+
 #if defined (__cplusplus)
 }
 #endif
index fbdd3c37519133808f1479aebe531ee670fe3db7..359604d64cb09d9286b1aa4a6c89d85effa6f3e1 100644 (file)
@@ -68,6 +68,7 @@
 #include "HwSpinLockCmdBase.h"
 #include "NameServerDrvDefs.h"
 #include "MessageQDrvDefs.h"
+#include "MultiProcDrvDefs.h"
 #include <ti/syslink/build/Qnx/resmgr/dcmd_syslink.h>
 
 #include <ti/syslink/utils/Trace.h>
@@ -80,6 +81,8 @@ extern int syslink_messageq_devctl(resmgr_context_t *ctp, io_devctl_t *msg,
                                    syslink_ocb_t *ocb);
 extern int syslink_nameserver_devctl(resmgr_context_t *ctp, io_devctl_t *msg,
                                      syslink_ocb_t * ocb);
+extern int syslink_multiproc_devctl(resmgr_context_t *ctp, io_devctl_t *msg,
+                                     syslink_ocb_t * ocb);
 
 /**
  * Handler for devctl() messages.
@@ -124,6 +127,9 @@ int syslink_devctl(resmgr_context_t *ctp, io_devctl_t *msg, syslink_ocb_t *ocb)
         case _DCMD_SYSLINK_MESSAGEQ:
             status = syslink_messageq_devctl(ctp, msg, ocb);
             break;
+        case _DCMD_SYSLINK_MULTIPROC:
+            status = syslink_multiproc_devctl(ctp, msg, ocb);
+            break;
         default:
             status = _RESMGR_ERRNO(ENOSYS);
             GT_1trace( curTrace, GT_3CLASS,
index 5af803900c59cdee1df99ec386d6a376d19a2ef0..2a1f29eeda4783770d82bd7a42d906c6c5d86fa8 100644 (file)
@@ -1,14 +1,6 @@
-/**
- *  @file   MultiProcDrvDefs.h
- *
- *  @brief      Definitions of NameServerDrv types and structures.
- *
- *
- *  @ver        02.00.00.46_alpha1
- *
- *  ============================================================================
- *
- *  Copyright (c) 2008-2009, Texas Instruments Incorporated
+/*
+ *  Copyright (c) 2008-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
  *  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.
- *  Contact information for paper mail:
- *  Texas Instruments
- *  Post Office Box 655303
- *  Dallas, Texas 75265
- *  Contact information:
- *  http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
- *  DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
- *  ============================================================================
+ */
+/*!
+ *  @file       MultiProcQDrvDefs.h
  *
+ *  @brief      Definitions of MultiProcDrv types and structures.
  */
 
 
@@ -52,9 +40,9 @@
 #define MULTIPROC_DRVDEFS_H_0xf2ba
 
 
-#include <UtilsCmdBase.h>
-#include <_MultiProc.h>
-
+#include <ti/syslink/inc/_MultiProc.h>
+#include "IpcCmdBase.h"
+#include <ti/syslink/inc/IoctlDefs.h>
 
 #if defined (__cplusplus)
 extern "C" {
@@ -75,23 +63,11 @@ extern "C" {
 #define MULTIPROC_BASE_CMD                 0x130
 
 /*!
- *  @brief  Command for MultiProc_setup
+ *  @brief  Command for MultiProc_getConfig
  */
-#define CMD_MULTIPROC_SETUP                 _IOWR(UTILSCMDBASE,\
+#define CMD_MULTIPROC_GETCONFIG             _IOWR(IPCCMDBASE,\
                                             MULTIPROC_BASE_CMD + 1u,\
                                             MultiProcDrv_CmdArgs)
-/*!
- *  @brief  Command for MultiProc_setup
- */
-#define CMD_MULTIPROC_DESTROY                 _IOWR(UTILSCMDBASE,\
-                                            MULTIPROC_BASE_CMD + 2u,\
-                                            MultiProcDrv_CmdArgs)
-/*!
- *  @brief  Command for MultiProc_destroy
- */
-#define CMD_MULTIPROC_GETCONFIG             _IOWR(UTILSCMDBASE,\
-                                            MULTIPROC_BASE_CMD + 3u,\
-                                            MultiProcDrv_CmdArgs)
 /*  ----------------------------------------------------------------------------
  *  Command arguments for MultiProc
  *  ----------------------------------------------------------------------------
@@ -104,15 +80,13 @@ typedef struct MultiProcDrv_CmdArgs {
         struct {
             MultiProc_Config * config;
         } getConfig;
-
-        struct {
-            MultiProc_Config * config;
-        } setup;
-
+        /*
+         * Technically we do not need this union but left it there for
+         * consistency and in case we need to add commands in the future.
+         */
     } args;
 
     Int32 apiStatus;
-    UInt32 pid;
 } MultiProcDrv_CmdArgs;
 
 
index 58846e8d5215dca86edbc3bdc733e192e72ead29..79890ee77cbb1454e43111135a3983fbcaf07332 100644 (file)
@@ -1,14 +1,6 @@
-/**
- *  @file   _MultiProc.h
- *
- *  @brief      header file for_MultiProc on HLOS side
- *
- *
- *  @ver        02.00.00.46_alpha1
- *
- *  ============================================================================
- *
- *  Copyright (c) 2008-2009, Texas Instruments Incorporated
+/*
+ *  Copyright (c) 2008-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
  *  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.
- *  Contact information for paper mail:
- *  Texas Instruments
- *  Post Office Box 655303
- *  Dallas, Texas 75265
- *  Contact information:
- *  http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm?
- *  DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact
- *  ============================================================================
+ */
+/** ============================================================================
+ *  @file   _MultiProc.h
  *
+ *  @brief  Header file for_MultiProc on HLOS side
+ *  ============================================================================
  */
 
 
@@ -146,6 +135,8 @@ Int MultiProc_destroy (Void);
  */
 UInt MultiProc_getSlot (UInt16 remoteProcId);
 
+/* This is exported from SystemCfg.c: */
+extern MultiProc_Config _MultiProc_cfg;
 
 #if defined (__cplusplus)
 }
similarity index 63%
rename from qnx/include/_MultiProc.h
rename to qnx/src/ipc3x_dev/ti/syslink/inc/usr/Qnx/MultiProcDrv.h
index 75a49aeeb19dff22fc5450357309479b09c41d62..c30b4169dd4061511fe2e2e8c9fbb9d83488fbef 100644 (file)
@@ -1,6 +1,16 @@
+/**
+ *  @file   MultiProcDrv.h
+ *
+ *  @brief      Declarations of OS-specific functionality for MultiProc
+ *
+ *              This file contains declarations of OS-specific functions for
+ *              MultiProc.
+ *
+ */
 /*
- *  Copyright (c) 2008-2013, Texas Instruments Incorporated
- *  All rights reserved.
+ *  ============================================================================
+ *
+ *  Copyright (c) 2013, 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.
  */
-/** ============================================================================
- *  @file   _MultiProc.h
- *
- *  @brief  Header file for_MultiProc on HLOS side
- *  ============================================================================
- */
 
-
-#ifndef _MULTIPROC_H_0XB522
-#define _MULTIPROC_H_0XB522
+#ifndef MultiProcDrv_H
+#define MultiProcDrv_H
 
 
 #if defined (__cplusplus)
@@ -46,34 +49,17 @@ extern "C" {
 #endif
 
 
-/*!
- *  @brief  Max name length for a processor name.
- */
-#define MultiProc_MAXNAMELENGTH 32
-
-/*!
- *  @brief  Max number of processors supported.
+/* =============================================================================
+ *  APIs
+ * =============================================================================
  */
-#define MultiProc_MAXPROCESSORS 10
+/* Function to invoke the APIs through ioctl. */
+Int MultiProcDrv_ioctl (UInt32 cmd, Ptr args);
 
 
-/*!
- *  @brief  Configuration structure for MultiProc module
- */
-typedef struct MultiProc_Config_tag {
-    Int32  numProcessors;
-    /*!< Max number of procs for particular system */
-    Char   nameList [MultiProc_MAXPROCESSORS][MultiProc_MAXNAMELENGTH];
-    /*!< Name List for processors in the system */
-    UInt16 id;
-    /*!< Local Proc ID. This needs to be set before calling any other APIs */
-} MultiProc_Config;
-
-/* This exported from family/<PLATFORM_DIR>/SystemCfg.c: */
-extern MultiProc_Config _MultiProc_cfg;
-
 #if defined (__cplusplus)
 }
-#endif
+#endif /* defined (__cplusplus) */
 
-#endif
+
+#endif /* MultiProcDrv_H */
\ No newline at end of file
diff --git a/qnx/src/ipc3x_dev/ti/syslink/ipc/hlos/knl/Qnx/multiproc_devctl.c b/qnx/src/ipc3x_dev/ti/syslink/ipc/hlos/knl/Qnx/multiproc_devctl.c
new file mode 100644 (file)
index 0000000..7e65e2a
--- /dev/null
@@ -0,0 +1,113 @@
+/*
+ *  @file   multiproc_devctl.c
+ *
+ *  @brief      OS-specific implementation of MultiProc driver for Qnx
+ *
+ *
+ *  ============================================================================
+ *
+ *  Copyright (c) 2013, Texas Instruments Incorporated
+ *
+ *  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.
+ */
+
+
+/* Standard headers */
+#include <ti/syslink/Std.h>
+
+/* QNX specific header include */
+#include <ti/syslink/build/Qnx/resmgr/proto.h>
+#include <ti/syslink/build/Qnx/resmgr/dcmd_syslink.h>
+
+/* Module specific header files */
+#include <ti/ipc/MultiProc.h>
+#include <ti/syslink/inc/MultiProcDrvDefs.h>
+
+/* Function prototypes */
+int syslink_multiproc_getconfig(resmgr_context_t *ctp, io_devctl_t *msg,
+    syslink_ocb_t *ocb);
+
+/**
+ * Handler for devctl() messages for multiproc module.
+ *
+ * Handles special devctl() messages that we export for control.
+ *
+ * \param ctp   Thread's associated context information.
+ * \param msg   The actual devctl() message.
+ * \param ocb   OCB associated with client's session.
+ *
+ * \return POSIX errno value.
+ *
+ * \retval EOK      Success.
+ * \retval ENOTSUP  Unsupported devctl().
+ */
+int syslink_multiproc_devctl(resmgr_context_t *ctp, io_devctl_t *msg,
+    syslink_ocb_t *ocb)
+{
+    switch (msg->i.dcmd) {
+        case DCMD_MULTIPROC_GETCONFIG:
+            return syslink_multiproc_getconfig( ctp, msg, ocb);
+            break;
+
+        default:
+            fprintf(stderr, "Invalid DEVCTL for multiproc 0x%x \n", msg->i.
+                dcmd);
+            break;
+    }
+
+    return (_RESMGR_PTR(ctp, &msg->o, sizeof(msg->o) +
+        sizeof(MultiProcDrv_CmdArgs)));
+}
+
+/**
+ * Handler for multiproc getconfig API.
+ *
+ * \param ctp   Thread's associated context information.
+ * \param msg   The actual devctl() message.
+ * \param ocb   OCB associated with client's session.
+ *
+ * \return POSIX errno value.
+ *
+ * \retval EOK      Success.
+ * \retval ENOTSUP  Unsupported devctl().
+ */
+int syslink_multiproc_getconfig(resmgr_context_t *ctp, io_devctl_t *msg,
+    syslink_ocb_t *ocb)
+{
+    MultiProcDrv_CmdArgs * cargs = (MultiProcDrv_CmdArgs *)
+        (_DEVCTL_DATA (msg->i));
+    MultiProc_Config local_config;
+    MultiProc_getConfig (&local_config);
+
+    cargs->apiStatus = MultiProc_S_SUCCESS;
+    SETIOV(&ctp->iov[0], &msg->o, sizeof(msg->o) +
+        sizeof(MultiProcDrv_CmdArgs));
+    SETIOV(&ctp->iov[1], &local_config, sizeof(MultiProc_Config));
+
+    return _RESMGR_NPARTS(2);
+}
diff --git a/qnx/src/ipc3x_dev/ti/syslink/ipc/hlos/usr/Qnx/MultiProcDrv.c b/qnx/src/ipc3x_dev/ti/syslink/ipc/hlos/usr/Qnx/MultiProcDrv.c
new file mode 100644 (file)
index 0000000..8f839c6
--- /dev/null
@@ -0,0 +1,129 @@
+/*
+ *  @file   MultiProcDrv.c
+ *
+ *  @brief      OS-specific implementation of MultiProc driver for Qnx
+ *
+ *
+ *  ============================================================================
+ *
+ *  Copyright (c) 2013, Texas Instruments Incorporated
+ *
+ *  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.
+ */
+
+
+/* Standard headers */
+#include <ti/syslink/Std.h>
+
+/* OSAL & Utils headers */
+#include <ti/syslink/utils/Trace.h>
+#include <ti/ipc/MultiProc.h>
+#include <ti/syslink/inc/MultiProcDrvDefs.h>
+#include <ti/syslink/build/Qnx/resmgr/dcmd_syslink.h>
+
+/* QNX specific header files */
+#include <sys/types.h>
+#include <unistd.h>
+
+/** ============================================================================
+ *  Globals
+ *  ============================================================================
+ */
+/*!
+ *  @brief  Driver handle for MultiProc in this process.
+ */
+extern Int32 IpcDrv_handle;
+
+/** ============================================================================
+ *  Functions
+ *  ============================================================================
+ */
+/*!
+ *  @brief  Function to invoke the APIs through ioctl.
+ *
+ *  @param  cmd     Command for driver ioctl
+ *  @param  args    Arguments for the ioctl command
+ *
+ *  @sa
+ */
+Int
+MultiProcDrv_ioctl (UInt32 cmd, Ptr args)
+{
+    Int status      = MultiProc_S_SUCCESS;
+    int osStatus    = -1;
+
+    GT_2trace (curTrace, GT_ENTER, "MultiProcDrv_ioctl", cmd, args);
+
+    switch (cmd) {
+          case CMD_MULTIPROC_GETCONFIG:
+          {
+              MultiProcDrv_CmdArgs *cargs = (MultiProcDrv_CmdArgs *)args;
+              iov_t mpgetconfig_iov[2];
+
+              SETIOV(&mpgetconfig_iov[0], cargs, sizeof(MultiProcDrv_CmdArgs));
+              SETIOV(&mpgetconfig_iov[1], cargs->args.getConfig.config,
+                  sizeof(MultiProc_Config));
+              osStatus = devctlv(IpcDrv_handle, DCMD_MULTIPROC_GETCONFIG, 1, 2,
+                  mpgetconfig_iov, mpgetconfig_iov, NULL);
+          }
+          break;
+
+          default:
+          {
+              /* This does not impact return status of this function, so retVal
+               * comment is not used.
+               */
+              status = MultiProc_E_INVALIDARG;
+              GT_setFailureReason (curTrace,
+                                   GT_4CLASS,
+                                   "MultiProcDrv_ioctl",
+                                   status,
+                                   "Unsupported ioctl command specified");
+          }
+          break;
+      }
+
+
+    if (osStatus != 0) {
+        /*! @retval MultiProc_E_OSFAILURE Driver ioctl failed */
+        status = MultiProc_E_OSFAILURE;
+        GT_setFailureReason (curTrace,
+                             GT_4CLASS,
+                             "MultiProcDrv_ioctl",
+                             status,
+                             "Driver ioctl failed!");
+    }
+    else {
+        /* First field in the structure is the API status. */
+        status = ((MultiProcDrv_CmdArgs *) args)->apiStatus;
+    }
+
+    GT_1trace (curTrace, GT_LEAVE, "MultiProcDrv_ioctl", status);
+
+    return status;
+}
index 320ef23e99695a1a71635aa577cdd7b5b7186f97..81447e32c17d42ac70301695c2b0481852faddf4 100644 (file)
@@ -195,15 +195,18 @@ int main (int argc, char ** argv)
                    NUM_LOOPS_DFLT, PROC_ID_DFLT);
            exit(0);
     }
-    if (procId >= MultiProc_getNumProcessors()) {
-        printf("ProcId must be less than %d\n", MultiProc_getNumProcessors());
-        exit(0);
-    }
-    printf("Using numLoops: %d; procId : %d\n", numLoops, procId);
 
     status = Ipc_start();
 
     if (status >= 0) {
+        if (procId >= MultiProc_getNumProcessors()) {
+            printf("ProcId must be less than %d\n",
+                MultiProc_getNumProcessors());
+            Ipc_stop();
+            exit(0);
+        }
+        printf("Using numLoops: %d; procId : %d\n", numLoops, procId);
+
         MessageQApp_execute(numLoops, procId);
         Ipc_stop();
     }
index 8b7a329a960863a78a2ade95385ab78c66517a88..c1f61ec72852ee3de781ce676392f847c180452e 100644 (file)
@@ -33,7 +33,6 @@ include ../../common.mk
 
 $(PROJECT_ROOT)/arm/o.g.le.v7/MessageQApp_g: $(IPC_REPO)/qnx/src/api/arm/a.g.le.v7/libipc_g.a
 $(PROJECT_ROOT)/arm/o.g.le.v7/MessageQApp_g: $(IPC_REPO)/qnx/src/utils/arm/a.g.le.v7/libutils_g.a
-$(PROJECT_ROOT)/arm/o.g.le.v7/MessageQApp_g: $(IPC_REPO)/qnx/src/family/arm/a.g.le.v7/libcfg_g.a
 $(PROJECT_ROOT)/arm/o.g.le.v7/MessageQApp_g: $(IPC_REPO)/qnx/src/ipc3x_dev/ti/syslink/build/Qnx/lib/arm/so.le.v7/libipc_clientS.a
 
 # link with syslink static library, dynamic for others
@@ -41,8 +40,6 @@ LIBPREF_ipc_g = -Bstatic
 LIBPOST_ipc_g = -Bdynamic
 LIBPREF_utils_g = -Bstatic
 LIBPOST_utils_g = -Bdynamic
-LIBPREF_cfg_g = -Bstatic
-LIBPOST_cfg_g = -Bdynamic
 LIBPREF_ipc_client = -Bstatic
 LIBPOST_ipc_client = -Bdynamic
 
@@ -51,8 +48,6 @@ EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/api/arm/a.g.le.v7
 LIBS += ipc_g
 EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/utils/arm/a.g.le.v7
 LIBS += utils_g
-EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/family/arm/a.g.le.v7
-LIBS += cfg_g
 EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/ipc3x_dev/ti/syslink/build/Qnx/lib/arm/so.le.v7
 LIBS += ipc_clientS
 
index ca1324bd1c8de9fcd314dc01167beb2ffd319512..75a3d1362a6c7a86df74691dcd93e202fe4b29de 100644 (file)
@@ -35,7 +35,6 @@ CCFLAGS += -O3
 
 $(PROJECT_ROOT)/arm/o.le.v7/MessageQApp: $(IPC_REPO)/qnx/src/api/arm/a.le.v7/libipc.a
 $(PROJECT_ROOT)/arm/o.le.v7/MessageQApp: $(IPC_REPO)/qnx/src/utils/arm/a.le.v7/libutils.a
-$(PROJECT_ROOT)/arm/o.le.v7/MessageQApp: $(IPC_REPO)/qnx/src/family/arm/a.le.v7/libcfg.a
 $(PROJECT_ROOT)/arm/o.le.v7/MessageQApp: $(IPC_REPO)/qnx/src/ipc3x_dev/ti/syslink/build/Qnx/lib/arm/so.le.v7/libipc_clientS.a
 
 # link with syslink static library, dynamic for others
@@ -43,8 +42,6 @@ LIBPREF_ipc = -Bstatic
 LIBPOST_ipc = -Bdynamic
 LIBPREF_utils = -Bstatic
 LIBPOST_utils = -Bdynamic
-LIBPREF_cfg = -Bstatic
-LIBPOST_cfg = -Bdynamic
 LIBPREF_ipc_client = -Bstatic
 LIBPOST_ipc_client = -Bdynamic
 
@@ -53,8 +50,6 @@ EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/api/arm/a.le.v7
 LIBS += ipc
 EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/utils/arm/a.le.v7
 LIBS += utils
-EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/family/arm/a.le.v7
-LIBS += cfg
 EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/ipc3x_dev/ti/syslink/build/Qnx/lib/arm/so.le.v7
 LIBS += ipc_clientS
 
index 14b28d296683389ab01bcd3777efc5c618b4e437..2ee88fc76424d14276d5fbb7c1c3f14915c7986b 100644 (file)
@@ -217,16 +217,19 @@ int main (int argc, char * argv[])
                    NUM_LOOPS_DFLT, MINPAYLOADSIZE, PROC_ID_DFLT);
         exit(0);
     }
-    if (procId >= MultiProc_getNumProcessors()) {
-        printf("ProcId must be less than %d\n", MultiProc_getNumProcessors());
-        exit(0);
-    }
-    printf("Using numLoops: %d; payloadSize: %d, procId : %d\n",
-            numLoops, payloadSize, procId);
 
     status = Ipc_start();
 
     if (status >= 0) {
+        if (procId >= MultiProc_getNumProcessors()) {
+            printf("ProcId must be less than %d\n",
+                MultiProc_getNumProcessors());
+            Ipc_stop();
+            exit(0);
+        }
+        printf("Using numLoops: %d; payloadSize: %d, procId : %d\n",
+            numLoops, payloadSize, procId);
+
         MessageQApp_execute(numLoops, payloadSize, procId);
         Ipc_stop();
     }
index 7367ac345e10e86474960cffe557f2613e8343fb..69c2458c68010db66236bf9e79c20306b8ad4ce9 100644 (file)
@@ -33,7 +33,6 @@ include ../../common.mk
 
 $(PROJECT_ROOT)/arm/o.g.le.v7/MessageQBenchApp_g: $(IPC_REPO)/qnx/src/api/arm/a.g.le.v7/libipc_g.a
 $(PROJECT_ROOT)/arm/o.g.le.v7/MessageQBenchApp_g: $(IPC_REPO)/qnx/src/utils/arm/a.g.le.v7/libutils_g.a
-$(PROJECT_ROOT)/arm/o.g.le.v7/MessageQBenchApp_g: $(IPC_REPO)/qnx/src/family/arm/a.g.le.v7/libcfg_g.a
 $(PROJECT_ROOT)/arm/o.g.le.v7/MessageQBench_g: $(IPC_REPO)/qnx/src/ipc3x_dev/ti/syslink/build/Qnx/lib/arm/so.le.v7/libipc_clientS.a
 
 # link with syslink static library, dynamic for others
@@ -41,8 +40,6 @@ LIBPREF_ipc_g = -Bstatic
 LIBPOST_ipc_g = -Bdynamic
 LIBPREF_utils_g = -Bstatic
 LIBPOST_utils_g = -Bdynamic
-LIBPREF_cfg_g = -Bstatic
-LIBPOST_cfg_g = -Bdynamic
 LIBPREF_ipc_client = -Bstatic
 LIBPOST_ipc_client = -Bdynamic
 
@@ -51,8 +48,6 @@ EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/api/arm/a.g.le.v7
 LIBS += ipc_g
 EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/utils/arm/a.g.le.v7
 LIBS += utils_g
-EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/family/arm/a.g.le.v7
-LIBS += cfg_g
 EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/ipc3x_dev/ti/syslink/build/Qnx/lib/arm/so.le.v7
 LIBS += ipc_clientS
 
index 0791f5188340b9747d9c07b718dba7af04d45d2a..525d55e9b6420bb506ab929cf389d893099d6d80 100644 (file)
@@ -35,7 +35,6 @@ CCFLAGS += -O3
 
 $(PROJECT_ROOT)/arm/o.le.v7/MessageQBench: $(IPC_REPO)/qnx/src/api/arm/a.le.v7/libipc.a
 $(PROJECT_ROOT)/arm/o.le.v7/MessageQBench: $(IPC_REPO)/qnx/src/utils/arm/a.le.v7/libutils.a
-$(PROJECT_ROOT)/arm/o.le.v7/MessageQBench: $(IPC_REPO)/qnx/src/family/arm/a.le.v7/libcfg.a
 $(PROJECT_ROOT)/arm/o.le.v7/MessageQBench: $(IPC_REPO)/qnx/src/ipc3x_dev/ti/syslink/build/Qnx/lib/arm/so.le.v7/libipc_clientS.a
 
 # link with syslink static library, dynamic for others
@@ -43,8 +42,6 @@ LIBPREF_ipc = -Bstatic
 LIBPOST_ipc = -Bdynamic
 LIBPREF_utils = -Bstatic
 LIBPOST_utils = -Bdynamic
-LIBPREF_cfg = -Bstatic
-LIBPOST_cfg = -Bdynamic
 LIBPREF_ipc_client = -Bstatic
 LIBPOST_ipc_client = -Bdynamic
 
@@ -53,8 +50,6 @@ EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/api/arm/a.le.v7
 LIBS += ipc
 EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/utils/arm/a.le.v7
 LIBS += utils
-EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/family/arm/a.le.v7
-LIBS += cfg
 EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/ipc3x_dev/ti/syslink/build/Qnx/lib/arm/so.le.v7
 LIBS += ipc_clientS
 
index 859b15a08e47bdc4f7b639bc62e7bf8622f0c832..0810e7f66c3a273274a6b29e571223f24ef09f60 100644 (file)
@@ -33,7 +33,6 @@ include ../../common.mk
 
 $(PROJECT_ROOT)/arm/o.g.le.v7/MessageQMulti_g: $(IPC_REPO)/qnx/src/api/arm/a.g.le.v7/libipc_g.a
 $(PROJECT_ROOT)/arm/o.g.le.v7/MessageQMulti_g: $(IPC_REPO)/qnx/src/utils/arm/a.g.le.v7/libutils_g.a
-$(PROJECT_ROOT)/arm/o.g.le.v7/MessageQMulti_g: $(IPC_REPO)/qnx/src/family/arm/a.g.le.v7/libcfg_g.a
 $(PROJECT_ROOT)/arm/o.g.le.v7/MessageQNulti_g: $(IPC_REPO)/qnx/src/ipc3x_dev/ti/syslink/build/Qnx/lib/arm/so.le.v7/libipc_clientS.a
 
 # link with syslink static library, dynamic for others
@@ -41,8 +40,6 @@ LIBPREF_ipc_g = -Bstatic
 LIBPOST_ipc_g = -Bdynamic
 LIBPREF_utils_g = -Bstatic
 LIBPOST_utils_g = -Bdynamic
-LIBPREF_cfg_g = -Bstatic
-LIBPOST_cfg_g = -Bdynamic
 LIBPREF_ipc_client = -Bstatic
 LIBPOST_ipc_client = -Bdynamic
 
@@ -51,8 +48,6 @@ EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/api/arm/a.g.le.v7
 LIBS += ipc_g
 EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/utils/arm/a.g.le.v7
 LIBS += utils_g
-EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/family/arm/a.g.le.v7
-LIBS += cfg_g
 EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/ipc3x_dev/ti/syslink/build/Qnx/lib/arm/so.le.v7
 LIBS += ipc_clientS
 
index e0804e2327568f1ad32544f0719ca03bd142d1c5..e07fd0f3262b7f0cdb9d5ca0a4dc425fa2f8dfb3 100644 (file)
@@ -35,7 +35,6 @@ CCFLAGS += -O3
 
 $(PROJECT_ROOT)/arm/o.le.v7/MessageQMulti: $(IPC_REPO)/qnx/src/api/arm/a.le.v7/libipc.a
 $(PROJECT_ROOT)/arm/o.le.v7/MessageQMulti: $(IPC_REPO)/qnx/src/utils/arm/a.le.v7/libutils.a
-$(PROJECT_ROOT)/arm/o.le.v7/MessageQMulti: $(IPC_REPO)/qnx/src/family/arm/a.le.v7/libcfg.a
 $(PROJECT_ROOT)/arm/o.le.v7/MessageQMulti: $(IPC_REPO)/qnx/src/ipc3x_dev/ti/syslink/build/Qnx/lib/arm/so.le.v7/libipc_clientS.a
 
 # link with syslink static library, dynamic for others
@@ -43,8 +42,6 @@ LIBPREF_ipc = -Bstatic
 LIBPOST_ipc = -Bdynamic
 LIBPREF_utils = -Bstatic
 LIBPOST_utils = -Bdynamic
-LIBPREF_cfg = -Bstatic
-LIBPOST_cfg = -Bdynamic
 LIBPREF_ipc_client = -Bstatic
 LIBPOST_ipc_client = -Bdynamic
 
@@ -53,8 +50,6 @@ EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/api/arm/a.le.v7
 LIBS += ipc
 EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/utils/arm/a.le.v7
 LIBS += utils
-EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/family/arm/a.le.v7
-LIBS += cfg
 EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/ipc3x_dev/ti/syslink/build/Qnx/lib/arm/so.le.v7
 LIBS += ipc_clientS
 
index d4187bfb0aa9456c1faff5e53920ece2ebdfb770..8a2bc64d875b2b505b08264e1ea67969cdf0a85c 100644 (file)
@@ -33,7 +33,6 @@ include ../../common.mk
 
 $(PROJECT_ROOT)/arm/o.g.le.v7/NameServerApp_g: $(IPC_REPO)/qnx/src/api/arm/a.g.le.v7/libipc_g.a
 $(PROJECT_ROOT)/arm/o.g.le.v7/NameServerApp_g: $(IPC_REPO)/qnx/src/utils/arm/a.g.le.v7/libutils_g.a
-$(PROJECT_ROOT)/arm/o.g.le.v7/NameServerApp_g: $(IPC_REPO)/qnx/src/family/arm/a.g.le.v7/libcfg_g.a
 $(PROJECT_ROOT)/arm/o.g.le.v7/NameServerApp_g: $(IPC_REPO)/qnx/src/ipc3x_dev/ti/syslink/build/Qnx/lib/arm/so.le.v7/libipc_clientS.a
 
 # link with syslink static library, dynamic for others
@@ -41,8 +40,6 @@ LIBPREF_ipc_g = -Bstatic
 LIBPOST_ipc_g = -Bdynamic
 LIBPREF_utils_g = -Bstatic
 LIBPOST_utils_g = -Bdynamic
-LIBPREF_cfg_g = -Bstatic
-LIBPOST_cfg_g = -Bdynamic
 LIBPREF_ipc_client = -Bstatic
 LIBPOST_ipc_client = -Bdynamic
 
@@ -51,8 +48,6 @@ EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/api/arm/a.g.le.v7
 LIBS += ipc_g
 EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/utils/arm/a.g.le.v7
 LIBS += utils_g
-EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/family/arm/a.g.le.v7
-LIBS += cfg_g
 EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/ipc3x_dev/ti/syslink/build/Qnx/lib/arm/so.le.v7
 LIBS += ipc_clientS
 
index 79b1dbab9d26e842d6f69c3df1072f3299f1156d..abadc6c1e5d1f1f40aeb28516dd3f8d83b1a3e98 100644 (file)
@@ -35,7 +35,6 @@ CCFLAGS += -O3
 
 $(PROJECT_ROOT)/arm/o.le.v7/NameServerApp: $(IPC_REPO)/qnx/src/api/arm/a.le.v7/libipc.a
 $(PROJECT_ROOT)/arm/o.le.v7/NameServerApp: $(IPC_REPO)/qnx/src/utils/arm/a.le.v7/libutils.a
-$(PROJECT_ROOT)/arm/o.le.v7/NameServerApp: $(IPC_REPO)/qnx/src/family/arm/a.le.v7/libcfg.a
 $(PROJECT_ROOT)/arm/o.le.v7/NameServerApp: $(IPC_REPO)/qnx/src/ipc3x_dev/ti/syslink/build/Qnx/lib/arm/so.le.v7/libipc_clientS.a
 
 # link with syslink static library, dynamic for others
@@ -43,8 +42,6 @@ LIBPREF_ipc = -Bstatic
 LIBPOST_ipc = -Bdynamic
 LIBPREF_utils = -Bstatic
 LIBPOST_utils = -Bdynamic
-LIBPREF_cfg = -Bstatic
-LIBPOST_cfg = -Bdynamic
 LIBPREF_ipc_client = -Bstatic
 LIBPOST_ipc_client = -Bdynamic
 
@@ -53,8 +50,6 @@ EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/api/arm/a.le.v7
 LIBS += ipc
 EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/utils/arm/a.le.v7
 LIBS += utils
-EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/family/arm/a.le.v7
-LIBS += cfg
 EXTRA_LIBVPATH += $(IPC_REPO)/qnx/src/ipc3x_dev/ti/syslink/build/Qnx/lib/arm/so.le.v7
 LIBS += ipc_clientS