| 
 Hi, 
        I very confuse how to make xen PCI 
passthrough to guest. I follow everything but still cannot get the PCI in the 
guest. Please help, thanks. 
  
HOST: CentOS 5.3 
Kernel : 2.6.18-128.1.6.el5xen 
xen: xen-3.0.3-80.el5 
  
[root@hm02 xen]# lspci | grep Ethernet 03:00.0 Ethernet controller: 
Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12) 07:00.0 
Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet 
(rev 12) 08:00.0 Ethernet controller: Intel Corporation 82571EB Gigabit 
Ethernet Controller (rev 06) 08:00.1 Ethernet controller: Intel Corporation 
82571EB Gigabit Ethernet Controller (rev 06) 0a:00.0 Ethernet controller: 
Intel Corporation 82571EB Gigabit Ethernet Controller (rev 06) 0a:00.1 
Ethernet controller: Intel Corporation 82571EB Gigabit Ethernet Controller (rev 
06) 0d:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 
Gigabit Ethernet (rev 12) 
  
I need "0a:00.1" to passthrough to the guest system. 
  
  
[root@hm02 xen]# cat /etc/modprobe.conf options pciback 
hide=(0a:00.1) alias eth0 bnx2 alias eth1 bnx2 alias eth2 bnx2 alias 
eth3 e1000e alias eth4 e1000e alias eth5 e1000e alias eth6 
e1000e alias scsi_hostadapter megaraid_sas alias scsi_hostadapter1 
ata_piix alias scsi_hostadapter2 usb-storage 
  
[root@hm02 xen]# dmesg | grep pciback pciback 0000:0a:00.1: seizing 
device pciback 0000:0a:00.1: enabling permissive mode configuration space 
accesses! pciback 0000:0a:00.1: permissive mode is potentially 
unsafe! pciback: vpci: 0000:0a:00.1: assign to virtual slot 0 
  
[root@hm02 xen]# cat xen-test name = "xen-test" uuid = 
"cad318b5-be8b-2a75-bd02-9fad747f9e04" maxmem = 1024 memory = 
1024 vcpus = 1 builder = "hvm" kernel = 
"/usr/lib/xen/boot/hvmloader" boot = "c" pae = 1 acpi = 1 apic = 
1 localtime = 0
 
 
  device_model = 
"/usr/lib64/xen/bin/qemu-dm" sdl = 0 vnc = 1 vncunused = 1 keymap = 
"en-us" disk = [ "file:/xen/xen-test.img,hda,w", ",hdc:cdrom,r" ] vif = [ 
"mac=00:16:3e:0f:f9:e5,bridge=xenbr5" ] pci = [ "0000:0a:00.1" ] or pci = [ 
"0a:00.1" ]  serial = "pty" 
  
[root@hm02 xen]# cat /boot/config-2.6.18-128.1.6.el5xen | grep 
XEN CONFIG_X86_64_XEN=y CONFIG_X86_XEN_GENAPIC=y CONFIG_XEN_PCIDEV_FRONTEND=y # 
CONFIG_XEN_PCIDEV_FE_DEBUG is not 
set CONFIG_NETXEN_NIC=m CONFIG_XEN=y CONFIG_XEN_INTERFACE_VERSION=0x00030203 # 
XEN CONFIG_XEN_PRIVILEGED_GUEST=y # CONFIG_XEN_UNPRIVILEGED_GUEST is not 
set CONFIG_XEN_PRIVCMD=y CONFIG_XEN_XENBUS_DEV=y CONFIG_XEN_BACKEND=y CONFIG_XEN_BLKDEV_BACKEND=m CONFIG_XEN_BLKDEV_TAP=m CONFIG_XEN_NETDEV_BACKEND=m # 
CONFIG_XEN_NETDEV_PIPELINED_TRANSMITTER is not 
set CONFIG_XEN_NETDEV_LOOPBACK=m CONFIG_XEN_PCIDEV_BACKEND=y CONFIG_XEN_PCIDEV_BACKEND_VPCI=y # 
CONFIG_XEN_PCIDEV_BACKEND_PASS is not set # CONFIG_XEN_PCIDEV_BACKEND_SLOT is 
not set # CONFIG_XEN_PCIDEV_BE_DEBUG is not set # 
CONFIG_XEN_TPMDEV_BACKEND is not 
set CONFIG_XEN_BLKDEV_FRONTEND=m CONFIG_XEN_NETDEV_FRONTEND=m CONFIG_XEN_FRAMEBUFFER=y CONFIG_XEN_KEYBOARD=y CONFIG_XEN_SCRUB_PAGES=y # 
CONFIG_XEN_DISABLE_SERIAL is not 
set CONFIG_XEN_SYSFS=y CONFIG_XEN_COMPAT_030002_AND_LATER=y # 
CONFIG_XEN_COMPAT_LATEST_ONLY is not 
set CONFIG_XEN_COMPAT_030002=y CONFIG_XEN_UTIL=y CONFIG_XEN_BALLOON=y CONFIG_XEN_DEVMEM=y CONFIG_XEN_SKBUFF=y CONFIG_XEN_REBOOT=y CONFIG_XEN_SMPBOOT=y [root@hm02 
xen]#
  
In the guest: 
  
[root@xen-test ~]# lspci 00:00.0 Host bridge: Intel Corporation 440FX - 
82441FX PMC [Natoma] (rev 02) 00:01.0 ISA bridge: Intel Corporation 82371SB 
PIIX3 ISA [Natoma/Triton II] 00:01.1 IDE interface: Intel Corporation 82371SB 
PIIX3 IDE [Natoma/Triton II] 00:01.2 Bridge: Intel Corporation 82371AB/EB/MB 
PIIX4 ACPI (rev 01) 00:02.0 VGA compatible controller: Cirrus Logic GD 
5446 00:03.0 Class ff80: XenSource, Inc. Xen Platform Device (rev 
01) 00:04.0 Ethernet controller: Realtek Semiconductor Co., Ltd. 
RTL-8139/8139C/8139C+ (rev 20)
  
I still cannot see the PCI passthrough, please help to see where I missed, 
thank you so much. 
 Best Regards Alex
  
 |