On 03/08/18 11:17, Daniel P. Berrangé wrote: > On Thu, Mar 08, 2018 at 08:52:45AM +0100, Gerd Hoffmann wrote: >> Hi, >> >>>> [*] Open question: Who, between QEMU and libvirt, should define the said >>>> firmware metadata format and file? >>> >>> IMHO QEMU should be defining the format, because the file will contain >>> info about certain QEMU features associated with the firmware (eg smm). >>> Also there are potentially other non-libvirt mgmt apps that spawn QEMU >>> which would like this info (eg libguestfs), so having libvirt define the >>> format is inappropriate. >>> >>> I'd suggest we just need something in docs/specs/firmware-metadata.rst >>> for QEMU source tree. >>> >>> Potentially QEMU could even use the metadata files itself for finding >>> the default firmeware images, instead of compiling this info into its >>> binaries. I wouldn't suggest we need todo that right away, but bear it >>> in mind as a potential use case. >> >> With qemu using this itself in mind it probably makes sense to specify >> this as qapi schema. That'll simplify parsing and using these files in >> qemu, and possibly simplifies things on the libvirt side too. > > I was thinking of an 'ini' style format, similar to that used by systemd > unit files, but a JSON format file is a nicer fit with QEMU & Libvirt if > we describe it with qapi. I've created an RFC-level "qapi/firmware.json" schema file, based on this discussion. It "builds", and the generated documentation looks acceptable, superficially speaking. Before I post "qapi/firmware.json" for getting comments, I'd like to write JSON text that (a) describes firmware that I use, and (b) conforms to the schema. IOW, I'd like to validate whether the schema is good enough for describing at least such firmware that I know. Is there a tool that generates example JSON objects from a given schema? I vaguely recall there used to be one. Otherwise, writing the examples manually looks arduous (and I wouldn't know how to verify them against the schema). Thanks! Laszlo -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list