[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xen-users
Subject:    Re: [Xen-users] USB pci passthrough, also iommu groups
From:       Peter Kay <syllopsium () syllopsium ! co ! uk>
Date:       2014-08-28 2:48:33
Message-ID: CAN4Onog3QTRz2LT59kesq-a8XN9LY_SOTaz4VSZA7LRu=33L4w () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Hi Jo,

thanks for the response. I probably should have said - it does work if you
use KVM, so it's not the hardware. The 'interesting' quirk in passing
through USB, though, is that you can pass through only in two groups of
four ports and one port, rather than something more equal.

In your two NIC case, however - it might be. Xen does not seem to identify
iommu groups. This is an issue on the S3210 chipset which is too old to
have ACS protection (the expansion cards on the same segment can talk to
each other without IOMMU protection, which is a problem if they're not
assigned to the same VM).

Unfortunately the S3210 is not very friendly in this regard. All of the PCI
slots are on the same segment, and in the same IOMMU group, as is the
second built in NIC, which hangs off a PCI-X bridge. The other NIC is
supposed to be on a different segment according to the manual and this
tallies with my memory.

The specification does lie, however. I'm pretty certain that the system put
the embedded Matrox G200e and one of the PCIe slots (the x8 one, hanging
off the MCH, IIRC) in the same IOMMU group, when the G200e is supposed to
be attached to the ICH instead.

In my case I'm not taking chances - all  devices in a PCI slot including
the second embedded NIC are passed through to the same VM.

I don't mind this board too much, as I think the hardware is broadly
functional, but the 1x transfer limit for VGA cards in the 16x/8x slots
rankles somewhat, and the fact that Intel were lazy enough to keep the
audio functionality from the X38 chipset present but uninitialised, results
in it hanging Linux every few dozen boots.. Would it have hurt to disable
it properly, or enable it and stick on some speaker connectors?

PK




On 27 August 2014 14:32, Jo Mills <jo@maniscorse.co.uk> wrote:

> On Wed, Aug 27, 2014 at 10:17:32AM +0100, Peter Kay wrote:
> >
> > I have pci passthrough working on my SH3210 motherboard for a VGA
> > card, sound card, firewire and LAN. Unfortunately when I pass through
> > the USB controllers and the VM boots, it hard resets the entire
> > machine. Is anyone else experiencing problems, before I report this
> > as a bug? Happens on unpatched 4.4 and -unstable
> >
> > I can work round this on 4.4 with host device passthrough (although
> > this seems not to work in -unstable, currently?) But I'd prefer the
> > whole controller.
> >
> > Also, where are iommu groups shown in Xen? There doesn't seem to be
> > any enforcement of having go pass through an entire group of devices
> > that aren't protected by ACS.
> >
>
>
> Hi Peter,
>
> Please excuse me if this is a bit wide of the mark, but I spent ages
> and ages trying to get two PCI network cards passed through on the
> following hardware:
>
>     Hardware:   Intel S3200SHV motherboard
>     BIOS    :   S3200X38.86B.00.00.0052
>     CPU     :   Intel Core 2 (quad)
>
> It was all OK until I tried to start a VM using the second passed
> through NIC at which point everything fell over.  Xen-devel got
> involved but in the end I just ran out time to try and solve it and
> had to get on with my life ;-)  So maybe it's the hardware?
>
> Good luck,
>
> Jo.
>

[Attachment #5 (text/html)]

<div dir="ltr">Hi Jo,<div><br></div><div>thanks for the response. I probably should \
have said - it does work if you use KVM, so it&#39;s not the hardware. The \
&#39;interesting&#39; quirk in passing through USB, though, is that you can pass \
through only in two groups of four ports and one port, rather than something more \
equal.</div> <div><br></div><div>In your two NIC case, however - it might be. Xen \
does not seem to identify iommu groups. This is an issue on the S3210 chipset which \
is too old to have ACS protection (the expansion cards on the same segment can talk \
to each other without IOMMU protection, which is a problem if they&#39;re not \
assigned to the same VM).</div> <div><br></div><div>Unfortunately the S3210 is not \
very friendly in this regard. All of the PCI slots are on the same segment, and in \
the same IOMMU group, as is the second built in NIC, which hangs off a PCI-X bridge. \
The other NIC is supposed to be on a different segment according to the manual and \
this tallies with my memory.</div> <div><br></div><div>The specification does lie, \
however. I&#39;m pretty certain that the system put the embedded Matrox G200e and one \
of the PCIe slots (the x8 one, hanging off the MCH, IIRC) in the same IOMMU group, \
when the G200e is supposed to be attached to the ICH instead.</div> \
<div><br></div><div>In my case I&#39;m not taking chances - all   devices in a PCI \
slot including the second embedded NIC are passed through to the same \
VM.</div><div><br></div><div>I don&#39;t mind this board too much, as I think the \
hardware is broadly functional, but the 1x transfer limit for VGA cards in the 16x/8x \
slots rankles somewhat, and the fact that Intel were lazy enough to keep the audio \
functionality from the X38 chipset present but uninitialised, results in it hanging \
Linux every few dozen boots.. Would it have hurt to disable it properly, or enable it \
and stick on some speaker connectors?</div> \
<div><br></div><div>PK</div><div><br></div><div><br></div></div><div \
class="gmail_extra"><br><br><div class="gmail_quote">On 27 August 2014 14:32, Jo \
Mills <span dir="ltr">&lt;<a href="mailto:jo@maniscorse.co.uk" \
target="_blank">jo@maniscorse.co.uk</a>&gt;</span> wrote:<br> <blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Wed, Aug 27, 2014 at \
10:17:32AM +0100, Peter Kay wrote:<br> &gt;<br>
&gt; I have pci passthrough working on my SH3210 motherboard for a VGA<br>
&gt; card, sound card, firewire and LAN. Unfortunately when I pass through<br>
&gt; the USB controllers and the VM boots, it hard resets the entire<br>
&gt; machine. Is anyone else experiencing problems, before I report this<br>
&gt; as a bug? Happens on unpatched 4.4 and -unstable<br>
&gt;<br>
&gt; I can work round this on 4.4 with host device passthrough (although<br>
&gt; this seems not to work in -unstable, currently?) But I&#39;d prefer the<br>
&gt; whole controller.<br>
&gt;<br>
&gt; Also, where are iommu groups shown in Xen? There doesn&#39;t seem to be<br>
&gt; any enforcement of having go pass through an entire group of devices<br>
&gt; that aren&#39;t protected by ACS.<br>
&gt;<br>
<br>
<br>
</div></div>Hi Peter,<br>
<br>
Please excuse me if this is a bit wide of the mark, but I spent ages<br>
and ages trying to get two PCI network cards passed through on the<br>
following hardware:<br>
<br>
      Hardware:     Intel S3200SHV motherboard<br>
      BIOS      :     S3200X38.86B.00.00.0052<br>
      CPU        :     Intel Core 2 (quad)<br>
<br>
It was all OK until I tried to start a VM using the second passed<br>
through NIC at which point everything fell over.   Xen-devel got<br>
involved but in the end I just ran out time to try and solve it and<br>
had to get on with my life ;-)   So maybe it&#39;s the hardware?<br>
<br>
Good luck,<br>
<br>
Jo.<br>
</blockquote></div><br></div>



_______________________________________________
Xen-users mailing list
Xen-users@lists.xen.org
http://lists.xen.org/xen-users

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic