NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/38698: NMI during boot on Fujitsu-Siemens Lifebook S-4546
The following reply was made to PR kern/38698; it has been noted by GNATS.
From: gson%gson.org@localhost (Andreas Gustafsson)
To: gnats-bugs%NetBSD.org@localhost
Cc: dyoung%NetBSD.org@localhost
Subject: Re: kern/38698: NMI during boot on Fujitsu-Siemens Lifebook S-4546
Date: Tue, 20 May 2008 21:28:46 +0300
David Young wrote:
> pci_conf_write() is not in the stack trace?
That is correct. I assume this is just ddb having some kind of
issue with the callers of leaf functions. I tried building a new
kernel without optimization, but ddb is still not showing
pci_conf_write() in the backtrace.
> Please capture and send
> the entire stack trace (type 'bt' at the db{0}> prompt) if you can.
The machine lacks a serial port and it's too much text to to
transcribe by hand, but here's a pair of screenshots:
http://www.gson.org/netbsd/bugs/38698/bt1.jpg
http://www.gson.org/netbsd/bugs/38698/bt2.jpg
This is from a non-optimized kernel on a live CD, built using
mklivecd from 20080516-1010 EET kernel sources.
> Please send the dmesg you get when you apply your workaround, also.
http://www.gson.org/netbsd/bugs/38698/dmesg1.jpg
http://www.gson.org/netbsd/bugs/38698/dmesg2.jpg
http://www.gson.org/netbsd/bugs/38698/dmesg3.jpg
http://www.gson.org/netbsd/bugs/38698/dmesg4.jpg
http://www.gson.org/netbsd/bugs/38698/dmesg5.jpg
http://www.gson.org/netbsd/bugs/38698/dmesg6.jpg
http://www.gson.org/netbsd/bugs/38698/dmesg7.jpg
> Can you examine the netbsd.gdb file with gdb for me? The gdb command
> 'l *(pccbb_chipinit+0x3b5)' will tell you a line number in pccbb_chipinit.
> I would like to know that line number.
Sure. This is with the new kernel, which shows pccbb_chipinit+0xdd in
the backtrace:
(gdb) l *(pccbb_chipinit+0xdd)
0xc075373f is in pccbb_chipinit (/usr/src/sys/dev/pci/pccbb.c:767).
I believe the NMI actually occurs in the pci_conf_write call on line
759, with line 767 being the return address of the function call in
which the NMI occurs:
752 /*
x
753 * Set CardBus latency timer.
x
754 */
x
755 lscp = pci_conf_read(pc, tag, PCI_CB_LSCP_REG);
x
756 if (PCI_CB_LATENCY(lscp) < 0x20) {
x
757 lscp &= ~(PCI_CB_LATENCY_MASK <<
PCI_CB_LATENCY_SHIFT); x
758 lscp |= (0x20 << PCI_CB_LATENCY_SHIFT);
x
759 pci_conf_write(pc, tag, PCI_CB_LSCP_REG, lscp);
x
760 }
x
761 DPRINTF(("CardBus latency timer 0x%x (%x)\n",
x
762 PCI_CB_LATENCY(lscp), pci_conf_read(pc, tag,
PCI_CB_LSCP_REG))); x
763
x
764 /*
x
765 * Set PCI latency timer.
x
766 */
x
767 bhlc = pci_conf_read(pc, tag, PCI_BHLC_REG);
x
--
Andreas Gustafsson, gson%gson.org@localhost
Home |
Main Index |
Thread Index |
Old Index