Commit 9d97d0da authored by Glauber de Oliveira Costa's avatar Glauber de Oliveira Costa Committed by Ingo Molnar

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: default avatarGlauber Costa <gcosta@redhat.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 7cc3959e
...@@ -257,12 +257,6 @@ void __devinit initialize_secondary(void) ...@@ -257,12 +257,6 @@ void __devinit initialize_secondary(void)
:"m" (current->thread.sp),"m" (current->thread.ip)); :"m" (current->thread.sp),"m" (current->thread.ip));
} }
/* Static state in head.S used to set up a CPU */
extern struct {
void * sp;
unsigned short ss;
} stack_start;
static inline void __inquire_remote_apic(int apicid) static inline void __inquire_remote_apic(int apicid)
{ {
unsigned i, regs[] = { APIC_ID >> 4, APIC_LVR >> 4, APIC_SPIV >> 4 }; unsigned i, regs[] = { APIC_ID >> 4, APIC_LVR >> 4, APIC_SPIV >> 4 };
......
...@@ -520,13 +520,6 @@ static void __init do_boot_cpu(__u8 cpu) ...@@ -520,13 +520,6 @@ static void __init do_boot_cpu(__u8 cpu)
& ~(voyager_extended_vic_processors & ~(voyager_extended_vic_processors
& voyager_allowed_boot_processors); & voyager_allowed_boot_processors);
/* This is an area in head.S which was used to set up the
* initial kernel stack. We need to alter this to give the
* booting CPU a new stack (taken from its idle process) */
extern struct {
__u8 *sp;
unsigned short ss;
} stack_start;
/* This is the format of the CPI IDT gate (in real mode) which /* This is the format of the CPI IDT gate (in real mode) which
* we're hijacking to boot the CPU */ * we're hijacking to boot the CPU */
union IDTFormat { union IDTFormat {
......
...@@ -28,6 +28,13 @@ extern const unsigned char trampoline_data []; ...@@ -28,6 +28,13 @@ extern const unsigned char trampoline_data [];
extern const unsigned char trampoline_end []; extern const unsigned char trampoline_end [];
extern unsigned char *trampoline_base; extern unsigned char *trampoline_base;
/* Static state in head.S used to set up a CPU */
extern struct {
void *sp;
unsigned short ss;
} stack_start;
struct smp_ops { struct smp_ops {
void (*smp_prepare_boot_cpu)(void); void (*smp_prepare_boot_cpu)(void);
void (*smp_prepare_cpus)(unsigned max_cpus); void (*smp_prepare_cpus)(unsigned max_cpus);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment