From 9cb805fd2674f474d058fee6d7aa9e83fcd3d336 Mon Sep 17 00:00:00 2001 From: Alexey Kardashevskiy Date: Wed, 20 Aug 2014 22:16:33 +1000 Subject: cpus: Define callback for QEMU "nmi" command This introduces an NMI (Non Maskable Interrupt) interface with a single nmi_monitor_handler() method. A machine or a device can implement it. This searches for an QOM object with this interface and if it is implemented, calls it. The callback implements an action required to cause debug crash dump on in-kernel debugger invocation. The callback returns Error**. This adds a nmi_monitor_handle() helper which walks through all objects to find the interface. The interface method is called for all found instances. This adds support for it in qmp_inject_nmi(). Since no architecture supports it at the moment, there is no change in behaviour. This changes inject-nmi command description for HMP and QMP. Signed-off-by: Alexey Kardashevskiy Reviewed-by: Alexander Graf Signed-off-by: Paolo Bonzini --- cpus.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'cpus.c') diff --git a/cpus.c b/cpus.c index 2b5c0bd7c7..37d90f4e93 100644 --- a/cpus.c +++ b/cpus.c @@ -40,6 +40,7 @@ #include "qemu/bitmap.h" #include "qemu/seqlock.h" #include "qapi-event.h" +#include "hw/nmi.h" #ifndef _WIN32 #include "qemu/compatfd.h" @@ -1551,7 +1552,7 @@ void qmp_inject_nmi(Error **errp) } } #else - error_set(errp, QERR_UNSUPPORTED); + nmi_monitor_handle(monitor_get_cpu_index(), errp); #endif } -- cgit v1.2.3