lists@higgers.me.uk
2007-Sep-25 16:45 UTC
[Xen-users] Kernel BUG: DMA error when using PCI card passed through to DomU
Hello all, I have recently built a Dom0 with a Supermicro C2BSA motherboard (Intel G33 chipset) + Q6600 CPU using OpenSUSE 10.2 (Xen 3.03). I am trying to build a mythtv server DomU by passing a Hauppauge WinTV Nova-T DVB card to the DomU. However, when I try and scan for DVB channels in the DomU I get the following error: mythtvdev:~ # ./dscan scanning /usr/share/dvb/scan/dvb-t/uk-WinterHill using ''/dev/dvb/adapter0/frontend0'' and ''/dev/dvb/adapter0/demux0'' initial transponder 754166670 0 3 9 1 0 0 0>>> tune to: >>> 754166670:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_AUTO:QAM_16:TRANSMISSION_MODE_2K:GUARD_INTERVAL_1_32:HIERARCHY_NONE----------- [cut here ] --------- [please bite here ] --------- Kernel BUG at arch/x86_64/kernel/../../i386/kernel/pci-dma-xen.c:76 invalid opcode: 0000 [1] SMP last sysfs file: /block/hda/dev CPU 0 Modules linked in: joydev sg st sd_mod sr_mod scsi_mod ide_cd cdrom ide_core ipv6 nfs lockd nfs_acl sunrpc af_packet loop dm_mod cx88_blackbird cx2341x cx88_dvb cx8800 cx8802 cx88xx cx88_vp3054_i2c mt352 dvb_pll or51132 video_buf_dvb ir_common dvb_core i2c_algo_bit video_buf nxt200x firmware_class tveeprom compat_ioctl32 isl6421 btcx_risc zl10353 videodev cx24123 lgdt330x v4l1_compat cx22702 v4l2_common i2c_core ext3 mbcache jbd xenblk xennet Pid: 5106, comm: cx88[0] dvb Tainted: G U 2.6.18.8-0.5-xen #1 RIP: e030:[<ffffffff8026b8bc>] [<ffffffff8026b8bc>] dma_map_sg+0x126/0x14f RSP: e02b:ffff88004d4dfe20 EFLAGS: 00010286 RAX: 000000000000002f RBX: ffff8800552293e0 RCX: ffffffff80496588 RDX: ffffffffff5f9000 RSI: 0000000000000001 RDI: 0000000000000000 RBP: ffff880055229380 R08: ffffffff80496588 R09: ffff8800638482b0 R10: 00000000000015d4 R11: 0000000000000000 R12: 0000000000000006 R13: 0000000000000002 R14: ffff8800005fe870 R15: 0000000000000003 FS: 00002b673c0956f0(0000) GS:ffffffff80501000(0000) knlGS:0000000000000000 CS: e033 DS: 0000 ES: 0000 Process cx88[0] dvb (pid: 5106, threadinfo ffff88004d4de000, task ffff880000761100) Stack: ffff88007fd96830 ffff88007fd96830 ffff88007fa748e0 ffff8800005fe800 ffff88007fa74800 ffff88007fa748e0 0000000000000002 ffffffff880a675b ffff88007fd96800 ffff88007fa748e0 0000000000005e00 ffffffff88102865 Call Trace: [<ffffffff880a675b>] :video_buf:videobuf_dma_map+0x115/0x159 [<ffffffff88102865>] :cx8802:cx8802_buf_prepare+0x9e/0xe4 [<ffffffff8028f929>] keventd_create_kthread+0x0/0x61 [<ffffffff880a5d70>] :video_buf:videobuf_read_start+0xac/0x146 [<ffffffff880d734b>] :video_buf_dvb:videobuf_dvb_thread+0x2a/0x142 [<ffffffff880d7321>] :video_buf_dvb:videobuf_dvb_thread+0x0/0x142 [<ffffffff80232349>] kthread+0xd4/0x107 [<ffffffff8025b714>] child_rip+0xa/0x12 [<ffffffff8028f929>] keventd_create_kthread+0x0/0x61 [<ffffffff80232275>] kthread+0x0/0x107 [<ffffffff8025b70a>] child_rip+0x0/0x12 Code: 0f 0b 68 27 3c 3f 80 c2 4c 00 41 ff c7 48 83 c3 20 45 39 e7 RIP [<ffffffff8026b8bc>] dma_map_sg+0x126/0x14f RSP <ffff88004d4dfe20> Does anyone have any idea what''s causing this or what I can do to fix it? I''ve looked at line 76 of arch/x86_64/kernel/../../i386/kernel/pci-dma-xen.c and saw a reference to swiotlb. I tried forcing swiotlb on using swiotlb=force on the Dom0 but this had no effect. From what I can tell swiotlb may be forced on for all x86 architectures anyway, maybe. I''m not entirely sure. I''ve also tried assign 1 or 2 CPUs to the guest and trying with either 1GB or 2GB of RAM for the guest which made no difference. Does anyone have any suggestions for how I can fix this problem? Thanks, Steve. _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users