summaryrefslogtreecommitdiffstats
path: root/arch/mips/kvm/mips.c
diff options
context:
space:
mode:
authorJames Hogan2017-03-14 11:15:31 +0100
committerJames Hogan2017-03-28 15:53:54 +0200
commitc992a4f6a9b0a37c8bd7dfc727ecc3fed125c16b (patch)
tree6dcea7ddf4260afce87b4fddf288b42683aa80ca /arch/mips/kvm/mips.c
parentKVM: MIPS: Update exit handler for VZ (diff)
downloadkernel-qcow2-linux-c992a4f6a9b0a37c8bd7dfc727ecc3fed125c16b.tar.gz
kernel-qcow2-linux-c992a4f6a9b0a37c8bd7dfc727ecc3fed125c16b.tar.xz
kernel-qcow2-linux-c992a4f6a9b0a37c8bd7dfc727ecc3fed125c16b.zip
KVM: MIPS: Implement VZ support
Add the main support for the MIPS Virtualization ASE (A.K.A. VZ) to MIPS KVM. The bulk of this work is in vz.c, with various new state and definitions elsewhere. Enough is implemented to be able to run on a minimal VZ core. Further patches will fill out support for guest features which are optional or can be disabled. Signed-off-by: James Hogan <james.hogan@imgtec.com> Acked-by: Ralf Baechle <ralf@linux-mips.org> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: "Radim Krčmář" <rkrcmar@redhat.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jonathan Corbet <corbet@lwn.net> Cc: linux-mips@linux-mips.org Cc: kvm@vger.kernel.org Cc: linux-doc@vger.kernel.org
Diffstat (limited to 'arch/mips/kvm/mips.c')
-rw-r--r--arch/mips/kvm/mips.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/mips/kvm/mips.c b/arch/mips/kvm/mips.c
index 8c10148a345c..1bb5d01d5dec 100644
--- a/arch/mips/kvm/mips.c
+++ b/arch/mips/kvm/mips.c
@@ -113,7 +113,11 @@ void kvm_arch_check_processor_compat(void *rtn)
int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
{
switch (type) {
+#ifdef CONFIG_KVM_MIPS_VZ
+ case KVM_VM_MIPS_VZ:
+#else
case KVM_VM_MIPS_TE:
+#endif
break;
default:
/* Unsupported KVM type */
@@ -378,6 +382,7 @@ struct kvm_vcpu *kvm_arch_vcpu_create(struct kvm *kvm, unsigned int id)
/* Init */
vcpu->arch.last_sched_cpu = -1;
+ vcpu->arch.last_exec_cpu = -1;
return vcpu;