[SOLVED] Re: i386 kernel just stops booting
Karol Kwiatkowski
karol.kwiat at gmail.com
Wed Feb 28 16:46:32 UTC 2007
Karol Kwiatkowski wrote:
> Hello everyone,
>
> I'm trying to get CURRENT installed on i386 desktop machine, but kernel
> stops booting after some time [1]. No error, even with verbose logging.
> At that point keyboard does not respond so manual reset is the only
> option. Nothing is logged into dmesg or messages.
>
> [1]
[...]
> found-> vendor=0x1102, dev=0x4001, revid=0x00
> bus=2, slot=8, func=2
> class=0c-00-10, hdrtype=0x00, mfdev=1
> cmdreg=0x0116, statreg=0x0210, cachelnsz=64 (dwords)
> lattimer=0x20 (960 ns), mingnt=0x02 (500 ns), maxlat=0x04 (1000 ns)
> intpin=b, irq=5
> powerspec 2 supports D0 D1 D2 D3 current D0
> map[10]: type 1, range 32, base ff5ff800, size 11, enabled
> pcib1: requested memory range 0xff5ff800-0xff5fffff: good
> map[14]: type 1, range 32, base ff5f8000, size 14, enabled
> pcib1: requested memory range 0xff5f8000-0xff5fbfff: good
> pcib1: matched entry for 2.8.INTB (src \\_SB_.LNKB:0)
> pci_link1: Picked IRQ 17 with weight 0
> ioapic0: Changing polarity for pin 17 to high
> pcib1: slot 8 INTB routed to irq 17 via \\_SB_.LNKB
> [ here it stops responding ]
Gee, after few hours of looking at the sources (yeah, kernel internals
newbie here :) I've found that VPD scanning is the problem. Workaround
to this is to disable VPD reading by hw.pci.enable_vpd=0.
Now that I know of it, I 've found it is documented in a comment for
revision 1.339:
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/pci/pci.c
FYI, it's this code in sys/dev/pci/pci.c (rev. 1.343):
% static void
% pci_read_extcap(device_t pcib, pcicfgregs *cfg)
[...]
% case PCIY_VPD: /* PCI Vital Product Data */
% if (pci_do_vpd) {
% cfg->vpd.vpd_reg = ptr;
% pci_read_vpd(pcib, cfg);
% }
% break;
Apparently this hangs while scanning PV-BT878P+ TV card (pci2:10:0) [1].
Cheers,
Karol
[1] PixelView PlayTV Pro PV-BT878P+ rev.9D
# pciconf -vl
bktr0 at pci2:10:0: class=0x040000 card=0x00000000 chip=0x036e109e
rev=0x11 hdr=0x00
vendor = 'Conexant (Was: Brooktree Corp)'
device = 'Bt878/Fusion 878A Mediastream Controller'
class = multimedia
subclass = video
none7 at pci2:10:1: class=0x048000 card=0x00000000 chip=0x0878109e
rev=0x11 hdr=0x00
vendor = 'Conexant (Was: Brooktree Corp)'
device = 'Bt878/Fusion878A Video Capture (Audio Section)'
class = multimedia
--
Karol Kwiatkowski <karol.kwiat at gmail dot com>
OpenPGP 0x06E09309
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 250 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20070228/15a6d5e4/signature.pgp
More information about the freebsd-current
mailing list