Changes:
v7:
* fixed typenames, function names, copyrights
* s390x QOM'ed for later addition of the NMI interface
* Since none of x86 machines is QOM'ed, postpone migration to new interface for
x86
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
s390x: Convert QEMUMachine to MachineClass
s390x: Migrate to new NMI interface
spapr: Add support for new NMI interface
cpus.c | 17 ++--------
hmp-commands.hx | 6 ++--
hw/core/Makefile.objs | 1 +
hw/core/nmi.c | 84 ++++++++++++++++++++++++++++++++++++++++++++++
hw/ppc/spapr.c | 21 ++++++++++++
hw/s390x/s390-virtio-ccw.c | 49 ++++++++++++++++++---------
hw/s390x/s390-virtio.c | 59 ++++++++++++++++++++++----------
hw/s390x/s390-virtio.h | 3 ++
include/hw/nmi.h | 49 +++++++++++++++++++++++++++
qapi-schema.json | 4 +--
qmp-commands.hx | 3 +-
target-ppc/cpu-qom.h | 1 +
target-ppc/excp_helper.c | 8 +++++
13 files changed, 249 insertions(+), 56 deletions(-)
create mode 100644 hw/core/nmi.c
create mode 100644 include/hw/nmi.h