The following series of patches enables a watchdog for s390x that is based upon a hypercall (diagnose 0x288). The same interface is already used for s390 LPAR, so it makes sense to provide it under qemu as well.
Patches to enable Linux guests to utilize the watchdog have made their way upstream during the merge window for 4.1 (see commit b2527d20 "s390/watchdog: support for KVM hypervisors and delete pr_info messages"). This patchset is based on top of the s390x patchset I send out last week (see <1428569498-27393-1-git-send-email-cornelia.h...@de.ibm.com>). A branch can be found at git://github.com/cohuck/qemu s390-next-watchdog Feedback welcome, especially regarding interface sanity. Mao Chuan Li (1): watchdog: Add new Virtual Watchdog action INJECT-NMI Xu Wang (5): s390x/virtio-ccw: enable has_dynamic_sysbus watchdog: Add watchdog device diag288 to the sysbus s390/kvm: diag288 instruction interception and handling watchdog: Add migration support to diag288 watchdog device nmi: Implement inject_nmi() for non-monitor context use default-configs/s390x-softmmu.mak | 1 + hw/core/nmi.c | 20 +++++++ hw/s390x/s390-virtio-ccw.c | 1 + hw/watchdog/Makefile.objs | 1 + hw/watchdog/watchdog.c | 10 ++++ hw/watchdog/wdt_diag288.c | 122 ++++++++++++++++++++++++++++++++++++++ include/hw/nmi.h | 1 + include/hw/watchdog/wdt_diag288.h | 36 +++++++++++ qapi-schema.json | 6 +- qemu-options.hx | 6 +- target-s390x/cpu.h | 1 + target-s390x/kvm.c | 18 ++++++ target-s390x/misc_helper.c | 33 +++++++++++ 13 files changed, 253 insertions(+), 3 deletions(-) create mode 100644 hw/watchdog/wdt_diag288.c create mode 100644 include/hw/watchdog/wdt_diag288.h -- 2.3.5