I’m trying to hide a tv tuner card from domain0 using
pciback. I have two problems:
first, I can’t get the pciback feature to work
properly; and
second, I don’t know how to specify the equivalent
pci=[‘…’] domU setting in the new XML config files.
My configuration:
AMD 64
xen.gz-2.6.20-2925.11.fc7
(xen 3.1…)
vmlinuz-2.6.20-2925.11.fc7xen
I’ve followed the directions found at :
http://wiki.xensource.com/xenwiki/Assign_hardware_to_DomU_with_PCIBack_as_module?highlight=%28pciback%29
The tv tuner has no linux driver so there is no need to
unbind or add an install line to modprobe.conf. My modprobe.conf looks
like:
>>>>>>>>>>>>>>>>>
alias eth0 forcedeth
alias scsi_hostadapter sata_nv
alias scsi_hostadapter1 pata_amd
alias scsi_hostadapter2 usb-storage
alias snd-card-0 snd-hda-intel
options snd-card-0 index=0
options snd-hda-intel index=0
# pciback hide devices
options pciback hide=(0000:01:07.0)
<<<<<<<<<<<<<<<<<<<<<<<
My rc.local looks like:
>>>>>>>>>>>>>>>>>>>>>>>
#/bin/sh
#
# This script will be executed *after* all the other init
scripts.
# You can put your own initialization stuff in here if you
don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
#make sure our pciback module is loaded
modprobe pciback
# the tv tuner (no linux driver so we don't need to unbind
SLOT=0000:01:07.0
#echo -n $SLOT > /sys/bus/pci/drivers/xxxx/unbind
echo -n $SLOT > /sys/bus/pci/drivers/pciback/new_slot
2>/new_slot.txt
echo -n $SLOT > /sys/bus/pci/drivers/pciback/bind
2>/bind.txt
<<<<<<<<<<<<<<<<<<<<<<<<
Since there is no linux driver for the tv tuner, I have no
need to unbind it from a current driver or have an install line in
modprobe.conf.
When this runs the error message I get in /bind.txt is:
./etc/rc.local: line 16: echo: write error: No such device
Doing a listing of /sys/bus/pci/devices/pciback gives:
[root@merlin pciback]# ls -la
total 0
drwxr-xr-x 2 root root 0 2007-07-10
13:22 .
drwxr-xr-x 22 root root 0 2007-07-10 13:20
..
lrwxrwxrwx 1 root root 0 2007-07-10
13:28 0000:01:07.0 -> ../../../../devices/pci0000:00/0000:00:06.0/0000:01:07.0
--w------- 1 root root 0 2007-07-10
13:23 bind
lrwxrwxrwx 1 root root 0 2007-07-10
13:28 module -> ../../../../module/pciback
--w------- 1 root root 4096 2007-07-10 13:22 new_id
--w------- 1 root root 0 2007-07-10
13:21 new_slot
-rw------- 1 root root 4096 2007-07-10 13:22
permissive
-rw------- 1 root root 4096 2007-07-10 13:22 quirks
--w------- 1 root root 4096 2007-07-10 13:22
remove_slot
-r-------- 1 root root 4096 2007-07-10 13:22 slots
--w------- 1 root root 4096 2007-07-10 13:22 unbind
And the device is still listed in lspci: (3rd
line from the bottom in bold)
00:00.0 RAM memory: nVidia Corporation MCP55 Memory
Controller (rev a1)
00:01.0 ISA bridge: nVidia Corporation MCP55 LPC Bridge (rev
a2)
00:01.1 SMBus: nVidia Corporation MCP55 SMBus (rev a2)
00:01.2 RAM memory: nVidia Corporation MCP55 Memory
Controller (rev a2)
00:02.0 USB Controller: nVidia Corporation MCP55 USB
Controller (rev a1)
00:02.1 USB Controller: nVidia Corporation MCP55 USB
Controller (rev a2)
00:04.0 IDE interface: nVidia Corporation MCP55 IDE (rev a1)
00:05.0 IDE interface: nVidia Corporation MCP55 SATA
Controller (rev a2)
00:05.1 IDE interface: nVidia Corporation MCP55 SATA
Controller (rev a2)
00:05.2 IDE interface: nVidia Corporation MCP55 SATA
Controller (rev a2)
00:06.0 PCI bridge: nVidia Corporation MCP55 PCI bridge (rev
a2)
00:06.1 Audio device: nVidia Corporation MCP55 High
Definition Audio (rev a2)
00:08.0 Bridge: nVidia Corporation MCP55 Ethernet (rev a2)
00:0a.0 PCI bridge: nVidia Corporation MCP55 PCI Express
bridge (rev a2)
00:0b.0 PCI bridge: nVidia Corporation MCP55 PCI Express
bridge (rev a2)
00:0c.0 PCI bridge: nVidia Corporation MCP55 PCI Express
bridge (rev a2)
00:0d.0 PCI bridge: nVidia Corporation MCP55 PCI Express
bridge (rev a2)
00:0e.0 PCI bridge: nVidia Corporation MCP55 PCI Express
bridge (rev a2)
00:0f.0 PCI bridge: nVidia Corporation MCP55 PCI Express
bridge (rev a2)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8
[Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8
[Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8
[Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8
[Athlon64/Opteron] Miscellaneous Control
01:07.0 Multimedia controller: ATI
Technologies Inc Unknown device 4d50
01:08.0 Communication controller: Conexant HSF 56k Data/Fax
Modem (rev 01)
07:00.0 VGA compatible controller: nVidia Corporation G71
[GeForce 7900 GS] (rev a1)
Any ideas on how to get the bind operation to work?
Also, does what is the syntax in the xml config file for
pci=[‘….’]. Is there a reference page with all the
supported xml tags?
Thanks!
Jason Ward