Date: Thu, 6 Sep 2001 18:29:28 +0200 From: Arjan de Vet <devet@devet.org> To: mobile@freebsd.org Subject: Page fault in pcic_pci_attach on stable after latest pccard changes Message-ID: <20010906182928.A65327@adv.devet.org>
next in thread | raw e-mail | index | archive | help
I recently installed 4.4-RC3 on a Fujitsu S-4572 notebook without any problems. I just upgraded to a more recent -stable with the latest pccard changes and now I get a page fault during boot: Found unknown YENTA PCI-CARDBUS Bridge devid 0x69331217 pcic0: <YENTA PCI-CARDBUS Bridge> irq 9 at device 19.0 on pci0 pcic0: PCI Memory allocated: 0x44000000 Fatal trap 12: page fault while in kernel mode fault virtual address = 0x10 fault code = supervisor read, page not present instruction pointer = 0x8:0xc02077e8 stack pointer = 0x10:0xc03adeb8 frame pointer = 0x10:0xc03adee0 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 0 (swapper) interrupt mask = net tty bio cam trap number = 12 panic: page fault When disassembling at 0xc02077e8 I get: 0xc02077cc <pcic_pci_attach+604>: mov 0x8(%eax),%eax 0xc02077cf <pcic_pci_attach+607>: test $0x6,%al 0xc02077d1 <pcic_pci_attach+609>: sete %al 0xc02077d4 <pcic_pci_attach+612>: and $0xff,%eax 0xc02077d9 <pcic_pci_attach+617>: mov %eax,0x140(%edi) 0xc02077df <pcic_pci_attach+623>: mov 0x8(%ebp),%eax 0xc02077e2 <pcic_pci_attach+626>: mov %eax,0x30(%edi) 0xc02077e5 <pcic_pci_attach+629>: mov 0xfffffff4(%ebp),%edx 0xc02077e8 <pcic_pci_attach+632>: ***** mov 0x10(%edx),%eax (itm->chip?) 0xc02077eb <pcic_pci_attach+635>: mov %eax,0x148(%edi) (sc->chip?) 0xc02077f1 <pcic_pci_attach+641>: cmpl $0x2,0x8(%edi) 0xc02077f5 <pcic_pci_attach+645>: jne 0xc0207850 <pcic_pci_attach+736> 0xc02077f7 <pcic_pci_attach+647>: movl $0x0,0xfffffff8(%ebp) 0xc02077fe <pcic_pci_attach+654>: push $0x6 0xc0207800 <pcic_pci_attach+656>: push $0x1 0xc0207802 <pcic_pci_attach+658>: push $0xffffffff 0xc0207804 <pcic_pci_attach+660>: push $0x0 0xc0207806 <pcic_pci_attach+662>: lea 0xfffffff8(%ebp),%eax 0xc0207809 <pcic_pci_attach+665>: push %eax 0xc020780a <pcic_pci_attach+666>: push $0x1 0xc020780c <pcic_pci_attach+668>: mov 0x8(%ebp),%eax 0xc020780f <pcic_pci_attach+671>: push %eax 0xc0207810 <pcic_pci_attach+672>: call 0xc0168cfc <bus_alloc_resource> 0xc0207815 <pcic_pci_attach+677>: mov %eax,0xffffffec(%ebp) As far as I can see this corresponds to roughly this code fragment from sys/pccard/pcic_pci.c:1140: sc->dev = dev; sc->chip = itm->chip; if (sc->csc_route == pcic_iw_pci) { rid = 0; r = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, 0, ~0, 1, RF_ACTIVE | RF_SHAREABLE); I think 'itm->chip' causes the page fault here because itm seems to be 0. With the 4.4-RC3 kernel (boot -v) I get: Found unknown YENTA PCI-CARDBUS Bridge devid 0x69331217 pcic0: <YENTA PCI-CARDBUS Bridge> irq 9 at device 19.0 on pci0 pcic0: PCI Memory allocated: 0x44000000 pccard0: <PC Card bus (classic)> on pcic0 Found unknown YENTA PCI-CARDBUS Bridge devid 0x69331217 pcic1: <YENTA PCI-CARDBUS Bridge> irq 9 at device 19.1 on pci0 pcic1: PCI Memory allocated: 0x44001000 pccard1: <PC Card bus (classic)> on pcic1 and everything worked fine. Arjan -- Arjan de Vet, Eindhoven, The Netherlands <devet@devet.org> URL: http://www.iae.nl/users/devet/ <Arjan.deVet@adv.iae.nl> To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010906182928.A65327>