"Michael S. Tsirkin" <m...@redhat.com> writes:
> On Thu, Jan 20, 2022 at 09:32:34AM +0530, Viresh Kumar wrote: >> On 17-01-22, 10:11, Alex Bennée wrote: >> > >> > "Michael S. Tsirkin" <m...@redhat.com> writes: >> > >> > > On Wed, Jan 12, 2022 at 05:04:57PM +0530, Viresh Kumar wrote: >> > >> Hello, >> > >> >> > >> This patchset adds vhost-user-gpio device's support in Qemu. The >> > >> support for the >> > >> same has already been added to virtio specification and Linux Kernel. >> > >> >> > >> A Rust based backend is also in progress and is tested against this >> > >> patchset: >> > >> >> > >> https://github.com/rust-vmm/vhost-device/pull/76 >> > > >> > > >> > > I'm reluctant to add this with no tests in tree. >> > > Want to write a minimal libhost-user based backend? >> >> I actually have one already, that I wrote before attempting the Rust >> counterpart, but never upstreamed as I am not sure if anyone is ever >> going to use it, as I am not. And I thought what's the point of >> merging code which I will never end up using. >> >> I am not sure what test I can add here to make sure this doesn't >> breaks in future though. > > something that executes with make check. With Eric's latest series (20220118203833.316741-1-eric.au...@redhat.com) we are already exercising most of the PCI code: ➜ gcov ./libqemu-aarch64-softmmu.fa.p/hw_virtio_vhost-user-gpio.c.gcda File '../../hw/virtio/vhost-user-gpio.c' Lines executed:10.43% of 163 Creating 'vhost-user-gpio.c.gcov' File '/home/alex/lsrc/qemu.git/include/qemu/bitops.h' Lines executed:100.00% of 4 Creating 'bitops.h.gcov' File '/home/alex/lsrc/qemu.git/include/hw/virtio/virtio.h' Lines executed:12.50% of 8 Creating 'virtio.h.gcov' File '/home/alex/lsrc/qemu.git/include/hw/virtio/vhost-user-gpio.h' Lines executed:0.00% of 1 Creating 'vhost-user-gpio.h.gcov' File '/home/alex/lsrc/qemu.git/include/hw/virtio/virtio-bus.h' Lines executed:0.00% of 1 Creating 'virtio-bus.h.gcov' File '/home/alex/lsrc/qemu.git/include/hw/qdev-core.h' Lines executed:50.00% of 2 Creating 'qdev-core.h.gcov' 🕙15:40:35 alex@zen:qemu.git/builds/gprof on review/virtio-gpio-boilerplate [$?] ➜ gcov ./libqemu-aarch64-softmmu.fa.p/hw_virtio_vhost-user-gpio-pci.c.gcda File '../../hw/virtio/vhost-user-gpio-pci.c' Lines executed:76.92% of 26 Creating 'vhost-user-gpio-pci.c.gcov' File '/home/alex/lsrc/qemu.git/include/qemu/bitops.h' Lines executed:100.00% of 4 Creating 'bitops.h.gcov' File '../../hw/virtio/virtio-pci.h' Lines executed:100.00% of 1 Creating 'virtio-pci.h.gcov' File '/home/alex/lsrc/qemu.git/include/hw/pci/pci.h' Lines executed:100.00% of 1 Creating 'pci.h.gcov' File '/home/alex/lsrc/qemu.git/include/hw/qdev-core.h' Lines executed:50.00% of 2 Creating 'qdev-core.h.gcov' So I think if we add the runes to ensure we instantiate both types explicitly I think we will have enough coverage. -- Alex Bennée