--==_Exmh_17559525920
Content-Type: text/plain; charset=us-ascii
Tyan motherboards report to the operating system that there are two processors
present even when they know that there's only one. Get in touch with Tyan
technical support (techsupport@tyan.com) and ask them to fix it.
More usefully, you can fix this by compiling your kernel without __SMP__
defined. Edit the top-level Makefile and comment out the line "SMP = 1"
Before you do that though, could you try this patch and see if it fixes the
problem when it's still compiled for SMP?
On line 162 of .../arch/i386/kernel/smp.c, you should uncomment the
line which says "#define SMP_DEBUG"
--==_Exmh_17559525920
Content-Type: text/plain ; name="smp-tyan-63v-patch-1"; charset=us-ascii
Content-Description: smp-tyan-63v-patch-1
Content-Disposition: attachment; filename="smp-tyan-63v-patch-1"
--- linux/arch/i386/kernel/smp.c.tyan Thu Nov 13 13:20:08 1997
+++ linux/arch/i386/kernel/smp.c Thu Nov 13 13:57:01 1997
@@ -865,8 +865,14 @@
else
printk("Not responding.\n");
}
- }
SMP_PRINTK(("CPU has booted.\n"));
+ }
+ else
+ {
+ cpu_logical_map[cpucount] = -1;
+ cpu_number_map[i] = -1;
+ cpucount--;
+ }
swapper_pg_dir[0]=maincfg;
local_flush_tlb();
@@ -1017,9 +1023,11 @@
* Make sure we unmap all failed CPUs
*/
- if (cpu_number_map[i] == -1)
+ if (cpu_number_map[i] == -1 && (cpu_present_map & (1 << i))) {
+ printk("CPU #%d not responding. Removing from cpu_present_map.\n",i);
cpu_present_map &= ~(1 << i);
- }
+ }
+ }
/*
* Cleanup possible dangling ends...
--==_Exmh_17559525920
Content-Type: text/plain; charset=us-ascii
---- ---- ----
David Woodhouse, Robinson College, CB3 9AN, England. (+44) 0976 658355
dwmw2@cam.ac.uk http://dwmw2.robinson.cam.ac.uk
finger pgp@dwmw2.robinson.cam.ac.uk for PGP key.
--==_Exmh_17559525920--