[libvirt] [PATCH 6/6] qemu, inject-nmi: Implement the driver methods

Daniel P. Berrange berrange at redhat.com
Tue Apr 19 09:33:44 UTC 2011


On Mon, Apr 18, 2011 at 04:54:25PM -0600, Eric Blake wrote:
> On 04/18/2011 02:39 AM, Lai Jiangshan wrote:
> >>> +int qemuMonitorTextInjectNMI(qemuMonitorPtr mon, unsigned int flags ATTRIBUTE_UNUSED)
> >>> +{
> >>> +    const char *cmd = "nmi 0";
> >>> +    char *reply = NULL;
> >>> +
> >>> +    /*
> >>> +     * FIXME: qemu's nmi command just injects NMI to a specified CPU,
> >>> +     * use "nmi 0" instead temporary.
> >>> +     */
> >>
> >> This bothers me.  Is it possible to inject NMI to a particular CPU in
> >> bare-metal hardware?  If so, then we ought to support that in the API.
> >>
> > 
> > The real world NMI button just sends NMI to all cpus, the qemu side code will
> > also be modified that hmp nmi command just sends NMI to all CPU and
> > the cpu-index parameter will be removed.
> > 
> > My original qemu side patch lefts cpu-index parameter for kernel debugging,
> > but the qemu guys persuade me that inject-nmi command should just send NMI
> > to CPUs. I accepted it. I think the libvirt will handle it at the same way.
> 
> Makes sense, and matches with what I learned on a google search about
> the "NMI button" on real hardware.  Thus, the real fixme is that qemu's
> nmi command has a bogus argument during preliminary patch review that
> will be going away before inject-nmi is made official, and therefore,
> libvirt should just be sending "nmi" and not "nmi 0" once there is a
> released version of qemu that actually supports injecting NMI, and you
> are right that the API should not expose a vcpu parameter.
> 
> Any timeframe on when a released qemu might support nmi injection, or
> even a pointer to a URL where the qemu patch stream is under discussion?
>  It doesn't make too much sense to push this patch into libvirt until we
> are reasonably sure that the qemu interface is well-baked, to minimize
> needing later libvirt tweaks.

QEMU has included an HMP command for NMI for quite a while. We're only
arguing upstream about the QMP version of it. We could take this patch
with the HMP command any time we like, but it would be nice to have a
little more clarity about what's going to happen to the QMP version
in qemu-devel. We don't have to wait for a new QEMU release, but in
ideal world we'd see them accept Lai's QMP patches into GIT.

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




More information about the libvir-list mailing list