vm_fault for pbuf on sparc64

Hidetoshi Shimokawa simokawa at sat.t.u-tokyo.ac.jp
Sun Sep 28 19:44:07 PDT 2003

I have a problem with handling of pbuf on sparc64.
My driver's strategy() routine will write pbuf by CPU rather
than DMA by the device. I confirmed that the pbuf is mapped in
pmap_qenter() but I got a vm_fault for the access to the pbuf.

pmap_qenter: sva=0xc8862000, va=0xc8864000  ### <- pbuf is mapped
bio_data=0xc8862f2c  ### <- strategy()
data=0xc8862f2c ### <- callback
panic: vm_fault: fault on nofault entry, addr: c8862000
cpuid = 0;
Stopped at      Debugger+0x1c:  ta              %xcc, 1
db> trace
panic() at panic+0x174
vm_fault() at vm_fault+0xf74
trap_pfault() at trap_pfault+0x180
trap() at trap+0x260
-- fast data access mmu miss tar=0xc8862000 %o7=0xc181b248 --
fw_rcv_copy() at fw_rcv_copy+0x12c
fw_rcv() at fw_rcv+0xc0
fwohci_arcv() at fwohci_arcv+0x414
fwohci_intr_body() at fwohci_intr_body+0x380
fwohci_complete() at fwohci_complete+0x3c
taskqueue_run() at taskqueue_run+0x70
taskqueue_swi_giant_run() at taskqueue_swi_giant_run+0x8
ithread_loop() at ithread_loop+0x1a8
fork_exit() at fork_exit+0x9c
fork_trampoline() at fork_trampoline+0x8

I'm using -current at 2003/08/22 and no problem on i386.
Do I miss someting? Any helps appreciated.

/\ Hidetoshi Shimokawa
\/  simokawa at sat.t.u-tokyo.ac.jp
PGP public key: http://www.sat.t.u-tokyo.ac.jp/~simokawa/pgp.html

More information about the freebsd-sparc64 mailing list