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
 

Reply via email to