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
--
Thanks,
David / dhildenb