Package: src:linux Version: 5.10.28-1 Severity: normal Tags: upstream Dear Maintainer,
I have been using Xen's PCI and VGA passthrough feature since wheezy and jessie were the stable versions, and back then both Windows HVMs and Linux HVMs would function with the Intel Integrated Graphics Device (IGD), the audio device, and the USB 3 controller passed to them. But with buster and bullseye running as the Dom0, I can only get the VGA/Passthrough feature to work with Windows Xen HVMs. I would expect both Windows and Linux HVMs to work comparably well. -- Package-specific info: Linux version 5.10.0-6-amd64 (debian-ker...@lists.debian.org) (gcc-10 (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2) #1 SMP Debian 5.10.28-1 (2021-04-09) BOOT_IMAGE=/boot/vmlinuz-5.10.0-6-amd64 root=UUID=332b3875-d57c-4083-9d46-3faa28d60691 ro xen-fbfront.video=24,1368,768 quiet - this is what I have on the bullseye DomU. On the Dom0, I have BOOT_IMAGE=/boot/vmlinuz-5.10.0-6-amd64 root=/dev/debian/bullseye ro reboot=bios quiet console=tty1 console=hvc0 On Dom0, the Xen commandline and version (from xl dmesg): dom0_mem=2G,max:2G smt=false pv-l1tf=false iommu=1 no-real-mode edd=off Xen version 4.14.2-pre (Debian 4.14.1+11-gb0b734a8b3-1) (pkg-xen-de...@lists.alioth.debian.org) (x86_64-linux-gnu-gcc (Debian 10.2.1-6) 10.2.1 20210110) debug=n Sun Feb 28 18:49:45 UTC 2021 Bootloader: GRUB 2.02+dfsg1-20+deb10u2 kernel logs (problems reported in Dom0's syslog when trying to start this Debian bullseye Xen HVM DomU with Xen VGA/PCI passthrough configured): May 9 10:52:20 bullseye kernel: [ 0.000000] Linux version 5.10.0-6-amd64 (debian-ker...@lists.debian.org) (gcc-10 (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2) #1 SMP Debian 5.10.28-1 (2021-04-09) May 9 10:52:20 bullseye kernel: [ 0.000000] Command line: placeholder root=/dev/debian/bullseye ro reboot=bios quiet console=tty1 console=hvc0 . . . Start a bullseye Xen HVM configured for PCI/VGA passthrough using the bullseye Xen and Qemu packages for bullseye on Dom0 (Haswell Intel IGD + audio device + USB 3.0 controller): May 10 08:50:03 bullseye kernel: [79077.644346] pciback 0000:00:1b.0: xen_pciback: vpci: assign to virtual slot 0 May 10 08:50:03 bullseye kernel: [79077.644478] pciback 0000:00:1b.0: registering for 16 May 10 08:50:03 bullseye kernel: [79077.644732] pciback 0000:00:14.0: xen_pciback: vpci: assign to virtual slot 1 May 10 08:50:03 bullseye kernel: [79077.644874] pciback 0000:00:14.0: registering for 16 May 10 08:50:03 bullseye kernel: [79077.645024] pciback 0000:00:02.0: xen_pciback: vpci: assign to virtual slot 2 May 10 08:50:03 bullseye kernel: [79077.645107] pciback 0000:00:02.0: registering for 16 May 10 08:50:30 bullseye kernel: [79105.273876] vif vif-16-0 vif16.0: Guest Rx ready May 10 08:50:30 bullseye kernel: [79105.273893] IPv6: ADDRCONF(NETDEV_CHANGE): vif16.0: link becomes ready May 10 08:50:30 bullseye kernel: [79105.278023] xen-blkback: backend/vbd/16/51712: using 4 queues, protocol 1 (x86_64-abi) persistent grants May 10 08:50:44 bullseye kernel: [79119.104937] irq 16: nobody cared (try booting with the "irqpoll" option) May 10 08:50:44 bullseye kernel: [79119.104973] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.10.0-6-amd64 #1 Debian 5.10.28-1 May 10 08:50:44 bullseye kernel: [79119.104976] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./B85M Pro4, BIOS P2.50 12/11/2015 May 10 08:50:44 bullseye kernel: [79119.104979] Call Trace: May 10 08:50:44 bullseye kernel: [79119.104984] <IRQ> May 10 08:50:44 bullseye kernel: [79119.104998] dump_stack+0x6b/0x83 May 10 08:50:44 bullseye kernel: [79119.105008] __report_bad_irq+0x35/0xa7 May 10 08:50:44 bullseye kernel: [79119.105014] note_interrupt.cold+0xb/0x61 May 10 08:50:44 bullseye kernel: [79119.105024] handle_irq_event+0xa8/0xb0 May 10 08:50:44 bullseye kernel: [79119.105030] handle_fasteoi_irq+0x78/0x1c0 May 10 08:50:44 bullseye kernel: [79119.105037] generic_handle_irq+0x47/0x50 May 10 08:50:44 bullseye kernel: [79119.105044] __evtchn_fifo_handle_events+0x175/0x190 May 10 08:50:44 bullseye kernel: [79119.105054] __xen_evtchn_do_upcall+0x66/0xb0 May 10 08:50:44 bullseye kernel: [79119.105063] __xen_pv_evtchn_do_upcall+0x11/0x20 May 10 08:50:44 bullseye kernel: [79119.105069] asm_call_irq_on_stack+0x12/0x20 May 10 08:50:44 bullseye kernel: [79119.105072] </IRQ> May 10 08:50:44 bullseye kernel: [79119.105079] xen_pv_evtchn_do_upcall+0xa2/0xc0 May 10 08:50:44 bullseye kernel: [79119.105084] exc_xen_hypervisor_callback+0x8/0x10 May 10 08:50:44 bullseye kernel: [79119.105091] RIP: e030:xen_hypercall_sched_op+0xa/0x20 May 10 08:50:44 bullseye kernel: [79119.105097] Code: 51 41 53 b8 1c 00 00 00 0f 05 41 5b 59 c3 cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc 51 41 53 b8 1d 00 00 00 0f 05 <41> 5b 59 c3 cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc May 10 08:50:44 bullseye kernel: [79119.105100] RSP: e02b:ffffffff82603de8 EFLAGS: 00000246 May 10 08:50:44 bullseye kernel: [79119.105106] RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff810023aa May 10 08:50:44 bullseye kernel: [79119.105108] RDX: 0000000009d62df2 RSI: 0000000000000000 RDI: 0000000000000001 May 10 08:50:44 bullseye kernel: [79119.105111] RBP: ffffffff82613940 R08: 00000066a1715350 R09: 000047f57b235dc9 May 10 08:50:44 bullseye kernel: [79119.105114] R10: 0000000000007ff0 R11: 0000000000000246 R12: 0000000000000000 May 10 08:50:44 bullseye kernel: [79119.105117] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 May 10 08:50:44 bullseye kernel: [79119.105124] ? xen_hypercall_sched_op+0xa/0x20 May 10 08:50:44 bullseye kernel: [79119.105133] ? xen_safe_halt+0xc/0x20 May 10 08:50:44 bullseye kernel: [79119.105140] ? default_idle+0xa/0x10 May 10 08:50:44 bullseye kernel: [79119.105145] ? default_idle_call+0x38/0xc0 May 10 08:50:44 bullseye kernel: [79119.105152] ? do_idle+0x208/0x2b0 May 10 08:50:44 bullseye kernel: [79119.105158] ? cpu_startup_entry+0x19/0x20 May 10 08:50:44 bullseye kernel: [79119.105164] ? start_kernel+0x587/0x5a8 May 10 08:50:44 bullseye kernel: [79119.105170] ? xen_start_kernel+0x625/0x631 May 10 08:50:44 bullseye kernel: [79119.105180] ? startup_xen+0x3e/0x3e May 10 08:50:44 bullseye kernel: [79119.105184] handlers: May 10 08:50:44 bullseye kernel: [79119.105222] [<000000005d228d5f>] usb_hcd_irq [usbcore] May 10 08:50:44 bullseye kernel: [79119.105245] [<00000000e534b010>] ath_isr [ath9k] May 10 08:50:44 bullseye kernel: [79119.105257] Disabling IRQ #16 There was no access to the HVM, but the screen lit up with a blank grey screen. When I replace the Debian Xen HVM with a Windows Xen HVM, no dump_stack and no problems with irq 16 Debian buster Dom0 kernel 4.19 behaves the same way: Windows Xen HVMs work very well, Debian Linux HVMs stall and must be destroyed (xl destroy) to put them out of their misery... The Debian HVMs rarely capture any logs, but sometimes with the qemu-traditional device model I see the grub boot menu which displays fine and then messages on the screen after a long delay and sometimes in the logs about broken pipe and no output on HDMI-A-2. lspci output for passed through devices on Dom0: 00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05) 00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05) 00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06) Debian Linux Xen HVMs (I tested stretch, buster and bullseye) work fine without PCI/VGA passthrough and ssh for CLI and vnc/qemu usb-tablet device for gnome desktop. Older Debian HVMs worked well with these passed through PCI/VGA devices and older Debian Dom0s (wheey and jessie) I suspect kernel modesetting/drm/intel i915 drivers as in need of patches or maybe firmware updates to function well like Windows does. **Model information (DomU) sys_vendor: Xen product_name: HVM domU product_version: 4.14.2-pre chassis_vendor: Xen chassis_version: bios_vendor: Xen bios_version: 4.14.2-pre **Model information (Dom0) May 10 08:50:44 bullseye kernel: [79119.104976] Hardware name: To Be Filled By O.E.M. B85M Pro4, BIOS P2.50 12/11/2015 This is a Haswell i5-4590S, the motherboard is an ASRock. ** Loaded modules: (On the DomU running without any PCI/VGA passthrough devices, it is using vnc and qemu emulated tablet device for the gnome desktop) md4 sha512_ssse3 sha512_generic cmac nls_utf8 cifs libarc4 dns_resolver fscache libdes rfkill intel_rapl_msr intel_rapl_common ghash_clmulni_intel aesni_intel libaes crypto_simd cryptd nls_ascii glue_helper nls_cp437 vfat fat sg joydev evdev serio_raw pcspkr vmwgfx msr parport_pc ppdev lp parport sunrpc fuse configfs ip_tables x_tables autofs4 ext4 crc16 mbcache jbd2 crc32c_generic hid_generic usbhid hid sr_mod cdrom ata_generic uhci_hcd bochs_drm ehci_hcd drm_vram_helper drm_ttm_helper ata_piix crct10dif_pclmul ttm crct10dif_common usbcore libata drm_kms_helper cec crc32_pclmul xen_blkfront drm scsi_mod crc32c_intel usb_common psmouse i2c_piix4 floppy xen_netfront button ** PCI devices (In the DomU without VGA/PCI passthrough): 00:00.0 Host bridge [0600]: Intel Corporation 440FX - 82441FX PMC [Natoma] [8086:1237] (rev 02) Subsystem: Red Hat, Inc. Qemu virtual machine [1af4:1100] Control: I/O- Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 00:01.0 ISA bridge [0601]: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II] [8086:7000] Subsystem: Red Hat, Inc. Qemu virtual machine [1af4:1100] Physical Slot: 1 Control: I/O- Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 00:01.1 IDE interface [0101]: Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II] [8086:7010] (prog-if 80 [ISA Compatibility mode-only controller, supports bus mastering]) Subsystem: Red Hat, Inc. Qemu virtual machine [1af4:1100] Physical Slot: 1 Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Region 0: Memory at 000001f0 (32-bit, non-prefetchable) [virtual] [size=8] Region 1: Memory at 000003f0 (type 3, non-prefetchable) [virtual] Region 2: Memory at 00000170 (32-bit, non-prefetchable) [virtual] [size=8] Region 3: Memory at 00000370 (type 3, non-prefetchable) [virtual] Region 4: I/O ports at c100 [virtual] [size=16] Kernel driver in use: ata_piix Kernel modules: ata_piix, ata_generic 00:01.2 USB controller [0c03]: Intel Corporation 82371SB PIIX3 USB [Natoma/Triton II] [8086:7020] (rev 01) (prog-if 00 [UHCI]) Subsystem: Red Hat, Inc. QEMU Virtual Machine [1af4:1100] Physical Slot: 1 Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Interrupt: pin D routed to IRQ 23 Region 4: I/O ports at c140 [size=32] Kernel driver in use: uhci_hcd Kernel modules: uhci_hcd 00:01.3 Bridge [0680]: Intel Corporation 82371AB/EB/MB PIIX4 ACPI [8086:7113] (rev 03) Subsystem: Red Hat, Inc. Qemu virtual machine [1af4:1100] Physical Slot: 1 Control: I/O- Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Interrupt: pin A routed to IRQ 9 Kernel modules: i2c_piix4 00:02.0 Unassigned class [ff80]: XenSource, Inc. Xen Platform Device [5853:0001] (rev 01) Subsystem: XenSource, Inc. Xen Platform Device [5853:0001] Physical Slot: 2 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Interrupt: pin A routed to IRQ 24 Region 0: I/O ports at c000 [size=256] Region 1: Memory at f0000000 (32-bit, prefetchable) [size=16M] Kernel driver in use: xen-platform-pci 00:03.0 VGA compatible controller [0300]: Device [1234:1111] (rev 02) (prog-if 00 [VGA controller]) Subsystem: Red Hat, Inc. Device [1af4:1100] Physical Slot: 3 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Region 0: Memory at f1000000 (32-bit, prefetchable) [size=16M] Region 2: Memory at f2070000 (32-bit, non-prefetchable) [size=4K] Expansion ROM at 000c0000 [disabled] [size=128K] Kernel driver in use: bochs-drm Kernel modules: bochs_drm ** USB devices: Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd QEMU USB Tablet Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub -- System Information: Debian Release: bullseye/sid APT prefers testing-security APT policy: (500, 'testing-security'), (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 5.10.0-6-amd64 (SMP w/4 CPU threads) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages linux-image-5.10.0-6-amd64 depends on: ii initramfs-tools [linux-initramfs-tool] 0.140 ii kmod 28-1 ii linux-base 4.6 Versions of packages linux-image-5.10.0-6-amd64 recommends: ii apparmor 2.13.6-10 ii firmware-linux-free 20200122-1 Versions of packages linux-image-5.10.0-6-amd64 suggests: pn debian-kernel-handbook <none> ii grub-pc 2.04-17 pn linux-doc-5.10 <none> Versions of packages linux-image-5.10.0-6-amd64 is related to: pn firmware-amd-graphics <none> pn firmware-atheros <none> pn firmware-bnx2 <none> pn firmware-bnx2x <none> pn firmware-brcm80211 <none> pn firmware-cavium <none> pn firmware-intel-sound <none> pn firmware-intelwimax <none> pn firmware-ipw2x00 <none> pn firmware-ivtv <none> pn firmware-iwlwifi <none> pn firmware-libertas <none> pn firmware-linux-nonfree <none> pn firmware-misc-nonfree <none> pn firmware-myricom <none> pn firmware-netxen <none> pn firmware-qlogic <none> pn firmware-realtek <none> pn firmware-samsung <none> pn firmware-siano <none> pn firmware-ti-connectivity <none> pn xen-hypervisor <none> -- no debconf information