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