patch-2.4.10 linux/arch/i386/kernel/smpboot.c
Next file: linux/arch/i386/kernel/time.c
Previous file: linux/arch/i386/kernel/smp.c
Back to the patch index
Back to the overall index
- Lines: 48
- Date:
Mon Sep 17 23:03:09 2001
- Orig file:
v2.4.9/linux/arch/i386/kernel/smpboot.c
- Orig date:
Tue Feb 13 14:13:43 2001
diff -u --recursive --new-file v2.4.9/linux/arch/i386/kernel/smpboot.c linux/arch/i386/kernel/smpboot.c
@@ -66,7 +66,7 @@
static volatile unsigned long cpu_callout_map;
/* Per CPU bogomips and other parameters */
-struct cpuinfo_x86 cpu_data[NR_CPUS];
+struct cpuinfo_x86 cpu_data[NR_CPUS] __cacheline_aligned;
/* Set when the idlers are all forked */
int smp_threads_ready;
@@ -780,7 +780,6 @@
}
cycles_t cacheflush_time;
-extern unsigned long cpu_khz;
static void smp_tune_scheduling (void)
{
@@ -870,12 +869,15 @@
* get out of here now!
*/
if (!smp_found_config) {
- printk(KERN_NOTICE "SMP motherboard not detected. Using dummy APIC emulation.\n");
+ printk(KERN_NOTICE "SMP motherboard not detected.\n");
#ifndef CONFIG_VISWS
io_apic_irqs = 0;
#endif
cpu_online_map = phys_cpu_present_map = 1;
smp_num_cpus = 1;
+ if (APIC_init_uniprocessor())
+ printk(KERN_NOTICE "Local APIC not detected."
+ " Using dummy APIC emulation.\n");
goto smp_done;
}
@@ -1003,7 +1005,7 @@
* Here we can be sure that there is an IO-APIC in the system. Let's
* go and set it up:
*/
- if (!skip_ioapic_setup)
+ if (!skip_ioapic_setup && nr_ioapics)
setup_IO_APIC();
#endif
@@ -1021,4 +1023,3 @@
smp_done:
zap_low_mappings();
}
-
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)