[Pkg-xen-devel] Bug#706543: xen-hypervisor-4.1-amd64: HVM PCI Passthrough not working any more after last upgrade
Markus
markus at trash-mail.com
Wed May 1 12:20:44 UTC 2013
Package: xen-hypervisor-4.1-amd64
Version: 4.1.4-3
Severity: grave
Justification: causes non-serious data loss
-- System Information:
Debian Release: 7.0
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
xen-hypervisor-4.1-amd64 depends on no packages.
Versions of packages xen-hypervisor-4.1-amd64 recommends:
ii xen-utils-4.1 4.1.4-3
Versions of packages xen-hypervisor-4.1-amd64 suggests:
pn xen-docs-4.1 <none>
-- no debconf information
After last upgrade, its not possible any more to start Dom-Us based on HVM with PCI passthrough. Before that, it worked for months.
Here is what happens:
------
# xm create lubuntu.cfg
Using config file "/etc/xen/lubuntu.cfg".
Error: (22, 'Invalid argument')
------
This is the config file:
------
kernel = "/usr/lib/xen-4.1/boot/hvmloader"
builder = "hvm"
name = "lubuntu"
memory = "4096"
vcpus = 4
vif=[ 'bridge=xenbr0,model=e1000,mac=00:11:3e:11:11:11' ]
disk = ['file:/vm/lubuntu/lubuntu-lts.img,ioemu:hda,w']
gfx_passthru=1
pci=['00:02.0','00:1d.0','00:1b.0']
pci_power_mgmt=1
pci_msitranslate=0
acpi=1
apic=1
xen_extended_power_mgmt=0
viridian=1
kernel = "/usr/lib/xen-4.1/boot/hvmloader"
builder = "hvm"
name = "lubuntu"
memory = "4096"
vcpus = 4
vif=[ 'bridge=xenbr0,model=e1000,mac=00:11:3e:11:11:11' ]
disk = ['file:/vm/lubuntu/lubuntu-lts.img,ioemu:hda,w']
gfx_passthru=1
pci=['00:02.0','00:1d.0','00:1b.0']
pci_power_mgmt=1
pci_msitranslate=0
acpi=1
apic=1
xen_extended_power_mgmt=0
viridian=1
xen_platform_pci=1
monitor=1
shadow_memory=8
on_poweroff = 'destroy'
on_reboot = 'destroy'
on_crash = 'destroy'
---------
Of course the devices are assignable:
---------
# xm pci-list-assignable-devices
0000:00:02.0
0000:00:1b.0
0000:00:1d.0
---------
In the xend.log it says:
---------
[2013-05-01 11:10:29 4897] DEBUG (pciif:320) pci: enabling ioport 0xf000/0x40
[2013-05-01 11:10:29 4897] DEBUG (pciif:334) pci: enabling iomem 0xf7800000/0x400000 pfn 0xf7800/0x400
[2013-05-01 11:10:29 4897] DEBUG (pciif:334) pci: enabling iomem 0xe0000000/0x10000000 pfn 0xe0000/0x10000
[2013-05-01 11:10:29 4897] DEBUG (pciif:351) pci: enabling irq 16
[2013-05-01 11:10:29 4897] INFO (pciquirk:92) NO quirks found for PCI device [8086:1e26:1849:1e26]
[2013-05-01 11:10:29 4897] DEBUG (pciquirk:135) Permissive mode NOT enabled for PCI device [8086:1e26:1849:1e26]
[2013-05-01 11:10:29 4897] DEBUG (pciif:334) pci: enabling iomem 0xf7c07000/0x400 pfn 0xf7c07/0x1
[2013-05-01 11:10:29 4897] DEBUG (pciif:351) pci: enabling irq 23
[2013-05-01 11:10:29 4897] 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')
[2013-05-01 11:10:29 4897] ERROR (XendDomainInfo:488) VM start failed
Traceback (most recent call last):
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 474, in start
XendTask.log_progress(31, 60, self._initDomain)
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendTask.py", line 209, in log_progress
retval = func(*args, **kwds)
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 2930, in _initDomain
raise VmError(str(exn))
VmError: (22, 'Invalid argument')
[2013-05-01 11:10:29 4897] DEBUG (XendDomainInfo:3071) XendDomainInfo.destroy: domid=3
[2013-05-01 11:10:29 4897] DEBUG (XendDomainInfo:2401) Destroying device model
[2013-05-01 11:10:30 4897] INFO (image:615) lubuntu device model terminated
[2013-05-01 11:10:30 4897] DEBUG (XendDomainInfo:2408) Releasing devices
[2013-05-01 11:10:30 4897] DEBUG (XendDomainInfo:2414) Removing vif/0
[2013-05-01 11:10:30 4897] DEBUG (XendDomainInfo:1276) XendDomainInfo.destroyDevice: deviceClass = vif, device = vif/0
[2013-05-01 11:10:30 4897] DEBUG (XendDomainInfo:2414) Removing vbd/768
[2013-05-01 11:10:30 4897] DEBUG (XendDomainInfo:1276) XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/768
[2013-05-01 11:10:30 4897] DEBUG (XendDomainInfo:2414) Removing vbd/5632
[2013-05-01 11:10:30 4897] DEBUG (XendDomainInfo:1276) XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/5632
[2013-05-01 11:10:30 4897] DEBUG (XendDomainInfo:2406) No device model
[2013-05-01 11:10:30 4897] DEBUG (XendDomainInfo:2408) Releasing devices
[2013-05-01 11:10:30 4897] DEBUG (XendDomainInfo:2414) Removing vif/0
[2013-05-01 11:10:30 4897] DEBUG (XendDomainInfo:1276) XendDomainInfo.destroyDevice: deviceClass = vif, device = vif/0
[2013-05-01 11:10:30 4897] DEBUG (XendDomainInfo:2414) Removing vbd/768
[2013-05-01 11:10:30 4897] DEBUG (XendDomainInfo:1276) XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/768
[2013-05-01 11:10:30 4897] DEBUG (XendDomainInfo:2414) Removing vbd/5632
[2013-05-01 11:10:30 4897] DEBUG (XendDomainInfo:1276) XendDomainInfo.destroyDevice: deviceClass = vbd, device = vbd/5632
[2013-05-01 11:10:30 4897] ERROR (XendDomainInfo:108) Domain construction failed
Traceback (most recent call last):
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 106, in create
vm.start()
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 474, in start
XendTask.log_progress(31, 60, self._initDomain)
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendTask.py", line 209, in log_progress
retval = func(*args, **kwds)
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xend/XendDomainInfo.py", line 2930, in _initDomain
raise VmError(str(exn))
VmError: (22, 'Invalid argument')
------------
Hardware Info:
Processor: Intel(R) Core(TM) i5-3470T
GPU: Onboard HD2500
No secondary GPU
Debugging:
- First I thought it is GPU related, because the unbind/bind to Dom0 stopped working about 4 weeks ago.
When I did a
echo -n 0000:00:02.0 > /sys/bus/pci/devices/0000:00:02.0/driver/unbind
echo "0000:00:02.0" > /sys/bus/pci/drivers/i915/bind
I got formaly my graphics card back to dom0. This stopped working about 4 weeks ago. I only got a wired screen showing some noise.
So I thought it is related to i915 driver and I remove the graphics passthough from the config and tried to only have the USB port passed through
- Only USB also does not work so it seems very likely to be hypervisor related.
- Then I was pointed to this issue: http://www.novell.com/support/kb/doc.php?id=7012337
But unfortunately "iommu=no-intremap" did not help
So the last hypervisor/kernel update broke my system completely :(
Would be thankful for any hints!
More information about the Pkg-xen-devel
mailing list