On 13.04.21 10:13, David Hildenbrand wrote:
On 13.04.21 06:41, Markus Armbruster wrote:
David Hildenbrand <da...@redhat.com> writes:

On 12.03.21 18:35, Paolo Bonzini wrote:
Emulators are currently using OptsVisitor (via user_creatable_add_opts)
to parse the -object command line option.  This has one extra feature,
compared to keyval, which is automatic conversion of integers to lists
as well as support for lists as repeated options:
     -object
memory-backend-ram,id=pc.ram,size=1048576000,host-nodes=0,policy=bind
So we cannot replace OptsVisitor with keyval right now.  Still, this
patch moves the user_creatable_add_opts logic to vl.c since it is
not needed anywhere else, and makes it go through user_creatable_add_qapi.
In order to minimize code changes, the predicate still takes a
string.
This can be changed later to use the ObjectType QAPI enum directly.


Rebasing my "noreserve"[1] series on this, I get weird errors from
QEMU when specifying the new "reserve=off" option for a
memory-backend-ram:

"Invalid parameter 'reserve'"

And it looks like this is the case for any new properties. Poking
around, I fail to find what's causing this -- or how to unlock new
properties. What is the magic toggle to make it work?

Thanks!

[1] https://lkml.kernel.org/r/20210319101230.21531-1-da...@redhat.com

Wild guess: you didn't add your new properties in the QAPI schema.

For a not-so-wild-guess, send us a git-fetch argument for your rebased
series.


Oh, there is qapi/qom.json -- maybe that does the trick.

(I have mixed feelings about having to specify the same thing twice at
different locations)

I'll have a look if that makes it fly.

Yes, works just fine -- thanks!


--
Thanks,

David / dhildenb


Reply via email to