On Mon, Sep 21, 2015 at 07:22:51PM +0200, Thomas Huth wrote: > On 21/09/15 18:39, Markus Armbruster wrote: > > Thomas Huth <th...@redhat.com> writes: > >> On 21/09/15 08:14, Markus Armbruster wrote: > >>> Eduardo Habkost <ehabk...@redhat.com> writes: > >>>> On Fri, Sep 18, 2015 at 08:42:54PM +0200, Thomas Huth wrote: > >>>>> On 18/09/15 14:00, Markus Armbruster wrote: [...] > >>>>>> * Assert kvm_enabled(): "host-x86_64-cpu", host-i386-cpu", > >>>>>> "host-powerpc64-cpu", "host-embedded-powerpc-cpu", > >>>>>> "host-powerpc-cpu" > >>>>> > >>>>> I just had a look at the powerpc code - you're likely talking about > >>>>> the "assert(kvm_enabled());" in the kvmppc_host_cpu_initfn() in > >>>>> target-ppc/kvm.c ? That should be fine, I think, because > >>>>> kvm_ppc_register_host_cpu_type() is only done on ppc when KVM has been > >>>>> enabled. > >>> > >>> Easy to verify on a KVM-capable PPC host: try -device C,help with KVM on > >>> and off, where C is the appropriate host CPU. > >> > >> In both cases (KVM on and off), I simply get: > >> > >> # qemu-system-ppc64 -machine accel=tcg -device host-powerpc64-cpu,help > >> 'host-powerpc64-cpu' is not a valid device model name > >> # qemu-system-ppc64 -machine accel=kvm -device host-powerpc64-cpu,help > >> 'host-powerpc64-cpu' is not a valid device model name > >> > >> No crash/abort here. > > > > No introspection, either. Can you try the same with QMP command > > device-list-properties? > > # ppc64-softmmu/qemu-system-ppc64 -nodefaults -S -display none -qmp stdio [...] > { "execute": "device-list-properties", "arguments": { "typename": > "host-powerpc64-cpu" } } > {"error": {"class": "DeviceNotFound", "desc": "Device 'host-powerpc64-cpu' > not found"}} > > # ppc64-softmmu/qemu-system-ppc64 -machine accel=kvm -nodefaults -S -display > none -qmp stdio [...] > { "execute": "device-list-properties", "arguments": { "typename": > "host-powerpc64-cpu" } } > {"return": [{"name": "compat", "description": "compatibility mode, > power6/power7/power8", "type": "str"}]}
So, introspection is already broken, but inconsistently broken (because it depends on machine arguments). Setting cannot_even_create_with_object_new_yet will make it more consistently broken. -- Eduardo