linux/arch/mips
James Hogan 4841e0dd4f KVM: MIPS: Update vcpu->mode and vcpu->cpu
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: James 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
2017-02-03 15:21:08 +00:00
..
alchemy clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
ar7
ath25
ath79
bcm47xx
bcm63xx
bmips
boot RTC for 4.10 2016-12-18 18:18:03 -08:00
cavium-octeon clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
cobalt
configs
dec Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
emma
fw
generic
include KVM: MIPS/MMU: Convert guest physical map to page table 2017-02-03 15:21:08 +00:00
jazz Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
jz4740 clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
kernel Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-12-25 14:30:04 -08:00
kvm KVM: MIPS: Update vcpu->mode and vcpu->cpu 2017-02-03 15:21:08 +00:00
lantiq MIPS: Lantiq: Fix mask of GPE frequency 2016-12-11 11:20:25 +01:00
lasat
lib MIPS: dump_tlb: Fix printk continuations 2016-11-04 01:04:32 +01:00
loongson32 clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
loongson64 clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
math-emu Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
mm MIPS: Export some tlbex internals for KVM to use 2017-02-03 15:19:01 +00:00
mti-malta clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
net
netlogic clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
oprofile Merge branch 'smp-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-12-25 14:05:56 -08:00
paravirt
pci
pic32
pistachio
pmcs-msp71xx
pnx833x
power
ralink
rb532
sgi-ip22 Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
sgi-ip27 clocksource: Use a plain u64 instead of cycle_t 2016-12-25 11:04:12 +01:00
sgi-ip32 Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
sibyte Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
sni
txx9
vdso
vr41xx
xilfpga
Kbuild
Kbuild.platforms
Kconfig
Kconfig.debug
Makefile