[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [Xen-users] PCI passthrough problems after legacy update of xen 4.1



I CC the xen-devel list, since that is where I understand that possible bugs in the main xen tree should be reported. My initial description of the problem is attached below.

I tried with and without global interrupt remapping (iommu=amd-iommu-global-intremap in xen command line), the problem persists. That was after reading this: http://www.novell.com/support/kb/doc.php?id=7012337

I can provide more information from my system if needed.

Regards,
Andreas


2013/5/1 Gordan Bobic <gordan@xxxxxxxxxx>
This is probably worthy of a bug report escalation to xen-devel list.

I have filed my logs via the EL6 Xen bug tracker here:

http://xen.crc.id.au/bugs/view.php?id=5

It is good to see that it is not specific to the package builds/distro,
in the sense that it implies a real, reproducible bug that might
actually get fixed. I narrowed the cause down to a particular patch.
(see link above).

Gordan


On Wed, 1 May 2013 10:56:05 +0200, Andreas Falck <falck.andreas.lists@xxxxxxxxx> wrote:
Hi,

My ubuntu 12.10 vanilla install (amd64) recently got xen hypervisor
and utils upgraded to 4.1.3-3ubuntu1.5, via the legacy upgrade path.
After this I experience problems with passing through some PCI devices
to a windows 8 domU. I get the same problem as Gordan gets with 4.2
referred in this message:
http://lists.xen.org/archives/html/xen-users/2013-04/msg00341.html [1]

- it seems to be related to some update made to both trees.

My symptom is that out of three devices/functions, a radeon 7790 with
its two functions (41:00.{01}) plus one TI usb controller, (04:00.0),
only the radeon gpu (41:00.0) gets passed through. The others fail
with the Error: (22, 'Invalid argument') message. Specifically:

When passing the usb controller (04:00.0) only, I find the following
in xend.log:

[2013-05-01 10:38:32 2568] DEBUG (XendDomainInfo:811)
XendDomainInfo.hvm_pci_device_insert_dev:
0000:04:00.0@100,msitranslate=1,power_mgmt=1
 [2013-05-01 10:38:32 2568] DEBUG (XendDomainInfo:815) pci: assign
device 0000:04:00.0@100,msitranslate=1,power_mgmt=1
[2013-05-01 10:38:32 2568] DEBUG (image:508) signalDeviceModel:
orig_state is None, retrying
[2013-05-01 10:38:32 2568] DEBUG (image:508) signalDeviceModel:
orig_state is None, retrying
 [2013-05-01 10:38:32 2568] DEBUG (image:508) signalDeviceModel:
orig_state is None, retrying
[2013-05-01 10:38:32 2568] DEBUG (image:508) signalDeviceModel:
orig_state is None, retrying
[2013-05-01 10:38:32 2568] INFO (image:538) signalDeviceModel:restore
dm state to running
 [2013-05-01 10:38:32 2568] INFO (pciquirk:92) NO quirks found for PCI
device [104c:8241:0000:0000]
[2013-05-01 10:38:32 2568] DEBUG (pciquirk:135) Permissive mode NOT
enabled for PCI device [104c:8241:0000:0000]
[2013-05-01 10:38:32 2568] DEBUG (pciif:334) pci: enabling iomem
0xdfef0000/0x10000 pfn 0xdfef0/0x10
 [2013-05-01 10:38:32 2568] DEBUG (pciif:334) pci: enabling iomem
0xdfeee000/0x2000 pfn 0xdfeee/0x2
[2013-05-01 10:38:32 2568] DEBUG (pciif:351) pci: enabling irq 19
[2013-05-01 10:38:32 2568] ERROR (XendDomainInfo:2927)
XendDomainInfo.initDomain: exception occurred
 Traceback (most recent call last):
  File
"/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line
2914, in _initDomain
    self._createDevices()
  File
"/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line
2395, in _createDevices
     self.pci_device_configure_boot()
  File
"/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line
627, in pci_device_configure_boot
    self.pci_device_configure(dev_sxp, first_dev = first)
   File
"/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line
970, in pci_device_configure
    devid = self._createDevice('pci', existing_pci_conf)
  File
"/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line
2326, in _createDevice
     return
self.getDeviceController(deviceClass).createDevice(devConfig)
  File

"/usr/lib/xen-4.1/bin/../lib/python/xen/xend/server/DevController.py",
line 67, in createDevice
    self.setupDevice(config)
   File
"/usr/lib/xen-4.1/bin/../lib/python/xen/xend/server/pciif.py", line
453, in setupDevice
    self.setupOneDevice(d)
  File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/server/pciif.py",
line 353, in setupOneDevice
     allow_access = True)
Error: (22, 'Invalid argument')

Interestingly, if I try to pass through only the GPU only (41:00.0) it
does work, but with both functions of the radeon card passed it fails
again. As said, it fails also if I only pass the USB controller, so
it's not really VGA related. I can provide more log output if needed.

According to various sources on the net, downgrading xen would solve
the problem. But I'd prefer to raise the issue and find out if it is a
xen bug or a hardware specification issue.

Regards,
 Andreas


Links:
------
[1] http://lists.xen.org/archives/html/xen-users/2013-04/msg00341.html


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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.