Subject: crash in event_set_handler() when loading LKM
To: None <port-xen@netbsd.org>
From: Jeff Rizzo <riz@tastylime.net>
List: port-xen
Date: 11/09/2005 14:04:56
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig8F16616861F8D2A739F9B85B
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
As I mentioned in my previous email, I'm working on getting a PCI device
(in this case, a one-port FXO board for use with Asterisk) working in a
domU. When I load the LKM with the driver, however, I get a crash (see
below for full kernel messages) in event_set_handler(). The kernel
config is fairly straightforward, just XENU plus 'pci* at hypervisor?
bus ? .
I've enabled some debugging I found in sys/arch/xen/xen/evtchn.c , to
enable IRQ_DEBUG and print out some stuff that was #if 0 out, and I see
one line that seems interesting:
event_set_handler evtch 7 handler 0xc03eae09 level -900537888 evname irq27
The 'level' in question gets assigned to ih->ih_level, but I'm not sure
what a sane value for it should be... I'll keep looking into this, but
does anyone have any enlightening information for me? This is my first
foray into the guts of a Xen kernel...
Here's the crash:
wcfxo_match
FXO device: vendor=e159 product=1 subvendor=8086
wcfxo0 at pci0 dev 2 function 0: Generic X100P Clone
zaptel at wcfxo0 not configured
pirq 27 evtchn 6
event_set_handler IRQ 7 handler 0xc03eae09
event_set_handler evtch 7 handler 0xc03eae09 level -900537888 evname irq27
uvm_fault(0xc04cd860, 0xe9966000, 0, 1) -> 0xe
kernel: page fault trap, code=0
Stopped in pid 71.1 (modload) at netbsd:event_set_handler+0xd6:
cmpl $
0,0xbc(%edx,%eax,4)
event_set_handler(7,c03eae09,c093b940,ca52e1e0,caa078fc) at
netbsd:event_set_han
dler+0xd6
pirq_establish(1b,7,c0941000,1b,ca52e1e0) at netbsd:pirq_establish+0x7c
pci_intr_establish(c04aab60,1b,7,ca52e1e0,c0941000) at
netbsd:pci_intr_establish
+0x29
wcfxo_generate_description(c0846800,c0941000,caa07ad4,caa07ad4,1) at
/lkmtemp/:w
cfxo_generate_description+0x2d4
config_attach_loc(c0846800,ca52f83c,caa07a94,caa07ad4,c03f9cb3) at
netbsd:config
_attach_loc+0x439
config_found_sm_loc(c0846800,c0495160,caa07a94,caa07ad4,c03f9cb3) at
netbsd:conf
ig_found_sm_loc+0x40
pci_probe_device(c0846800,201,0,0,31) at netbsd:pci_probe_device+0x294
xen_pci_enumerate_bus(c0846800,ca52f800,0,0,c043979b) at
netbsd:xen_pci_enumerat
e_bus+0x1b7
pcirescan(c0846800,ca52f356,ca52f800,c04f2e80,ca52f820) at
netbsd:pcirescan+0x88
rescan_with_cfdata(ca52f820,c04aab60,0,0,ca52f7e0) at
netbsd:rescan_with_cfdata+
0x6d
config_cfdata_attach(ca52f820,1,c07dc500,c0305896,ca52ef52) at
netbsd:config_cfd
ata_attach+0x61
drvlkm_load(ca52f858,ca52ef38,ca52f820,ca52f35a,0) at
netbsd:drvlkm_load+0x21f
_lkm_drv(c0937380,1,c0927600,c08cea58,0) at netbsd:_lkm_drv+0x67
lkmdispatch(c0937380,1,caa07cdc,c03054f6,0) at netbsd:lkmdispatch+0xf4
mod_wcfxo_lkmentry(c0937380,1,2,0,80044b03) at
/lkmtemp/:mod_wcfxo_lkmentry+0x37
lkmioctl(1c00,80044b03,caa07e74,3,ca9ec4d0) at netbsd:lkmioctl+0x64b
spec_ioctl(caa07d44,0,caa07d5c,c03f869f,c047fd80) at netbsd:spec_ioctl+0xb9
VOP_IOCTL(ca5486a0,80044b03,caa07e74,3,c9be024c) at netbsd:VOP_IOCTL+0x4f
vn_ioctl(c9bf4968,80044b03,caa07e74,ca9ec4d0,c082f958) at
netbsd:vn_ioctl+0x1e6
sys_ioctl(c9bebbdc,caa07f64,caa07f5c,caa07f60,c03e5333) at
netbsd:sys_ioctl+0x32
6
syscall_plain() at netbsd:syscall_plain+0x13b
--- syscall (number 54) ---
0xbdbc894f:
ds 0x11
es 0x11
fs 0x31
gs 0x11
edi 0xc0941000
esi 0xc04aab60 M_DEVBUF
ebp 0xcaa078cc
ebx 0xc04d6280 buf.0+0x21e00
edx 0xc04adf20 cpu_info_primary
ecx 0
eax 0xca52e1e0 wcfxo_generate_description+0x5e4
eip 0xc03eaf28 event_set_handler+0xd6
cs 0x9
eflags 0x10286
esp 0xcaa078b4
ss 0x11
netbsd:event_set_handler+0xd6: cmpl $0,0xbc(%edx,%eax,4)
Stopped in pid 71.1 (modload) at netbsd:event_set_handler+0xd6:
cmpl $
0,0xbc(%edx,%eax,4)
db>
...and here's dmesg:
NetBSD 3.0_BETA (XENU_ASTERISK) #3: Wed Nov 9 13:02:44 PST 2005
riz@xenmaster.york.redcrowgroup.com:/usr/releng/buildobj3/usr/releng/src
3/sys/arch/i386/compile/XENU_ASTERISK
total memory = 123 MB
avail memory = 120 MB
mainbus0 (root)
cpu0 at mainbus0: (uniprocessor)
cpu0: Intel Pentium III (686-class), 996.89 MHz, id 0x686
cpu0: features 387fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features 387fbff<PGE,MCA,CMOV,PAT,PSE36,PN,MMX>
cpu0: features 387fbff<FXSR,SSE>
cpu0: I-cache 16 KB 32B/line 4-way, D-cache 16 KB 32B/line 4-way
cpu0: L2 cache 256 KB 32B/line 8-way
cpu0: ITLB 32 4 KB entries 4-way, 2 4 MB entries fully associative
cpu0: DTLB 64 4 KB entries 4-way, 8 4 MB entries 4-way
cpu0: serial number 0000-0686-0002-B46C-13CE-B391
cpu0: 8 page colors
hypervisor0 at mainbus0
debug virtual interrupt using event channel 2
event_set_handler IRQ 2 handler 0xc03eb2d3
event_set_handler evtch 2 handler 0xc03eb2d3 level 14 evname debugev
misdirect virtual interrupt using event channel 0
event_set_handler IRQ 0 handler 0xc03eb3fa
event_set_handler evtch 0 handler 0xc03eb3fa level 15 evname misdirev
Domain controller: using event channel 1
event_set_handler IRQ 1 handler 0xc03eb813
event_set_handler evtch 1 handler 0xc03eb813 level 11 evname ctrlev
xencons0 at hypervisor0: Xen Virtual Console Driver
xencons0: console major 143, unit 0
Initialising Xen virtual ethernet frontend driver.
npx0 at hypervisor0: using exception 16
PCI_PROBE_ROOT_BUSES: 0x2 0x0 0x0 0x0 0x0 0x0 0x0 0x0
pci0 at hypervisor0 bus 1
pci0: i/o space, memory space enabled
vendor 0xe159 product 0x0001 (miscellaneous communications) at pci0 dev
2 functi
on 0 not configured
Xen clock: using event channel 3
event_set_handler IRQ 3 handler 0xc03ea2d8
event_set_handler evtch 3 handler 0xc03ea2d8 level 11 evname clock
raidattach: Asked for 8 units
Kernelized RAIDframe activated
crypto: assign driver 0, flags 2
crypto: driver 0 registers alg 1 flags 0 maxoplen 0
crypto: driver 0 registers alg 2 flags 0 maxoplen 0
crypto: driver 0 registers alg 3 flags 0 maxoplen 0
crypto: driver 0 registers alg 4 flags 0 maxoplen 0
crypto: driver 0 registers alg 5 flags 0 maxoplen 0
crypto: driver 0 registers alg 17 flags 0 maxoplen 0
crypto: driver 0 registers alg 6 flags 0 maxoplen 0
crypto: driver 0 registers alg 7 flags 0 maxoplen 0
crypto: driver 0 registers alg 15 flags 0 maxoplen 0
crypto: driver 0 registers alg 8 flags 0 maxoplen 0
crypto: driver 0 registers alg 16 flags 0 maxoplen 0
crypto: driver 0 registers alg 9 flags 0 maxoplen 0
crypto: driver 0 registers alg 10 flags 0 maxoplen 0
crypto: driver 0 registers alg 13 flags 0 maxoplen 0
crypto: driver 0 registers alg 14 flags 0 maxoplen 0
crypto: driver 0 registers alg 11 flags 0 maxoplen 0
crypto: driver 0 registers alg 18 flags 0 maxoplen 0
xennet0 at hypervisor0: Xen Virtual Network Interface
xennet0: using event channel 4
event_set_handler IRQ 4 handler 0xc03f5a26
event_set_handler evtch 4 handler 0xc03f5a26 level 5 evname xennet0
xennet0: MAC address aa:00:00:33:54:33
xbd: using event channel 5
event_set_handler IRQ 5 handler 0xc03f90d9
event_set_handler evtch 5 handler 0xc03f90d9 level 4 evname xbd
xbd0 at hypervisor0: Xen Virtual Block Device 1024 MB
Searching for RAID components...
boot device: xbd0
root on xbd0a dumps on xbd0b
mountroot: trying smbfs...
mountroot: trying coda...
mountroot: trying msdos...
mountroot: trying cd9660...
mountroot: trying ntfs...
mountroot: trying nfs...
mountroot: trying lfs...
mountroot: trying ext2fs...
mountroot: trying ffs...
root file system type: ffs
init: copying out path `/sbin/init' 11
zt_sysctl_init: added sysctl node 1063
zt_sysctl_init: added sysctl node 1064
zt_sysctl_init: added sysctl node 1065
zt_sysctl_init: added sysctl node 1066
zt_sysctl_init: added sysctl node 1067
zt_sysctl_init: added sysctl node 1068
zt_sysctl_init: added sysctl node 1069
Zapata Telephony Interface Registered on major 196
mag 0 7c:1
mag 1 7d:2
mag 2 7b:3
mag 3 0:7f
wcfxo_match
FXO device: vendor=e159 product=1 subvendor=8086
wcfxo0 at pci0 dev 2 function 0: Generic X100P Clone
zaptel at wcfxo0 not configured
pirq 27 evtchn 6
event_set_handler IRQ 7 handler 0xc03eae09
event_set_handler evtch 7 handler 0xc03eae09 level -900537888 evname irq27
uvm_fault(0xc04cd860, 0xe9966000, 0, 1) -> 0xe
--------------enig8F16616861F8D2A739F9B85B
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Darwin)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iQCVAwUBQ3JyiLOuUtxCgar5AQPVZQP+IwHvAUHZjI9GpF1lRKP6gLrsh43N0qL4
jjDlqoMxaq7cbj5vBEtoi3XPBMXZNO+tw3RleTL/R5MZaf5U1bLziavoId52Ce/P
ZfwuWTYEiXGxVvPjr/hRA0odFcRb2kMIj+3W0C8R2ct5cGOW8z/9R9II0E8G251O
U4Uq9Ht8JDg=
=pyj5
-----END PGP SIGNATURE-----
--------------enig8F16616861F8D2A739F9B85B--