Michal Privoznik <mpriv...@redhat.com> writes: > On 3/8/19 2:14 PM, Markus Armbruster wrote: >> The previous commit added a way to configure firmware with -blockdev >> rather than -drive if=pflash. Document it as the preferred way. >> >> Signed-off-by: Markus Armbruster <arm...@redhat.com> >> --- >> docs/interop/firmware.json | 20 ++++++++++++++------ >> 1 file changed, 14 insertions(+), 6 deletions(-) >> >> diff --git a/docs/interop/firmware.json b/docs/interop/firmware.json >> index 28f9bc1591..ff8c2ce5f2 100644 >> --- a/docs/interop/firmware.json >> +++ b/docs/interop/firmware.json >> @@ -212,9 +212,13 @@ >> # >> # @executable: Identifies the firmware executable. The firmware >> # executable may be shared by multiple virtual machine >> -# definitions. The corresponding QEMU command line option >> -# is "-drive >> -# >> if=pflash,unit=0,readonly=on,file=@executable.@filename,format=@executable.@format". >> +# definitions. The preferred corresponding QEMU command >> +# line options are >> +# -drive >> if=none,id=pflash0,readonly=on,file=@executable.@filename,format=@executable.@format >> +# -machine pflash0=pflash0 > > I have a question. How is libvirt supposed to query for this? How can > it learn it can use this new, preferred command line?
You can use qom-list-properties to find out whether the machine has property pflash0. ---> {"execute": "qom-list-properties", "arguments": {"typename": "pc-q35-4.0-machine"}} <--- {"return": [... {"name": "pflash0", ...} ...]} ---> {"execute": "qom-list-properties", "arguments": {"typename": "isapc-machine"}} <--- {"return": [... no such property ...]}