PCI rerouting

John Baldwin jhb at FreeBSD.org
Fri Jan 16 14:33:18 PST 2004

On Friday 16 January 2004 03:25 pm, Bjoern A. Zeeb wrote:
> Hi,
> back last year I had trouble with some PCI rerouting:
> http://lists.freebsd.org/pipermail/freebsd-current/2003-July/thread.html#71
> Noriyoshi Kawano came up with the attached patch but it hadn't been
> committed because it was unknown why a kernel panic happens at boot
> time.
> Today I rebuilt a kernel from HEAD and still had trouble so the
> tunable saved my weekend.
> Can we somehow get this debugged and sorted out ?

You need to do a gdb listing of the actual faulting IP address printed out in
the panic messages (part after colon of instruction pointer line).  Ah, I
think I know what is happening perhaps.  Your BIOS might be broken when we try
to route an interrupt.  Have you tried enabling ACPI?  The panic you are
getting I think comes from not having a valid curpcb yet, but that seems odd.

Ah, we never set it for proc0 during boot.  Try this patch:

Index: machdep.c
RCS file: /usr/cvs/src/sys/i386/i386/machdep.c,v
retrieving revision 1.585
diff -u -r1.585 machdep.c
--- machdep.c	3 Jan 2004 02:02:24 -0000	1.585
+++ machdep.c	16 Jan 2004 22:19:25 -0000
@@ -2010,6 +2010,7 @@
 	pcpu_init(pc, 0, sizeof(struct pcpu));
 	PCPU_SET(prvspace, pc);
 	PCPU_SET(curthread, &thread0);
+	PCPU_SET(curpcb, thread0.td_pcb);
 	 * Initialize mutexes.

John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org

More information about the freebsd-current mailing list