patch-2.4.23 linux-2.4.23/arch/i386/kernel/process.c
Next file: linux-2.4.23/arch/i386/kernel/setup.c
Previous file: linux-2.4.23/arch/i386/kernel/pci-visws.c
Back to the patch index
Back to the overall index
- Lines: 36
- Date:
2003-11-28 10:26:19.000000000 -0800
- Orig file:
linux-2.4.22/arch/i386/kernel/process.c
- Orig date:
2003-08-25 04:44:39.000000000 -0700
diff -urN linux-2.4.22/arch/i386/kernel/process.c linux-2.4.23/arch/i386/kernel/process.c
@@ -44,9 +44,11 @@
#include <asm/irq.h>
#include <asm/desc.h>
#include <asm/mmu_context.h>
+#include <asm/smpboot.h>
#ifdef CONFIG_MATH_EMULATION
#include <asm/math_emu.h>
#endif
+#include <asm/apic.h>
#include <linux/irq.h>
@@ -376,7 +378,7 @@
if its not, default to the BSP */
if ((reboot_cpu == -1) ||
(reboot_cpu > (NR_CPUS -1)) ||
- !(phys_cpu_present_map & (1<<cpuid)))
+ !(phys_cpu_present_map & apicid_to_phys_cpu_present(cpuid)))
reboot_cpu = boot_cpu_physical_apicid;
reboot_smp = 0; /* use this as a flag to only go through this once*/
@@ -399,6 +401,14 @@
* other OSs see a clean IRQ state.
*/
smp_send_stop();
+#elif CONFIG_X86_LOCAL_APIC
+ if (cpu_has_apic) {
+ __cli();
+ disable_local_APIC();
+ __sti();
+ }
+#endif
+#ifdef CONFIG_X86_IO_APIC
disable_IO_APIC();
#endif
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)