This adds an "nmi" monitor command handler per CPUs. x86, s390 and ppc CPUS are supported.
Please comment. Thanks. Changes: v6: * back 5 steps and make it an interface again :) v5: * added Error** to the callback * fixed some comments v4: * now it is not nmi() but nmi_monitor_handler() to avoid confusion v3: * patches reorganized * comments from v2 addressed, more details are in individual commit logs v2: * moved from machine interface to CPUClass callback * s390 and x86 moved to target-s390/target-i386 * x86 handler delivers to the current CPU only now Alexey Kardashevskiy (4): cpus: Define callback for QEMU "nmi" command target-s390x: Migrate to new NMI interface target-i386: Migrate to new NMI interface target-ppc: Add support for new NMI interface cpus.c | 31 ++---------------- hmp-commands.hx | 6 ++-- hw/core/Makefile.objs | 1 + hw/core/nmi.c | 81 ++++++++++++++++++++++++++++++++++++++++++++++++ hw/i386/pc_piix.c | 42 +++++++++++++++++++++++++ hw/ppc/spapr.c | 27 ++++++++++++++++ hw/s390x/s390-virtio.c | 31 ++++++++++++++++++ include/hw/nmi.h | 46 +++++++++++++++++++++++++++ qapi-schema.json | 4 +-- qmp-commands.hx | 3 +- target-ppc/cpu-qom.h | 1 + target-ppc/excp_helper.c | 8 +++++ target-s390x/cpu.c | 1 + 13 files changed, 245 insertions(+), 37 deletions(-) create mode 100644 hw/core/nmi.c create mode 100644 include/hw/nmi.h -- 2.0.0