summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-05-14 13:23:10 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-05-29 11:06:07 +0200
commit8cacceb7b9e789976c943339ab76317e8964b528 (patch)
tree183af8610bef3baf0325948e8a5d38bafae00002 /c/src/lib/libbsp/i386
parentsmp: Delete rtems_smp_send_message() (diff)
downloadrtems-8cacceb7b9e789976c943339ab76317e8964b528.tar.bz2
smp: Delete bsp_smp_secondary_cpu_initialize()
Do not call bsp_smp_secondary_cpu_initialize() in rtems_smp_secondary_cpu_initialize(). This allows more flexibilty in the BSP low-level code. Specify context requirements for a call to rtems_smp_secondary_cpu_initialize().
Diffstat (limited to 'c/src/lib/libbsp/i386')
-rw-r--r--c/src/lib/libbsp/i386/shared/smp/smp-imps.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/i386/shared/smp/smp-imps.c b/c/src/lib/libbsp/i386/shared/smp/smp-imps.c
index 7ea17e594d..62ce8aca27 100644
--- a/c/src/lib/libbsp/i386/shared/smp/smp-imps.c
+++ b/c/src/lib/libbsp/i386/shared/smp/smp-imps.c
@@ -199,6 +199,8 @@ unsigned char imps_apic_cpu_map[IMPS_MAX_CPUS];
/* now defined in getcpuid.c */
extern unsigned imps_lapic_addr;
+static void secondary_cpu_initialize(void);
+
/*
* MPS checksum function
*
@@ -269,7 +271,7 @@ boot_cpu(imps_processor *proc)
(size_t)_binary_appstart_bin_size
);
- reset[1] = (uint32_t)rtems_smp_secondary_cpu_initialize;
+ reset[1] = (uint32_t)secondary_cpu_initialize;
reset[2] = (uint32_t)_Per_CPU_Information[apicid].interrupt_stack_high;
/*
@@ -792,7 +794,7 @@ extern void enable_sse(void);
#endif
/* pc386 specific initialization */
-void bsp_smp_secondary_cpu_initialize(int cpu)
+static void secondary_cpu_initialize(void)
{
int apicid;
@@ -804,6 +806,8 @@ void bsp_smp_secondary_cpu_initialize(int cpu)
#ifdef __SSE__
enable_sse();
#endif
+
+ rtems_smp_secondary_cpu_initialize();
}
#include <rtems/bspsmp.h>