At Wed, 2 Jun 2010 15:34:16 -0500, David Young <dyoung%pobox.com@localhost> wrote: Subject: Re: pcibios(4) related crash during boot on system with General Software BIOS > > On Wed, Jun 02, 2010 at 03:52:14PM -0400, Greg A. Woods wrote: > > PCI BIOS rev. 2.1 found at 0xff686 > > pcibios: config mechanism [1][x], special cycles [x][x], last bus 3 > > uvm_fault(0xc0ab0b60, 0xf1000, 1) -> 0xe > > kernel: supervisor trap page fault, code=0 > > Stopped in pid 0.1 (swapper) at 0xc0c01617: repe movsb > > (%esi),%es:(%edi > > ) > > db{0}> trace > > _prop_array_pool(c3855a00,c0ab5924,c0ab590a,c045f945,c0a1bf6c) at 0xc0c01617 > > Maybe pcibios_pir_init() jumped through an uninitialized function > pointer, or your symtab is too small. Weird. I think you mean the symtab loaded at boot for use by ddb, right? My kernel prints the following at that time: Loaded initial symtab at 0xc0ac5270, strtab at 0xc0b31ad4, # entries 26185, NKSYMS=1 How do I tell if it's big enough or not? > > pcibios_pir_init(c09e8bc4,c0984103,c09840ff,c09840ff,c09840ff) at > > netbsd:pcibios > > _pir_init+0x163 > > What line is that? If you've compiled your kernel with debugging > symbols, then gdb can tell you, 'l *(pcibios_pir_init+0x163)'. Well, I recompiled what I believe is substantially the same sources with "-g", and pcibios.c itself has not been modified in my tree since Feb. 10, 2007, and this is what GDB says from the result: (gdb) l *(pcibios_pir_init+0x163) 0xc064ebd3 is in pcibios_pir_init (/rest/work/woods/m-NetBSD-4/sys/arch/i386/pci/pcibios.c:336). 331 sizeof(*pcibios_pir_table), M_DEVBUF, M_NOWAIT); 332 if (pcibios_pir_table == NULL) { 333 aprint_error("pcibios_pir_init: no memory for $PIR\n"); 334 return; 335 } 336 if (pcibios_get_intr_routing(pcibios_pir_table, 337 &pcibios_pir_table_nentries, 338 &pcibios_pir_header.exclusive_irq) != PCIBIOS_SUCCESS) { 339 aprint_normal("No PCI IRQ Routing information available.\n"); 340 free(pcibios_pir_table, M_DEVBUF); -- Greg A. Woods Planix, Inc. <woods%planix.com@localhost> +1 416 218 0099 http://www.planix.com/
Attachment:
pgpeEkT0DZAH7.pgp
Description: PGP signature