2008/6/28 Andy Burns <fedora.lists(a)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?