[libvirt] [PATCH v1 07/15] qemu: Introduce basic skeleton for parsing firmware description

Laszlo Ersek lersek at redhat.com
Tue Mar 5 20:53:57 UTC 2019


On 03/05/19 15:38, Michal Privoznik wrote:
> On 2/28/19 10:31 AM, Laszlo Ersek wrote:
>> On 02/27/19 11:04, Michal Privoznik wrote:
>>> The firmware description is a JSON file which follows
>>> specification from qemu.git/docs/interop/firmware.json. The
>>> description file basically says: Firmware file X is {bios|uefi},
>>> supports these targets and machine types, requires these features
>>> to be enabled on qemu cmd line and this is how you put it onto
>>> qemu cmd line.
>>>
>>> The firmware.json specification covers more (i.e. how to select
>>> the right firmware) but that will be covered and implemented in
>>> next commits.
>>>
>>> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
>>> ---
>>>   src/qemu/Makefile.inc.am |   2 +
>>>   src/qemu/qemu_firmware.c | 901 +++++++++++++++++++++++++++++++++++++++
>>>   src/qemu/qemu_firmware.h |  40 ++
>>>   3 files changed, 943 insertions(+)
>>>   create mode 100644 src/qemu/qemu_firmware.c
>>>   create mode 100644 src/qemu/qemu_firmware.h
>>
>> Wow. I assumed the parser for the schema could be auto-generated from
>> the schema JSON. Isn't that the case with the QMP commands and events?
> 
> Not really. We don't have any script to generate parser from qapi. We
> did not need it so far too as we have a lot of logic in our QMP command
> generation code.

Hmmm okay. If you generally interleave business logic and sanity checks
with QMP parsing (such as when processing events and command responses),
then I see the point. In the present case, the pattern is different
(first some larger-scale parsing, second heavy verification etc), but I
get the point of not adding a parser generator just for this.

Well, I'll let others review this patch then. :) Given the schema
definition, I think the patch can be verified regardless of the semantics.

Thanks
Laszlo




More information about the libvir-list mailing list