[libvirt] [PATCH 4/7] qemu: Add monitor APIs to fetch CPUID data from QEMU

Daniel P. Berrange berrange at redhat.com
Wed Jul 24 10:03:03 UTC 2013


On Tue, Jul 23, 2013 at 07:28:38PM +0200, Jiri Denemark wrote:
> On Tue, Jul 23, 2013 at 17:32:42 +0100, Daniel Berrange wrote:
> > On Tue, Jul 23, 2013 at 06:11:33PM +0200, Jiri Denemark wrote:
> > > ---
> > >  src/qemu/qemu_monitor.c                            |  21 +++
> > >  src/qemu/qemu_monitor.h                            |   3 +
> > >  src/qemu/qemu_monitor_json.c                       | 162 +++++++++++++++++++++
> > >  src/qemu/qemu_monitor_json.h                       |   6 +
> > >  tests/Makefile.am                                  |   1 +
> > >  .../qemumonitorjson-getcpu-empty.data              |   2 +
> > >  .../qemumonitorjson-getcpu-empty.json              |  46 ++++++
> > >  .../qemumonitorjson-getcpu-filtered.data           |   4 +
> > >  .../qemumonitorjson-getcpu-filtered.json           |  46 ++++++
> > >  .../qemumonitorjson-getcpu-full.data               |   4 +
> > >  .../qemumonitorjson-getcpu-full.json               |  46 ++++++
> > >  .../qemumonitorjson-getcpu-host.data               |   5 +
> > >  .../qemumonitorjson-getcpu-host.json               |  45 ++++++
> > >  tests/qemumonitorjsontest.c                        |  74 ++++++++++
> > >  14 files changed, 465 insertions(+)
> > >  create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-getcpu-empty.data
> > >  create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-getcpu-empty.json
> > >  create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-getcpu-filtered.data
> > >  create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-getcpu-filtered.json
> > >  create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-getcpu-full.data
> > >  create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-getcpu-full.json
> > >  create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-getcpu-host.data
> > >  create mode 100644 tests/qemumonitorjsondata/qemumonitorjson-getcpu-host.json
> > 
> > ACK, though I believe the design of this monitor API is flawed
> > because it requires you to re-launch QEMU with different accel
> > args
> 
> Not really, this can be used in tcg too. It's just when we want to get
> the data for "host" CPU, we need to enable kvm as tcg knows nothing
> about that CPU. Which makes sense as kvm (the kernel module) influences
> how the "host" CPU will look like.

Is there no ioctl() for the KVM module we can just invoke directly to
discover what CPU flag filtering it will perform. Presumably QEMU is
using some ioctl to discover this, so libvirt ought to be able to
too.


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 :|




More information about the libvir-list mailing list