[Bug 1897481] [NEW] qemu crashes with VGA pass-through, e-GPU, nvidia 1060

2020-09-27 Thread Sergiy K
Public bug reported: I try to pass-through nvidia 1060 6gb card, which is connected via ExpressCard (EXP-GDC converter). I can successfully run my virtual machine without pass-through, but when I try to add the devices, qemu crashes. The coredump contains: Stack trace of thread 3289311: #0 0x0

[Bug 1897481] Re: qemu crashes with VGA pass-through, e-GPU, nvidia 1060

2020-09-30 Thread Sergiy K
dmesg: [0.00] microcode: microcode updated early to revision 0x21, date = 2019-02-13 [0.00] Linux version 5.8.6-1-MANJARO (builder@db927223e331) (gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35) #1 SMP PREEMPT Thu Sep 3 14:19:36 UTC 2020 [0.00] Command line: BOOT_IMAGE=/boot

[Bug 1897481] Re: qemu crashes with VGA pass-through, e-GPU, nvidia 1060

2020-09-30 Thread Sergiy K
Thank you Alex for answering me. It seems, I've got it working, if I boot the host with the connected GPU from the very beginning. Previously, I tried hotplug and it crashes. So previously I had: 1. enable the host 2. enable GPU 3. connect the cable And this time I tried: 1. enable GP

[Bug 1897481] Re: qemu crashes with VGA pass-through, e-GPU, nvidia 1060

2020-09-30 Thread Sergiy K
What's more interesting, it doesn't crash if I hotplug GPU after it was boot with it. So if I do 1. enable GPU 2. connect the cord 3. enable the host 4. run qemu (I'm not sure, if it's mandatory) 5. disable cord 6. disable GPU 7. enable GPU 8. enable cord 9. run qemu again qe

[Bug 1897481] Re: qemu crashes with VGA pass-through, e-GPU, nvidia 1060

2020-10-04 Thread Sergiy K
Can confirm that it does not crash after applying that patch. I've added the `fprintf` statement there: if (vdev->bars[i].size) { vfio_bar_quirk_setup(vdev, i); } else { fprintf(stderr, "%04x:%04x bars for %d are empty\n", vdev->vendor_id, vdev->device_id, i)

[Bug 1897481] Re: qemu crashes with VGA pass-through, e-GPU, nvidia 1060

2020-10-04 Thread Sergiy K
I recorded both lspci - and lspci - for the following connections: - hotplug: when GPU is connected after the host was loaded - fresh: when GPU is connected before the host was started The main difference is the following: 1c1 < # hotplug --- > # fresh 6c6 < Control: I/O+ Mem-