s390x: Migrate to new NMI interface
authorAlexey Kardashevskiy <aik@ozlabs.ru>
Wed, 20 Aug 2014 12:16:35 +0000 (22:16 +1000)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 25 Aug 2014 11:25:16 +0000 (13:25 +0200)
commit3dd7852f1925ec1b3eca32c894e1a84882e145f1
tree0378cac36b7527ee99bac686b5065deb5b7ac3ec
parentd07aa7c7bb06fdc9973059889b33dfca1d2efe55
s390x: Migrate to new NMI interface

This implements an NMI interface for s390 and s390-ccw machines.

This removes #ifdef s390 branch in qmp_inject_nmi so new s390's
nmi_monitor_handler() callback is going to be used for NMI.

Since nmi_monitor_handler()-calling code is platform independent,
CPUState::cpu_index is used instead of S390CPU::env.cpu_num.
There should not be any change in behaviour as both @cpu_index and
@cpu_num are global CPU numbers.

Note that s390_cpu_restart() already takes care of the specified cpu,
so we don't need to schedule via async_run_on_cpu().

Since the only error s390_cpu_restart() can return is ENOSYS, convert
it to QERR_UNSUPPORTED.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Reviewed-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
cpus.c
hw/s390x/s390-virtio-ccw.c
hw/s390x/s390-virtio.c
hw/s390x/s390-virtio.h