KVM: s390: Fix RUNNING flag misinterpretation
authorCornelia Huck <cornelia.huck@de.ibm.com>
Thu, 17 Nov 2011 10:00:41 +0000 (11:00 +0100)
committerAvi Kivity <avi@redhat.com>
Thu, 17 Nov 2011 14:25:43 +0000 (16:25 +0200)
commit9e6dabeffd1d0ec2aa19aa076c4886067238d442
tree6f5f2a06184a0e4ec0b8cff8db912ce6013c5056
parent3439a8da16bcad6b0982ece938c9f8299bb53584
KVM: s390: Fix RUNNING flag misinterpretation

CPUSTAT_RUNNING was implemented signifying that a vcpu is not stopped.
This is not, however, what the architecture says: RUNNING should be
set when the host is acting on the behalf of the guest operating
system.

CPUSTAT_RUNNING has been changed to be set in kvm_arch_vcpu_load()
and to be unset in kvm_arch_vcpu_put().

For signifying stopped state of a vcpu, a host-controlled bit has
been used and is set/unset basically on the reverse as the old
CPUSTAT_RUNNING bit (including pushing it down into stop handling
proper in handle_stop()).

Cc: stable@kernel.org
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Carsten Otte <cotte@de.ibm.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/s390/include/asm/kvm_host.h
arch/s390/kvm/diag.c
arch/s390/kvm/intercept.c
arch/s390/kvm/interrupt.c
arch/s390/kvm/kvm-s390.c
arch/s390/kvm/sigp.c