Lines 556-561
Link Here
|
556 |
|
556 |
|
557 |
void native_machine_shutdown(void) |
557 |
void native_machine_shutdown(void) |
558 |
{ |
558 |
{ |
|
|
559 |
#ifdef CONFIG_SMP |
560 |
/* |
561 |
* Stop all of the others. Also disable the local irq to |
562 |
* not receive the per-cpu timer interrupt which may trigger |
563 |
* scheduler's load balance. |
564 |
*/ |
565 |
local_irq_disable(); |
566 |
stop_other_cpus(); |
567 |
#endif |
568 |
|
569 |
lapic_shutdown(); |
570 |
|
559 |
/* Stop the cpus and apics */ |
571 |
/* Stop the cpus and apics */ |
560 |
#ifdef CONFIG_X86_IO_APIC |
572 |
#ifdef CONFIG_X86_IO_APIC |
561 |
/* |
573 |
/* |
Lines 572-589
Link Here
|
572 |
disable_IO_APIC(); |
584 |
disable_IO_APIC(); |
573 |
#endif |
585 |
#endif |
574 |
|
586 |
|
575 |
#ifdef CONFIG_SMP |
|
|
576 |
/* |
577 |
* Stop all of the others. Also disable the local irq to |
578 |
* not receive the per-cpu timer interrupt which may trigger |
579 |
* scheduler's load balance. |
580 |
*/ |
581 |
local_irq_disable(); |
582 |
stop_other_cpus(); |
583 |
#endif |
584 |
|
585 |
lapic_shutdown(); |
586 |
|
587 |
#ifdef CONFIG_HPET_TIMER |
587 |
#ifdef CONFIG_HPET_TIMER |
588 |
hpet_disable(); |
588 |
hpet_disable(); |
589 |
#endif |
589 |
#endif |