summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2015-03-05 08:11:27 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2015-03-05 11:36:19 +0100
commit81b03c62a64cc36797be25b064674417b2479a0a (patch)
tree5941cc12aa0bc447aa8cdb4aee2e7cae54bc5a7f
parent77510c72dc2c49c2ade13caada77efb18a1adeb8 (diff)
downloadrtems-81b03c62a64cc36797be25b064674417b2479a0a.tar.bz2
score: Add and use PRIORITY_PSEUDO_ISR
-rw-r--r--cpukit/rtems/src/timerserver.c2
-rw-r--r--cpukit/score/include/rtems/score/priority.h7
-rw-r--r--cpukit/score/src/mpci.c2
3 files changed, 9 insertions, 2 deletions
diff --git a/cpukit/rtems/src/timerserver.c b/cpukit/rtems/src/timerserver.c
index ad321728f0..e4fe56f567 100644
--- a/cpukit/rtems/src/timerserver.c
+++ b/cpukit/rtems/src/timerserver.c
@@ -481,7 +481,7 @@ rtems_status_code rtems_timer_initiate_server(
if ( !_RTEMS_tasks_Priority_is_valid( priority ) ) {
if ( priority != RTEMS_TIMER_SERVER_DEFAULT_PRIORITY )
return RTEMS_INVALID_PRIORITY;
- _priority = 0;
+ _priority = PRIORITY_PSEUDO_ISR;
}
/*
diff --git a/cpukit/score/include/rtems/score/priority.h b/cpukit/score/include/rtems/score/priority.h
index f10f73130d..0a772f62a2 100644
--- a/cpukit/score/include/rtems/score/priority.h
+++ b/cpukit/score/include/rtems/score/priority.h
@@ -58,6 +58,13 @@ typedef uint32_t Priority_Control;
/** This defines the highest (most important) thread priority. */
#define PRIORITY_MINIMUM 0
+/**
+ * @brief This defines the priority of pseudo-ISR threads.
+ *
+ * Examples are the MPCI and timer server threads.
+ */
+#define PRIORITY_PSEUDO_ISR PRIORITY_MINIMUM
+
/** This defines the default lowest (least important) thread priority. */
#if defined (CPU_PRIORITY_MAXIMUM)
#define PRIORITY_DEFAULT_MAXIMUM CPU_PRIORITY_MAXIMUM
diff --git a/cpukit/score/src/mpci.c b/cpukit/score/src/mpci.c
index e8a8ba2047..a2acf89424 100644
--- a/cpukit/score/src/mpci.c
+++ b/cpukit/score/src/mpci.c
@@ -112,7 +112,7 @@ void _MPCI_Create_server( void )
CPU_MPCI_RECEIVE_SERVER_EXTRA_STACK +
_Configuration_MP_table->extra_mpci_receive_server_stack,
CPU_ALL_TASKS_ARE_FP,
- PRIORITY_MINIMUM,
+ PRIORITY_PSEUDO_ISR,
false, /* no preempt */
THREAD_CPU_BUDGET_ALGORITHM_NONE,
NULL, /* no budget algorithm callout */