> -----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 <firstname.lastname@example.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>
> > > 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.
> Pushed with the same name - should be fine now.