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