aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlauber de Oliveira Costa <gcosta@redhat.com>2008-03-19 13:25:57 -0400
committerIngo Molnar <mingo@elte.hu>2008-04-17 11:41:02 -0400
commit9d97d0da71ad6c7ceb76b4e29b02bed1ee9d4cd2 (patch)
treef42192da4062c59f6e38f12439914d523b70b12e
parent7cc3959ecd830796231f50bf5e42dc018b3694f2 (diff)
x86: move stack_start to smp.h
voyager would conflict with it, but the types are ultimately compatible. So remove the extern definition from voyager_smp.c in favour of the common one Signed-off-by: Glauber Costa <gcosta@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--arch/x86/kernel/smpboot_32.c6
-rw-r--r--arch/x86/mach-voyager/voyager_smp.c7
-rw-r--r--include/asm-x86/smp.h7
3 files changed, 7 insertions, 13 deletions
diff --git a/arch/x86/kernel/smpboot_32.c b/arch/x86/kernel/smpboot_32.c
index 1eb7b73b45a3..ae25927f08c1 100644
--- a/arch/x86/kernel/smpboot_32.c
+++ b/arch/x86/kernel/smpboot_32.c
@@ -257,12 +257,6 @@ void __devinit initialize_secondary(void)
257 :"m" (current->thread.sp),"m" (current->thread.ip)); 257 :"m" (current->thread.sp),"m" (current->thread.ip));
258} 258}
259 259
260/* Static state in head.S used to set up a CPU */
261extern struct {
262 void * sp;
263 unsigned short ss;
264} stack_start;
265
266static inline void __inquire_remote_apic(int apicid) 260static inline void __inquire_remote_apic(int apicid)
267{ 261{
268 unsigned i, regs[] = { APIC_ID >> 4, APIC_LVR >> 4, APIC_SPIV >> 4 }; 262 unsigned i, regs[] = { APIC_ID >> 4, APIC_LVR >> 4, APIC_SPIV >> 4 };
diff --git a/arch/x86/mach-voyager/voyager_smp.c b/arch/x86/mach-voyager/voyager_smp.c
index 11b806c7ed94..4397235c2e30 100644
--- a/arch/x86/mach-voyager/voyager_smp.c
+++ b/arch/x86/mach-voyager/voyager_smp.c
@@ -520,13 +520,6 @@ static void __init do_boot_cpu(__u8 cpu)
520 & ~(voyager_extended_vic_processors 520 & ~(voyager_extended_vic_processors
521 & voyager_allowed_boot_processors); 521 & voyager_allowed_boot_processors);
522 522
523 /* This is an area in head.S which was used to set up the
524 * initial kernel stack. We need to alter this to give the
525 * booting CPU a new stack (taken from its idle process) */
526 extern struct {
527 __u8 *sp;
528 unsigned short ss;
529 } stack_start;
530 /* This is the format of the CPI IDT gate (in real mode) which 523 /* This is the format of the CPI IDT gate (in real mode) which
531 * we're hijacking to boot the CPU */ 524 * we're hijacking to boot the CPU */
532 union IDTFormat { 525 union IDTFormat {
diff --git a/include/asm-x86/smp.h b/include/asm-x86/smp.h
index d02e6eacee39..78ef16dd194b 100644
--- a/include/asm-x86/smp.h
+++ b/include/asm-x86/smp.h
@@ -28,6 +28,13 @@ extern const unsigned char trampoline_data [];
28extern const unsigned char trampoline_end []; 28extern const unsigned char trampoline_end [];
29extern unsigned char *trampoline_base; 29extern unsigned char *trampoline_base;
30 30
31/* Static state in head.S used to set up a CPU */
32extern struct {
33 void *sp;
34 unsigned short ss;
35} stack_start;
36
37
31struct smp_ops { 38struct smp_ops {
32 void (*smp_prepare_boot_cpu)(void); 39 void (*smp_prepare_boot_cpu)(void);
33 void (*smp_prepare_cpus)(unsigned max_cpus); 40 void (*smp_prepare_cpus)(unsigned max_cpus);