Revision 08eb8c85 target-s390x/kvm.c

b/target-s390x/kvm.c
34 34
#include "sysemu/kvm.h"
35 35
#include "cpu.h"
36 36
#include "sysemu/device_tree.h"
37
#include "qapi/qmp/qjson.h"
38
#include "monitor/monitor.h"
37 39

  
38 40
/* #define DEBUG_KVM */
39 41

  
......
779 781
            r = handle_instruction(cpu, run);
780 782
            break;
781 783
        case ICPT_WAITPSW:
782
            if (s390_del_running_cpu(cpu) == 0 &&
783
                is_special_wait_psw(cs)) {
784
                qemu_system_shutdown_request();
784
            /* disabled wait, since enabled wait is handled in kernel */
785
            if (s390_del_running_cpu(cpu) == 0) {
786
                if (is_special_wait_psw(cs)) {
787
                    qemu_system_shutdown_request();
788
                } else {
789
                    QObject *data;
790

  
791
                    data = qobject_from_jsonf("{ 'action': %s }", "pause");
792
                    monitor_protocol_event(QEVENT_GUEST_PANICKED, data);
793
                    qobject_decref(data);
794
                    vm_stop(RUN_STATE_GUEST_PANICKED);
795
                }
785 796
            }
786 797
            r = EXCP_HALTED;
787 798
            break;

Also available in: Unified diff