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@localhost:/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
Attachment:
signature.asc
Description: OpenPGP digital signature