> -----Original Message----- > From: Qemu-devel [mailto:qemu-devel- > bounces+jianjay.zhou=huawei....@nongnu.org] On Behalf Of Michael S. Tsirkin > Sent: Wednesday, February 14, 2018 12:52 AM > To: Peter Maydell <peter.mayd...@linaro.org> > Cc: QEMU Developers <qemu-devel@nongnu.org> > Subject: Re: [Qemu-devel] [PULL 00/26] virtio, vhost, pci, pc: features, > fixes and cleanups > > On Tue, Feb 13, 2018 at 04:33:14PM +0000, Peter Maydell wrote: > > On 12 February 2018 at 09:35, Peter Maydell <peter.mayd...@linaro.org> > wrote: > > > This asserts in 'make check' for NetBSD, FreeBSD, OpenBSD, OSX: > > > > > > TEST: tests/device-introspect-test... (pid=19530) > > > /aarch64/device/introspect/list: OK > > > /aarch64/device/introspect/list-fields: OK > > > /aarch64/device/introspect/none: OK > > > /aarch64/device/introspect/abstract: OK > > > /aarch64/device/introspect/concrete: ** > > > ERROR:/root/qemu/qom/object.c:372:object_initialize_with_type: > > > assertion failed: (type != NULL) > > > Broken pipe > > > FAIL > > > GTester: last random seed: R02Sd4e2c04f6ac00d843a31ccac4de0d914 > > > (pid=12686) > > > /aarch64/device/introspect/abstract-interfaces: OK > > > FAIL: tests/device-introspect-test > > > > > > (other archs fail too, aarch64 is just the first one we hit). This > > > error is often "device A instantiates device B, but device B is > > > conditionally compiled in and A is always compiled; so test fails > > > trying to create device A on hosts where device B isn't built" I think. > > > > This part is indeed that problem -- the 'virtio-crypto-device' object > > is built only if CONFIG_LINUX, but 'virtio-crypto-pci' is built if > > CONFIG_VIRTIO_PCI, so on systems where the latter is true but not the > > former you get a virtio-crypto-pci device that crashes when instantiated. > > > > The fix should be > > --- a/hw/virtio/Makefile.objs > > +++ b/hw/virtio/Makefile.objs > > @@ -8,7 +8,7 @@ obj-y += virtio.o virtio-balloon.o > > obj-$(CONFIG_LINUX) += vhost.o vhost-backend.o vhost-user.o > > obj-$(CONFIG_VHOST_VSOCK) += vhost-vsock.o > > obj-$(CONFIG_LINUX) += virtio-crypto.o > > -obj-$(CONFIG_VIRTIO_PCI) += virtio-crypto-pci.o > > +obj-$(call land,$(CONFIG_LINUX),$(CONFIG_VIRTIO_PCI)) += > > +virtio-crypto-pci.o > > endif > > > > common-obj-$(call lnot,$(CONFIG_LINUX)) += vhost-stub.o > > > > > > thanks > > -- PMM > > Thanks for your help with this! > > I think the root cause is that one of the patches disables virtio-crypto > build on non linux which used to be enabled. > > This has been silently done by a patch which was supposed to merely add a > vhost crypto device, I'm sorry I missed that in the review.
Hi Michael, Peter Sorry for the late response and the trouble I have made, I just returned from a vacation. Thanks for your help and pointing out the root cause, I should explicitly put the config change of virtio-crypto into a separate patch to make review much easier. > > I've dropped the crypto vhost patches from the pull request for now. Will fix the issue in the next version, sorry again for the inconvenience. Regards, Jay > > Pushed with the same name - should be fine now. > > -- > MST