lkml.org 
[lkml]   [2000]   [Dec]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] 2.4.0-test13-pre1 and booting on VIA based SMP
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/
\
 
 \ /
  Last update: 2005-03-22 13:28    [W:0.033 / U:0.152 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site