diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-02-17 15:02:54 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2014-02-19 09:59:41 +0100 |
commit | 911b1d228bd3424a4d695f8c41d71e2341873077 (patch) | |
tree | ca507a970f584b46a9e3227726e9808f034cc30d /cpukit/score/include/rtems/score/smpimpl.h | |
parent | score: Add and use <rtems/score/smpimpl.h> (diff) | |
download | rtems-911b1d228bd3424a4d695f8c41d71e2341873077.tar.bz2 |
score: Rename rtems_smp_secondary_cpu_initialize()
Rename rtems_smp_secondary_cpu_initialize() into
_SMP_Start_multitasking_on_secondary_processor(). Move declaration to
<rtems/score/smpimpl.h>.
Diffstat (limited to 'cpukit/score/include/rtems/score/smpimpl.h')
-rw-r--r-- | cpukit/score/include/rtems/score/smpimpl.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/cpukit/score/include/rtems/score/smpimpl.h b/cpukit/score/include/rtems/score/smpimpl.h index 59f2b10b67..dc51cdf2ef 100644 --- a/cpukit/score/include/rtems/score/smpimpl.h +++ b/cpukit/score/include/rtems/score/smpimpl.h @@ -63,6 +63,33 @@ typedef enum { #if defined( RTEMS_SMP ) /** + * @brief Performs high-level initialization of a secondary processor and runs + * the application threads. + * + * The low-level initialization code must call this function to hand over the + * control of this processor to RTEMS. Interrupts must be disabled. It must + * be possible to send inter-processor interrupts to this processor. Since + * interrupts are disabled the inter-processor interrupt delivery is postponed + * until interrupts are enabled the first time. Interrupts are enabled during + * the execution begin of threads in case they have interrupt level zero (this + * is the default). + * + * The pre-requisites for the call to this function are + * - disabled interrupts, + * - delivery of inter-processor interrupts is possible, + * - a valid stack pointer and enough stack space, + * - a valid code memory, and + * - a valid BSS section. + * + * This function must not be called by the main processor. The main processor + * uses _Thread_Start_multitasking() instead. + * + * This function does not return to the caller. + */ +void _SMP_Start_multitasking_on_secondary_processor( void ) + RTEMS_COMPILER_NO_RETURN_ATTRIBUTE; + +/** * @brief Sends a SMP message to a processor. * * The target processor may be the sending processor. |