Re: ISSUE: 2.1.65 boot hangs at "Booting processor 1"

David Woodhouse (dwmw2@cam.ac.uk)
Tue, 25 Nov 1997 01:03:32 +0000


This is a multipart MIME message.

--==_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--