mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 16:53:55 -06:00
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 <aik@ozlabs.ru> Reviewed-by: Alexander Graf <agraf@suse.de> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
c8e2085d8e
commit
9cb805fd26
7 changed files with 141 additions and 9 deletions
|
@ -832,19 +832,17 @@ The values that can be specified here depend on the machine type, but are
|
|||
the same that can be specified in the @code{-boot} command line option.
|
||||
ETEXI
|
||||
|
||||
#if defined(TARGET_I386) || defined(TARGET_S390X)
|
||||
{
|
||||
.name = "nmi",
|
||||
.args_type = "",
|
||||
.params = "",
|
||||
.help = "inject an NMI on all guest's CPUs",
|
||||
.help = "inject an NMI",
|
||||
.mhandler.cmd = hmp_inject_nmi,
|
||||
},
|
||||
#endif
|
||||
STEXI
|
||||
@item nmi @var{cpu}
|
||||
@findex nmi
|
||||
Inject an NMI (x86) or RESTART (s390x) on the given CPU.
|
||||
Inject an NMI on the default CPU (x86/s390) or all CPUs (ppc64).
|
||||
|
||||
ETEXI
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue