Hi Linus,
I sent this patch yesterday to linux-kernel, and as nobody answered...
I was trying to discuss it with mingo@redhat.com before, when I was tracking
problem down, but he apparently does not read this email address :-(
Could you apply this patch, either with comment, or without? Without
additional udelay(300) before first printk my GA-6VXD7 board (with
Via VT82C694X host bridge) dies in couple of spectacular ways somewhere
after first message is printed to screen, but before second one is
displayed. I asked VIA for datasheets/errata, but they did not bothered
with answer yet. But it looks like that either r-m-w in spinlock code,
or cursor postitioning code in vgacon, causes lockup. Without some HW
analyser it is hard to tell...
Thanks,
Petr Vandrovec
vandrove@vc.cvut.cz
diff -urdN linux/arch/i386/kernel/smpboot.c linux/arch/i386/kernel/smpboot.c
--- linux/arch/i386/kernel/smpboot.c Mon Dec 4 01:48:19 2000
+++ linux/arch/i386/kernel/smpboot.c Thu Dec 14 17:44:26 2000
@@ -694,9 +694,21 @@
apic_write_around(APIC_ICR, APIC_DM_STARTUP
| (start_eip >> 12));
+ /*
+ * Petr Vandrovec:
+ *
+ * We must wait for at least 200us, otherwise
+ * printk kills my VT82C694X based SMP board.
+ *
+ * 100us is not enough, 200us is enough,
+ * so I use 300us for additional safety.
+ */
+
+ udelay(300);
+
Dprintk("Startup point 1.\n");
Dprintk("Waiting for send to finish...\n");
timeout = 0;
do {
Dprintk("+");
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Fri Dec 15 2000 - 21:00:30 EST