Closed 20lives closed 6 years ago
On top of what I wrote also add windows version
Sent from my iPhone
On Nov 8, 2017, at 12:10, 20lives notifications@github.com wrote:
qemu-system-x86_64: /builddir/build/BUILD/qemu-2.9.1/kvm-all.c:1064: kvm_irqchip_commit_routes: Assertionret == 0' failed.`
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.
Fedora 26 4.13.9-200.fc26.x86_64 Windows 10 1703 x64 QEMU emulator version 2.10.50 (v2.10.0-1760-gb33afc4156) Ivshmem driverVer= 11.11.31.459
qemu command line: qemu-system-x86_64 -drive file=images/HLK-Client1-W10x64-1703.qcow2,serial=110011 -netdev tap,id=hostnet0,script=./hck_ctrl_bridge_ifup_0011.sh,downscript=no,ifname=cc1_0011 -device e1000,netdev=hostnet0,mac=56:cc:cc:01:cc:cc,bus=pci.0,id=cc1_0011 -netdev tap,id=hostnet2,vhost=on,script=./hck_test_bridge_ifup_0011.sh,downscript=no,ifname=t1c1_0011,queues=1 -device virtio-net-pci,netdev=hostnet2,mac=56:cc:cc:01:01:cc,bus=pci.0,id=t1c1_0011 -uuid CDEF127c-8795-4e67-95da-8dd0a8891001 -machine pc -nodefaults -nodefconfig -m 3G -smp 2,cores=2 -enable-kvm -cpu qemu64,+x2apic,+fsgsbase,model=13 -usbdevice tablet -boot order=cd,menu=on -rtc-td-hack -global kvm-pit.lost_tick_policy=discard -rtc base=localtime,clock=host,driftfix=slew -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -name HCK-Client1_0011bark/home/lior/ivshmem -vga cirrus -vnc :32 -monitor telnet::10032,server,nowait -monitor vc -chardev socket,path=/tmp/ivshmem_socket,id=ivshmemid -device ivshmem-doorbell,chardev=ivshmemid
This might be the same issue that @gnif found while implementing the driver:
https://lists.gnu.org/archive/html/qemu-devel/2017-10/msg04376.html:
Please note that this work has exposed a bug in the qemu ivshmem virtual device itself, it seems that if the MSI interrupts are enabled and the driver is unloaded twice an assertion is thrown due to what looks to be a double free, crashing out qemu.
I am getting this assertion on the second driver unload:
qemu-system-x86_64: /home/lprosek/qemu/hw/pci/msix.c:614: msix_unset_vector_notifiers: Assertion
dev->msix_vector_use_notifier && dev->msix_vector_release_notifier' failed.`
@20lives, what's on the other side of /tmp/ivshmem_socket and how many vectors does it support?
kvm_irqchip_commit_routes: Assertion 'ret == 0' failed.
is caused by configuring the device with more vectors than what the server supports.
For example,
ivshmem-server -n 0
and your command line where vectors defaults to 1 leads to that assertion.
The other issue is also related to interrupt vectors but the device must be re-initialized in order to hit this. You need a driver load-unload-load cycle to hit
msix_unset_vector_notifiers: Assertion 'dev->msix_vector_use_notifier && dev->msix_vector_release_notifier' failed.
QEMU patches have been posted: https://lists.gnu.org/archive/html/qemu-devel/2017-11/msg01984.html
qemu-system-x86_64: /builddir/build/BUILD/qemu-2.9.1/kvm-all.c:1064: kvm_irqchip_commit_routes: Assertion `ret == 0' failed.