qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Laszlo Ersek <lersek@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	qemu-devel@nongnu.org, libvir-list@redhat.com,
	Alexander Graf <agraf@suse.de>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	David Gibson <dgibson@redhat.com>, Eric Blake <eblake@redhat.com>,
	Gary Ching-Pang Lin <glin@suse.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Kashyap Chamarthy <kchamart@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Michael Roth <mdroth@linux.vnet.ibm.com>,
	Michal Privoznik <mprivozn@redhat.com>,
	Peter Krempa <pkrempa@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Thomas Huth <thuth@redhat.com>
Subject: Re: [Qemu-devel] [qemu RFC v2] qapi: add "firmware.json"
Date: Wed, 18 Apr 2018 13:03:20 +0100	[thread overview]
Message-ID: <20180418120320.GH27579@redhat.com> (raw)
In-Reply-To: <762b3dc8-a86f-a21f-1e21-334ec46677ef@redhat.com>

On Wed, Apr 18, 2018 at 01:52:19PM +0200, Laszlo Ersek wrote:
> On 04/18/18 11:43, Paolo Bonzini wrote:
> > On 18/04/2018 00:40, Laszlo Ersek wrote:
> >> +#
> >> +# Lists firmware types commonly used with QEMU virtual machines.
> >> +#
> >> +# @bios: The firmware was built from the SeaBIOS project.
> >> +#
> >> +# @slof: The firmware was built from the Slimline Open Firmware project.
> >> +#
> >> +# @uboot: The firmware was built from the U-Boot project.
> >> +#
> >> +# @uefi: The firmware was built from the edk2 (EFI Development Kit II) project.
> >> +#
> >> +# Since: 2.13
> >> +##
> >> +{ 'enum' : 'FirmwareType',
> >> +  'data' : [ 'bios', 'slof', 'uboot', 'uefi' ] }
> > 
> > A very basic question (so not likely a suggestion for change).  Why
> > wouldn't these be features too?  For example a UEFI with CSM could
> > expose both uefi and bios, a u-boot with UEFI support could expose both
> > uboot and uefi, etc.
> 
> Good point. I considered "type" to be a given, from the initial
> brainstorming, but if Dan is OK with your suggestion, I can turn these
> into features as well.
> 
> > Perhaps there are two dimensions, the FirmwareType tells you how to
> > configure it and the FirmwareFeature tells you the APIs it exposes to
> > the guest?
> 
> I don't know enough firmware types to answer this :) I believe I agree
> about the FirmwareFeature statement (if we also include "platform
> requirements" there), but I have no clue about any generalizations for
> firmware configuration.

IIUC Paolo is basically suggesting

   {
       "description": "OVMF firmware"
       "type": "uefi",
       "features": [
          "uefi",
	  "bios"
       ],
   }

where 'bios' is only listed if CSM is enabled in the OVMF build. I tend
to think that is redundant and we could just do


   {
       "description": "OVMF firmware"
       "features": [
          "uefi",
	  "bios"
       ],
   }

And declare the order of "features" list is significant. ie

       "features": [
          "uefi",
	  "bios"
       ],


means a UEFI firmware which has back compat for BIOS (ie OVMF with CSM)
while

       "features": [
	  "bios"
          "uefi",
       ],

means a traditional BIOS firmware with compat for UEFI (thinking uboot
being able to include uefi support in this case)


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

  reply	other threads:[~2018-04-18 12:03 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-17 22:40 [Qemu-devel] [qemu RFC v2] qapi: add "firmware.json" Laszlo Ersek
2018-04-18  6:02 ` Gerd Hoffmann
2018-04-18  8:32   ` Laszlo Ersek
2018-04-18  9:04     ` Gerd Hoffmann
2018-04-18 11:48       ` Laszlo Ersek
2018-04-18 11:57         ` Daniel P. Berrangé
2018-04-18 12:30           ` Gerd Hoffmann
2018-04-18 12:32             ` Daniel P. Berrangé
2018-04-18 12:57               ` Laszlo Ersek
2018-04-18 12:23         ` Gerd Hoffmann
2018-04-18 12:56           ` Laszlo Ersek
2018-04-18 13:06             ` Gerd Hoffmann
2018-04-18 13:30               ` Laszlo Ersek
2018-04-18 13:53                 ` Daniel P. Berrangé
2018-04-18 14:03                   ` Laszlo Ersek
2018-04-18 14:06                     ` Daniel P. Berrangé
2018-04-18 14:45                       ` Laszlo Ersek
2018-04-19  0:09     ` David Gibson
2018-04-19  8:09       ` Laszlo Ersek
2018-04-20  1:03         ` David Gibson
2018-04-20  8:47           ` Paolo Bonzini
2018-04-20  9:01             ` Laszlo Ersek
2018-04-19  8:45   ` Thomas Huth
2018-04-18  8:47 ` Markus Armbruster
2018-04-18 11:35   ` Laszlo Ersek
2018-04-19  7:48     ` Markus Armbruster
2018-04-19  7:56       ` [Qemu-devel] [libvirt] " Daniel P. Berrangé
2018-04-19  8:39         ` Laszlo Ersek
2018-04-19  9:12           ` Daniel P. Berrangé
2018-04-20  8:11             ` Laszlo Ersek
2018-04-20  9:34               ` Daniel P. Berrangé
2018-04-20  9:46                 ` Gerd Hoffmann
2018-04-20  9:50                   ` Daniel P. Berrangé
2018-04-20 10:41                     ` Gerd Hoffmann
2018-04-20 15:45                       ` Laszlo Ersek
2018-04-20 15:39                 ` Laszlo Ersek
2018-04-23  0:10                 ` David Gibson
2018-04-23  9:39                   ` Daniel P. Berrangé
2018-04-20 12:53           ` Markus Armbruster
2018-04-20 16:04             ` Laszlo Ersek
2018-04-20 16:37               ` Markus Armbruster
2018-04-20 23:25                 ` Laszlo Ersek
2018-04-18  9:43 ` [Qemu-devel] " Paolo Bonzini
2018-04-18 11:52   ` Laszlo Ersek
2018-04-18 12:03     ` Daniel P. Berrangé [this message]
2018-04-18 12:36       ` Gerd Hoffmann
2018-04-18 12:40       ` Laszlo Ersek
2018-04-18 15:17         ` Eric Blake
2018-04-18 15:27           ` Laszlo Ersek
2018-04-18 15:28             ` Daniel P. Berrangé
2018-04-18 15:30             ` Laszlo Ersek
2018-04-19  8:57 ` Thomas Huth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180418120320.GH27579@redhat.com \
    --to=berrange@redhat.com \
    --cc=agraf@suse.de \
    --cc=ard.biesheuvel@linaro.org \
    --cc=armbru@redhat.com \
    --cc=dgibson@redhat.com \
    --cc=eblake@redhat.com \
    --cc=glin@suse.com \
    --cc=kchamart@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=lersek@redhat.com \
    --cc=libvir-list@redhat.com \
    --cc=mdroth@linux.vnet.ibm.com \
    --cc=mprivozn@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=pkrempa@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).