• James Hogan's avatar
    KVM: MIPS: Update vcpu->mode and vcpu->cpu · 4841e0dd
    James Hogan authored
    Keep the vcpu->mode and vcpu->cpu variables up to date so that
    kvm_make_all_cpus_request() has a chance of functioning correctly. This
    will soon need to be used for kvm_flush_remote_tlbs().
    
    We can easily update vcpu->cpu when the VCPU context is loaded or saved,
    which will happen when accessing guest context and when the guest is
    scheduled in and out.
    
    We need to be a little careful with vcpu->mode though, as we will in
    future be checking for outstanding VCPU requests, and this must be done
    after the value of IN_GUEST_MODE in vcpu->mode is visible to other CPUs.
    Otherwise the other CPU could fail to trigger an IPI to wait for
    completion dispite the VCPU request not being seen.
    Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: "Radim Krčmář" <rkrcmar@redhat.com>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: linux-mips@linux-mips.org
    Cc: kvm@vger.kernel.org
    4841e0dd
mips.c 43.1 KB