From: David Hildenbrand <[email protected]> In preparation for other CPU states, SIGP START will only start a VCPU if it is in the STOPPED state.
Reviewed-by: Thomas Huth <[email protected]> Reviewed-by: Cornelia Huck <[email protected]> Signed-off-by: Jens Freimann <[email protected]> Signed-off-by: David Hildenbrand <[email protected]> --- target-s390x/kvm.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/target-s390x/kvm.c b/target-s390x/kvm.c index fcb0cae..ed56b3c 100644 --- a/target-s390x/kvm.c +++ b/target-s390x/kvm.c @@ -1117,6 +1117,11 @@ static void sigp_start(void *arg) { SigpInfo *si = arg; + if (s390_cpu_get_state(si->cpu) != CPU_STATE_STOPPED) { + si->cc = SIGP_CC_ORDER_CODE_ACCEPTED; + return; + } + s390_cpu_set_state(CPU_STATE_OPERATING, si->cpu); si->cc = SIGP_CC_ORDER_CODE_ACCEPTED; } -- 2.1.4
