From 81b03c62a64cc36797be25b064674417b2479a0a Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 5 Mar 2015 08:11:27 +0100 Subject: score: Add and use PRIORITY_PSEUDO_ISR --- cpukit/rtems/src/timerserver.c | 2 +- cpukit/score/include/rtems/score/priority.h | 7 +++++++ cpukit/score/src/mpci.c | 2 +- 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 */ -- cgit v1.2.3