I have an F8 dom0 (which could become a CentOS 5.2 dom0 if that would make anything easier) I'd like an F9 domU to have access to a PCI DVB tuner for a mythtv backend.
I understand that I need to add "pciback.hide=(XX:YY.Z)" and possibly "pciback.permissive" to grub.conf for the dom0
How should I add the details of the corresponding "pci = ['XX:YY.Z']" to the domU config?
I've looked in the documentation of the XML format at http://libvirt.org/formatdomain.html but can't see relevant tags.
2008/6/27 Andy Burns fedora.lists@burns.me.uk:
I have an F8 dom0 (which could become a CentOS 5.2 dom0 if that would make anything easier) I'd like an F9 domU to have access to a PCI DVB tuner for a mythtv backend.
OK, I've re-read some old threads that I'd forgotten about, and realised F9 hasn't got pci passthrough support.
So to change plan, will either F8 or CentOS5.2 domU's support pci passthrough, on top of either F8 or CentOS5.2 dom0? Since this is a home machine I'm inclined to stay on Fedora rather than shift it to CentOS is possible, otherwise I don't get to play with new features.
I really hope Xen options are less restricted again for F10, I don't intend this to sound like like a whine, I know people are working hard on paravirt_ops, it's just that losing options is always hard to swallow.
2008/6/28 Andy Burns fedora.lists@burns.me.uk:
to change plan, will either F8 or CentOS5.2 domU's support pci passthrough, on top of either F8 or CentOS5.2 dom0?
I've kept F8 as dom0 and now using CentOS5.2 as domU
I've added pciback.hide=(08.01.0) to grub.conf for dom0
but it seems that pciback options are not understood at boot time (due to it being a module?)
I'm aware I may be able to handle preventing dom0 handling the device better in the long term with /etc/modprobe.conf, but for now I'm running a little script in dom0
rmmod saa7134 modprobe pciback SLOT=0000:08:01.0 echo -n $SLOT > /sys/bus/pci/drivers/pciback/new_slot echo -n $SLOT > /sys/bus/pci/drivers/pciback/bind
I've created a new domU using the centosplus kernel to get extra V4L drivers with the following /etc/xen/ style config file
memory = 1024 name = "mythbe" vif = [ 'mac=00:16:3E:76:E8:92, bridge=eth0' ] disk = [ 'phy:/dev/vgr1/lvmythroot,xvda,w' ] pci = ['08:01.0'] bootloader = "/usr/bin/pygrub" vcpus = 1 on_reboot = 'restart' on_crash = 'restart'
The domU starts OK, and the pci device is present
# lspci -v 00:00.0 Multimedia controller: Philips Semiconductors SAA7130 Video Broadcast Decoder (rev 01) Subsystem: Compro Technology, Inc. Videomate DVB-T200 Flags: bus master, medium devsel, latency 64, IRQ 17 Memory at febffc00 (32-bit, non-prefetchable) [size=1K] Capabilities: [40] Power Management version 1
I assume it is normal that the bus/slot/function numbers are not the same in domU as in dom0?
I can load the driver for the card in the domU
# lsmod | grep saa saa7134 159017 0 video_buf 59717 1 saa7134 compat_ioctl32 41793 1 saa7134 ir_kbd_i2c 42961 1 saa7134 i2c_core 56129 2 saa7134,ir_kbd_i2c ir_common 63173 2 saa7134,ir_kbd_i2c videodev 58049 1 saa7134 v4l1_compat 44613 2 saa7134,videodev v4l2_common 57153 3 saa7134,compat_ioctl32,videodev
However, I am seeing an error in dmesg of domU
# dmesg | grep saa saa7130/34: v4l2 driver version 0.2.14 loaded saa7130[0]: found at 0000:00:00.0, rev: 1, irq: 17, latency: 64, mmio: 0xfebffc00 saa7130[0]: subsystem: 185b:c901, board: Compro Videomate DVB-T200 [card=71,autodetected] saa7130[0]: can't ioremap() MMIO memory saa7134: probe of 0000:00:00.0 failed with error -5
Any suggestions?
xen@lists.stg.fedoraproject.org