vm_fault when accessing PCI address space

Damjan Marion damjan.marion at gmail.com
Fri May 20 23:34:08 UTC 2011


Hi,

I'm made some progress on porting existing marvell orion ARM code 
to work on 88F5181L SoC which have embedded PCI controller.

PCI driver detects resources and recognizes Atheros wlan card, 
however when driver tries to access 1st register with
bus_space_write_4 vm_fault happens:

vm_fault(0xc0e4f000, e8007000, 2, 0) -> 1
Fatal kernel mode data abort: 'Translation Fault (S)'
trapframe: 0xc0d3faa4
FSR=00000005, FAR=e800704c, spsr=600000d3
r0 =00000000, r1 =e8000000, r2 =0000704c, r3 =00000003
r4 =c13cd000, r5 =c0c4bd60, r6 =c0bece04, r7 =c12dd000
r8 =00000023, r9 =c0d074c8, r10=c0d3fba4, r11=c0d3fb00
r12=00000000, ssp=c0d3faf0, slr=c095f830, pc =c0bece04

[ thread pid 0 tid 100000 ]
Stopped at      generic_bs_w_4: str     r3, [r1, r2]

0xe8000000 is PCI mem space. I can see that PCI driver (mv_pci.c) allocates this resource:

pcib0: <Marvell Integrated PCI/PCI-E Controller> mem 0xf1030000-0xf1031fff irq 0 on fdtbus0
pci0: <PCI bus> on pcib0
mv_pcib_alloc_resource: start=0xe8000000 end=0xe800ffff count=0x00010000 flags=0x00

What can be the reason for this vm_fault? 

Thanks for any hint or idea,

Damjan




More information about the freebsd-arm mailing list