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

x86: include smpboot_hooks.h in smpboot_64.c

We do it and also fix conflicts, which makes x86_64 automatically
closer to i386
Signed-off-by: default avatarGlauber Costa <gcosta@redhat.com>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent 8d77010f
...@@ -61,6 +61,7 @@ ...@@ -61,6 +61,7 @@
#include <asm/numa.h> #include <asm/numa.h>
#include <mach_wakecpu.h> #include <mach_wakecpu.h>
#include <smpboot_hooks.h>
/* Set when the idlers are all forked */ /* Set when the idlers are all forked */
int smp_threads_ready; int smp_threads_ready;
...@@ -517,14 +518,7 @@ static int __cpuinit do_boot_cpu(int cpu, int apicid) ...@@ -517,14 +518,7 @@ static int __cpuinit do_boot_cpu(int cpu, int apicid)
Dprintk("Setting warm reset code and vector.\n"); Dprintk("Setting warm reset code and vector.\n");
CMOS_WRITE(0xa, 0xf); smpboot_setup_warm_reset_vector(start_rip);
local_flush_tlb();
Dprintk("1.\n");
*((volatile unsigned short *) phys_to_virt(0x469)) = start_rip >> 4;
Dprintk("2.\n");
*((volatile unsigned short *) phys_to_virt(0x467)) = start_rip & 0xf;
Dprintk("3.\n");
/* /*
* Be paranoid about clearing APIC errors. * Be paranoid about clearing APIC errors.
*/ */
...@@ -593,23 +587,6 @@ static int __cpuinit do_boot_cpu(int cpu, int apicid) ...@@ -593,23 +587,6 @@ static int __cpuinit do_boot_cpu(int cpu, int apicid)
cycles_t cacheflush_time; cycles_t cacheflush_time;
unsigned long cache_decay_ticks; unsigned long cache_decay_ticks;
/*
* Cleanup possible dangling ends...
*/
static __cpuinit void smp_cleanup_boot(void)
{
/*
* Paranoid: Set warm reset code and vector here back
* to default values.
*/
CMOS_WRITE(0, 0xf);
/*
* Reset trampoline flag
*/
*((volatile int *) phys_to_virt(0x467)) = 0;
}
/* /*
* Fall back to non SMP mode after errors. * Fall back to non SMP mode after errors.
* *
...@@ -827,7 +804,7 @@ extern void smp_checks(void); ...@@ -827,7 +804,7 @@ extern void smp_checks(void);
*/ */
void __init native_smp_cpus_done(unsigned int max_cpus) void __init native_smp_cpus_done(unsigned int max_cpus)
{ {
smp_cleanup_boot(); smpboot_restore_warm_reset_vector();
Dprintk("Boot done.\n"); Dprintk("Boot done.\n");
......
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