On Thu, May 04, 2017 at 07:09:11PM +0200, Andrea Bolognani wrote: > On Thu, 2017-04-27 at 17:28 +1000, David Gibson wrote: > > @@ -2480,6 +2480,10 @@ static void spapr_machine_initfn(Object *obj) > > " place of standard EPOW events when > >possible" > > " (required for memory hot-unplug > >support)", > > NULL); > > + > > + object_property_add(obj, "max-cpu-compat", "str", > > + ppc_compat_prop_get, ppc_compat_prop_set, > > + NULL, &spapr->max_compat_pvr, &error_fatal); > > I'm not familiar with QEMU's object system, but shouldn't > you be using object_property_add_str() instead? It looks > like you're doing more than the straightforward wrapper > would do, so maybe that's just not possible.
Right. I can't use object_property_add_str() for two reasons. First,
I need the opaque parameter which it lacks, second it assumes that
you're storing the property
opaque parameter (which the _str() variant lacks) to pass in the
destination variable for the compat pvr.
> In any case, all other string properties look like
>
> pseries-2.10.kvm-type=string
>
> whereas this one ends up looking like
>
> pseries-2.10.max-cpu-compat=str
>
> which I think should be fixed - object_property_add_str()
> passes "string" instead of "str" to object_property_add().
Ah, yes, that's a bug, I'll fix.
> You should also add a sensible description for the property,
> preferably spelling out all the accepted values.
I'll add that.
> Speaking of properties...
>
> $ qemu-system-ppc64 -cpu host,compat=whatever
> Segmentation fault
>
> You might want to look into that ;)
Uh.. yeah. I think I've fixed that.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature
