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>
