qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
  • * Re: [Qemu-devel] [libvirt] ARM KVM GICv3 Support
           [not found]                 ` <CAFEAcA9AGYQiWPDH6fcxMo=jycxtKL8c50JmH1TtS4=Qz53-XQ@mail.gmail.com>
           [not found]                   ` <20160109150155.GA31776@cbox>
    @ 2016-01-22 14:44                   ` Daniel P. Berrange
      2016-02-02 11:49                     ` Christoffer Dall
      1 sibling, 1 reply; 18+ messages in thread
    From: Daniel P. Berrange @ 2016-01-22 14:44 UTC (permalink / raw)
      To: Peter Maydell
      Cc: Andrew Jones, Eric Auger, Libvirt, Andre Przywara,
    	Andrea Bolognani, qemu-devel, Marc Zyngier, Christoffer Dall
    
    On Wed, Jan 06, 2016 at 01:30:16PM +0000, Peter Maydell wrote:
    > On 6 January 2016 at 12:49, Andrea Bolognani <abologna@redhat.com> wrote:
    > > That's correct, having a QMP command that lists the values gic-version
    > > can have on the current host would be just great.
    > >
    > > If we had that, we could validate the GIC version chosen for a guest,
    > > and expose it in the capabilities XML so that higher-level tools can
    > > provide a list of choices to the user.
    > >
    > > Please note that this QMP command would have to work regardless of the
    > > machine type selected on QEMU's command line, because libvirt always
    > > runs a QEMU binary with '-M none' when probing its capabilities.
    > 
    > On the other hand, if you don't tell us the machine type you care
    > about then we can't tell you:
    >  (a) "this machine type doesn't support setting this property at all"
    >      (which applies to machines like vexpress-a15 which you can use with
    >      KVM on 32-bit hosts, and of course also to all the non-KVM models)
    
    We have just recently merged support for registering properties against
    classes instead of object instances. There is also a proposed command
    to allow querying the list of properties against a class
    
      https://lists.gnu.org/archive/html/qemu-devel/2016-01/msg04348.html
    
    So if we now update the machine types to register their properties against
    the class instead of object, then we can query what properties are present
    against each machine type, while still using '-M none'.
    
    >  (b) "this machine type only supports GIC versions X and Y even if the
    >       host supports more" (this is currently only hypothetical, though,
    >       since we only have the property on 'virt'. it would only happen
    >       if in the future we needed something other than '2' or '3' or
    >       'host' I think.)
    
    Our introspection support in QOM only allows us to say that a property
    is a particular type (int / enum / str / whatever). We don't have any
    way to expose info about what subset of possible values for a type are
    permitted. So I don't see any near term way to inform apps that the
    gic property accepts values x, y and but not z.
    
    IMHO, we shouldn't try to overthink this. Libvirt can query the host
    to find out what GIC versions are supported and default to using the
    most recent version, on the basis that people are likely to have a
    matching QEMU. We can just rely on QEMU to report error if we pass
    it a version it doesn't support and not try to pre-emptively check
    before launch. The key is just getting the default right IMHO.
    
    Regards,
    Daniel
    -- 
    |: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
    |: http://libvirt.org              -o-             http://virt-manager.org :|
    |: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
    |: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|
    
    ^ permalink raw reply	[flat|nested] 18+ messages in thread

  • end of thread, other threads:[~2016-02-15 10:08 UTC | newest]
    
    Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
    -- links below jump to the message on this page --
         [not found] <1451993822.16471.1.camel@redhat.com>
         [not found] ` <20160105120832.GC28354@cbox>
         [not found]   ` <1451997467.16471.3.camel@redhat.com>
         [not found]     ` <20160105134720.GA2393@cbox>
         [not found]       ` <1452016711.16471.6.camel@redhat.com>
         [not found]         ` <CAFEAcA_Y6keKPb0Ayjp4yFSdfZXg7rFmxxZ33f=e4R0sV+b8HQ@mail.gmail.com>
         [not found]           ` <1452018414.16471.8.camel@redhat.com>
         [not found]             ` <20160106113402.GA13870@cbox>
         [not found]               ` <1452084567.4759.6.camel@redhat.com>
         [not found]                 ` <CAFEAcA9AGYQiWPDH6fcxMo=jycxtKL8c50JmH1TtS4=Qz53-XQ@mail.gmail.com>
         [not found]                   ` <20160109150155.GA31776@cbox>
         [not found]                     ` <1452613707.4114.9.camel@redhat.com>
    2016-01-19 16:46                       ` [Qemu-devel] [libvirt] ARM KVM GICv3 Support Andrew Jones
    2016-01-19 16:53                         ` Peter Maydell
    2016-01-19 17:34                           ` Laszlo Ersek
    2016-01-22 14:44                   ` Daniel P. Berrange
    2016-02-02 11:49                     ` Christoffer Dall
    2016-02-02 12:10                       ` Daniel P. Berrange
    2016-02-02 12:59                         ` Andrew Jones
    2016-02-02 13:15                           ` Peter Maydell
    2016-02-02 14:04                             ` Andrew Jones
    2016-02-02 14:07                               ` Peter Maydell
    2016-02-02 14:05                           ` Christoffer Dall
    2016-02-02 14:42                             ` Andrew Jones
    2016-02-02 15:52                             ` Eric Blake
    2016-02-02 15:58                               ` Christoffer Dall
    2016-02-15 10:08                                 ` Andrea Bolognani
    2016-02-02 15:09                           ` Andrea Bolognani
    2016-02-02 15:36                             ` Pavel Fedin
    2016-02-02 15:50                             ` Peter Maydell
    

    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).