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: Glauber Costa <gcosta@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
8d77010f8c
commit
eb44d0a2a9
1 changed files with 3 additions and 26 deletions
|
@ -61,6 +61,7 @@
|
|||
#include <asm/numa.h>
|
||||
|
||||
#include <mach_wakecpu.h>
|
||||
#include <smpboot_hooks.h>
|
||||
|
||||
/* Set when the idlers are all forked */
|
||||
int smp_threads_ready;
|
||||
|
@ -517,14 +518,7 @@ static int __cpuinit do_boot_cpu(int cpu, int apicid)
|
|||
|
||||
Dprintk("Setting warm reset code and vector.\n");
|
||||
|
||||
CMOS_WRITE(0xa, 0xf);
|
||||
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");
|
||||
|
||||
smpboot_setup_warm_reset_vector(start_rip);
|
||||
/*
|
||||
* Be paranoid about clearing APIC errors.
|
||||
*/
|
||||
|
@ -593,23 +587,6 @@ static int __cpuinit do_boot_cpu(int cpu, int apicid)
|
|||
cycles_t cacheflush_time;
|
||||
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.
|
||||
*
|
||||
|
@ -827,7 +804,7 @@ extern void smp_checks(void);
|
|||
*/
|
||||
void __init native_smp_cpus_done(unsigned int max_cpus)
|
||||
{
|
||||
smp_cleanup_boot();
|
||||
smpboot_restore_warm_reset_vector();
|
||||
|
||||
Dprintk("Boot done.\n");
|
||||
|
||||
|
|
Loading…
Reference in a new issue