summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/include/rtems/rtems/smp.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-06-14 14:00:38 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-17 13:09:49 +0200
commit39e51758c86754cef5ba4521c0c36578521f73d0 (patch)
treea87255c5c0592b876106da50b939dedd471b7d5a /cpukit/rtems/include/rtems/rtems/smp.h
parentsmp: Delete RTEMS_BSP_SMP_CONTEXT_SWITCH_NECESSARY (diff)
downloadrtems-39e51758c86754cef5ba4521c0c36578521f73d0.tar.bz2
smp: Add and use _CPU_SMP_Get_current_processor()
Add and use _SMP_Get_current_processor() and rtems_smp_get_current_processor(). Delete bsp_smp_interrupt_cpu(). Change type of current processor index from int to uint32_t to match _SMP_Processor_count type.
Diffstat (limited to 'cpukit/rtems/include/rtems/rtems/smp.h')
-rw-r--r--cpukit/rtems/include/rtems/rtems/smp.h19
1 files changed, 15 insertions, 4 deletions
diff --git a/cpukit/rtems/include/rtems/rtems/smp.h b/cpukit/rtems/include/rtems/rtems/smp.h
index d8431b07f1..6e45671b32 100644
--- a/cpukit/rtems/include/rtems/rtems/smp.h
+++ b/cpukit/rtems/include/rtems/rtems/smp.h
@@ -55,14 +55,25 @@ extern "C" {
_SMP_Get_processor_count()
/**
- * @brief Obtain Current Core Number
+ * @brief Returns the index of the current processor.
*
- * This method returns the id of the current CPU core.
+ * On uni-processor configurations this is a compile time constant and defined
+ * to be zero.
+ *
+ * On SMP configurations an architecture specific method is used to obtain the
+ * index of the current processor in the system. The set of processor indices
+ * is the range of integers starting with zero up to the processor count minus
+ * one.
+ *
+ * Outside of sections with disabled thread dispatching the current processor
+ * index may change after every instruction since the thread may migrate from
+ * one processor to another. Sections with disabled interrupts are sections
+ * with thread dispatching disabled.
*
- * @retval This method returns the id of the current CPU core.
+ * @return The index of the current processor.
*/
#define rtems_smp_get_current_processor() \
- bsp_smp_processor_id()
+ _SMP_Get_current_processor()
/** @} */