diff options
author | Andrew Cooper <andrew.cooper3@citrix.com> | 2013-08-16 11:46:25 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-08-16 11:46:25 +0200 |
commit | 1e30327eeb08420e75f6296aac0625f361948028 (patch) | |
tree | 0f16035a9ef748e772518c884c10caaea62467dc /xen/arch/x86/smpboot.c | |
parent | 7b9685ca4ed2fd723600ce66eb20a6d0c115b6cb (diff) | |
download | xen-1e30327eeb08420e75f6296aac0625f361948028.tar.gz xen-1e30327eeb08420e75f6296aac0625f361948028.tar.bz2 xen-1e30327eeb08420e75f6296aac0625f361948028.zip |
x86/boot: Remove stack segment parameter from smpboot
The stack segment is legacy remnant of a 32bit hypervisor, and not used in
64bit. Furthermore, the unsigned short in the structure actually aliases
whatever the linker decides to put next in the data section.
Drop the extern struct definition and change it to a simple void pointer,
which matches its definition in arch/x86/boot/x86_64.S
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Diffstat (limited to 'xen/arch/x86/smpboot.c')
-rw-r--r-- | xen/arch/x86/smpboot.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c index 3df4e882a9..9f81c7ba62 100644 --- a/xen/arch/x86/smpboot.c +++ b/xen/arch/x86/smpboot.c @@ -393,10 +393,7 @@ void start_secondary(void *unused) startup_cpu_idle_loop(); } -extern struct { - void * esp; - unsigned short ss; -} stack_start; +extern void *stack_start; static int wakeup_secondary_cpu(int phys_apicid, unsigned long start_eip) { @@ -555,7 +552,7 @@ static int do_boot_cpu(int apicid, int cpu) printk("Booting processor %d/%d eip %lx\n", cpu, apicid, start_eip); - stack_start.esp = stack_base[cpu]; + stack_start = stack_base[cpu]; /* This grunge runs the startup process for the targeted processor. */ @@ -734,7 +731,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus) boot_cpu_physical_apicid = get_apic_id(); x86_cpu_to_apicid[0] = boot_cpu_physical_apicid; - stack_base[0] = stack_start.esp; + stack_base[0] = stack_start; if ( !zalloc_cpumask_var(&per_cpu(cpu_sibling_mask, 0)) || !zalloc_cpumask_var(&per_cpu(cpu_core_mask, 0)) ) |