mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
7cc3959ecd
commit
9d97d0da71
|
@ -257,12 +257,6 @@ void __devinit initialize_secondary(void)
|
|||
:"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)
|
||||
{
|
||||
unsigned i, regs[] = { APIC_ID >> 4, APIC_LVR >> 4, APIC_SPIV >> 4 };
|
||||
|
|
|
@ -520,13 +520,6 @@ static void __init do_boot_cpu(__u8 cpu)
|
|||
& ~(voyager_extended_vic_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
|
||||
* we're hijacking to boot the CPU */
|
||||
union IDTFormat {
|
||||
|
|
|
@ -28,6 +28,13 @@ extern const unsigned char trampoline_data [];
|
|||
extern const unsigned char trampoline_end [];
|
||||
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 {
|
||||
void (*smp_prepare_boot_cpu)(void);
|
||||
void (*smp_prepare_cpus)(unsigned max_cpus);
|
||||
|
|
Loading…
Reference in New Issue