WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-users

[Xen-users] PCI passthrough of a SATA/PATA controller, "FLR functionalit

To: xen-users@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-users] PCI passthrough of a SATA/PATA controller, "FLR functionality not supported"
From: Daniel Brockmann <meszi@xxxxxxxxxxx>
Date: Mon, 21 Feb 2011 09:45:46 +0100
Delivery-date: Mon, 21 Feb 2011 00:47:16 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.13) Gecko/20101207 Lightning/1.0b2 Thunderbird/3.1.7
Hi there,

I have a question regarding PCI passthrough on the Citrix XenServer 5.6 (Xen 3.4.2).

I already managed to get some soundcard passed through to a Windows guest. So I think my knowledge about that topic isn't _that_ low. But I cannot seem to pass through a SATA/PATA controller to a Linux guest.

I have some additional CD/DVD burner (PATA) attached to a SATA/PATA controller card and I want to pass through the controller to enable the Linux guest to burn CDs - previous attempts to pass the XenServer host's burner (/dev/xvdb) haven't been successful and therefore I chose to try this strategy.

When not having the controller card plugged in the "lspci -tv" command shows this:

-0000:00-+-00.0 Intel Corporation 4 Series Chipset DRAM Controller
+-02.0 Intel Corporation 4 Series Chipset Integrated Graphics Controller
+-02.1 Intel Corporation 4 Series Chipset Integrated Graphics Controller
+-03.0 Intel Corporation 4 Series Chipset HECI Controller
+-03.2 Intel Corporation 4 Series Chipset PT IDER Controller
+-03.3 Intel Corporation 4 Series Chipset Serial KT Controller
+-19.0 Intel Corporation 82567LM-3 Gigabit Network Connection
+-1a.0 Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #4
+-1a.1 Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #5
+-1a.2 Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #6
+-1a.7 Intel Corporation 82801JD/DO (ICH10 Family) USB2 EHCI Controller #2
+-1d.0 Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #1
+-1d.1 Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #2
+-1d.2 Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #3
+-1d.7 Intel Corporation 82801JD/DO (ICH10 Family) USB2 EHCI Controller #1
+-1e.0-0000:01----01.0 Agere Systems FW322/323
+-1f.0 Intel Corporation 82801JDO (ICH10DO) LPC Interface Controller
+-1f.2 Intel Corporation 82801JD/DO (ICH10 Family) 4-port SATA IDE Controller
+-1f.3 Intel Corporation 82801JD/DO (ICH10 Family) SMBus Controller
\-1f.5 Intel Corporation 82801JD/DO (ICH10 Family) 2-port SATA IDE Controller

When having the SATA/PATA controller card plugged in I get almost the same output but with these additional entries:

[...]
+-1c.0-0000:01--
+-1c.3-0000:02--+-00.0 JMicron Technology Corp. JMB362/JMB363 Serial ATA Controller | \-00.1 JMicron Technology Corp. JMB362/JMB363 Serial ATA Controller
[...]

Therefore I decided to pass-through everything that appeared additionally after the mount of the controller card:

xe vm-param-set other-config:pci=0/0000:00:1c.0,1/0000:00:1c.3,2/0000:02:00.0,3/0000:02:00.1 uuid=e5c4dcf3-e93f-8da3-27c5-217cd33baf59

When starting the Linux guest Dom0's messages log shows this:

[...]
Feb 20 13:21:32 localhost kernel: pciback 0000:00:1c.0: seizing device
Feb 20 13:23:12 localhost kernel: pciback 0000:02:00.1: seizing device
Feb 20 13:23:12 localhost kernel: pciback 0000:02:00.1: PCI INT B -> GSI 16 (level, low) -> IRQ 16
Feb 20 13:23:12 localhost kernel: pciback 0000:02:00.1: PCI INT B disabled
Feb 20 13:23:12 localhost kernel: pciback 0000:02:00.1: secondary bus reset failed for device - all functions need to be co-assigned - err: 6 Feb 20 13:23:12 localhost kernel: pciback 0000:02:00.1: FLR functionality not supported; attempts to use secondary bus reset unsuccessful; Feb 20 13:23:12 localhost kernel: pciback 0000:02:00.1: FLR not performed for device
Feb 20 13:23:12 localhost kernel: pciback 0000:02:00.0: seizing device
Feb 20 13:23:12 localhost kernel: pciback 0000:02:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
Feb 20 13:23:12 localhost kernel: pciback 0000:02:00.0: PCI INT A disabled
Feb 20 13:23:12 localhost kernel: pciback: vpci: 0000:02:00.1: assign to virtual slot 0 Feb 20 13:23:13 localhost kernel: pciback: vpci: 0000:02:00.0: assign to virtual slot 0
Feb 20 13:23:13 localhost kernel: pciback 0000:00:1c.3: seizing device
Feb 20 13:23:13 localhost kernel: pciback: vpci: 0000:00:1c.3: assign to virtual slot 0 Feb 20 13:23:13 localhost kernel: pciback: vpci: 0000:00:1c.0: assign to virtual slot 0
[...]

As far as I understood the last five lines here show that the assignment to the guest went okay but I also see like "FLR functionality not supported". From my research I already know that this happens with multifunctional controllers - and mine has SATA and PATA.

At least I could see the DVD burner attached to that PATA controller disappearing in Citrix XenCenter's storage overview. But I cannot find anything that points out my Linux guest having recognized the passed-through controller or the connected DVD burner, too.

The first solution suggestion I found was to pass-through all "lspci" results that are equivalent with the multi controller ... which I did ... with the result mentioned above.

I am not sure what silly mistake I might have done. As I said at the beginning ... PCI-passthrough itself worked already in some other case but at the moment I cannot figure out what went wrong here. I'd be glad if someone of you could help me with some suggestion...

Kind regards,
Daniel.


_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users

<Prev in Thread] Current Thread [Next in Thread>