diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-06-14 14:00:38 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-07-17 13:09:49 +0200 |
commit | 39e51758c86754cef5ba4521c0c36578521f73d0 (patch) | |
tree | a87255c5c0592b876106da50b939dedd471b7d5a /c/src/lib/libbsp/i386/shared | |
parent | smp: Delete RTEMS_BSP_SMP_CONTEXT_SWITCH_NECESSARY (diff) | |
download | rtems-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 'c/src/lib/libbsp/i386/shared')
-rw-r--r-- | c/src/lib/libbsp/i386/shared/irq/irq_asm.S | 2 | ||||
-rw-r--r-- | c/src/lib/libbsp/i386/shared/smp/getcpuid.c | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/i386/shared/irq/irq_asm.S b/c/src/lib/libbsp/i386/shared/irq/irq_asm.S index d07ae2cb6b..2b16234622 100644 --- a/c/src/lib/libbsp/i386/shared/irq/irq_asm.S +++ b/c/src/lib/libbsp/i386/shared/irq/irq_asm.S @@ -100,7 +100,7 @@ SYM (_ISR_Handler): movl esp, ebp /* ebp = previous stack pointer */ #if defined(RTEMS_SMP) && defined(BSP_HAS_SMP) movl $SYM(_Per_CPU_Information_p), ebx - call SYM(bsp_smp_processor_id) + call SYM(_CPU_SMP_Get_current_processor) mov (ebx,eax,4), ebx pushl ecx call SYM(_ISR_SMP_Enter) diff --git a/c/src/lib/libbsp/i386/shared/smp/getcpuid.c b/c/src/lib/libbsp/i386/shared/smp/getcpuid.c index dc82d3f883..dec816698d 100644 --- a/c/src/lib/libbsp/i386/shared/smp/getcpuid.c +++ b/c/src/lib/libbsp/i386/shared/smp/getcpuid.c @@ -7,13 +7,15 @@ * http://www.rtems.com/license/LICENSE. */ +#include <rtems/score/cpu.h> + #include <bsp/apic.h> #include <bsp/smp-imps.h> static int lapic_dummy = 0; unsigned imps_lapic_addr = ((unsigned)(&lapic_dummy)) - LAPIC_ID; -int bsp_smp_processor_id(void) +uint32_t _CPU_SMP_Get_current_processor( void ) { return APIC_ID(IMPS_LAPIC_READ(LAPIC_ID)); } |