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
|