summaryrefslogtreecommitdiffstats
path: root/cpukit/libnetworking
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-03-24 15:35:18 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-03-29 13:21:32 +0200
commit3bbf40550c67626a7a2cb0e4a624b0bf1214a4a9 (patch)
tree1c8e7f570ba19ea59c5e9fe4aebc20b066ae9ded /cpukit/libnetworking
parentmptests: Fix message queue configuration (diff)
downloadrtems-3bbf40550c67626a7a2cb0e4a624b0bf1214a4a9.tar.bz2
network: Special case for RTEMS_MULTIPROCESSING
Allow network tasks to run with priority 0 (PRIORITY_PSEUDO_ISR).
Diffstat (limited to 'cpukit/libnetworking')
-rw-r--r--cpukit/libnetworking/rtems/rtems_glue.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/cpukit/libnetworking/rtems/rtems_glue.c b/cpukit/libnetworking/rtems/rtems_glue.c
index 1355fbb838..5a43a729e2 100644
--- a/cpukit/libnetworking/rtems/rtems_glue.c
+++ b/cpukit/libnetworking/rtems/rtems_glue.c
@@ -284,7 +284,16 @@ rtems_bsdnet_initialize (void)
*/
if (rtems_bsdnet_config.network_task_priority == 0)
networkDaemonPriority = 100;
+#ifdef RTEMS_MULTIPROCESSING
+ /*
+ * Allow network tasks to run with priority 0 (PRIORITY_PSEUDO_ISR) using
+ * UINT32_MAX for the network task priority in the network configuration.
+ * This enables MPCI via a TCP/IP network.
+ */
+ else if (rtems_bsdnet_config.network_task_priority != UINT32_MAX)
+#else
else
+#endif
networkDaemonPriority = rtems_bsdnet_config.network_task_priority;
/*
@@ -694,6 +703,9 @@ rtems_bsdnet_newproc (char *name, int stacksize, void(*entry)(void *), void *arg
networkDaemonPriority,
stacksize,
RTEMS_PREEMPT|RTEMS_NO_TIMESLICE|RTEMS_NO_ASR|RTEMS_INTERRUPT_LEVEL(0),
+#ifdef RTEMS_MULTIPROCESSING
+ RTEMS_SYSTEM_TASK |
+#endif
RTEMS_NO_FLOATING_POINT|RTEMS_LOCAL,
&tid);
if (sc != RTEMS_SUCCESSFUL)