diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-18 19:05:28 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-18 19:05:28 -0500 |
commit | 66dcff86ba40eebb5133cccf450878f2bba102ef (patch) | |
tree | e7eb49ad9316989a529b00303d2dd2cffa61a7f5 /arch/arm/kvm/guest.c | |
parent | 91ed9e8a32d9a76adc59c83f8b40024076cf8a02 (diff) | |
parent | 2c4aa55a6af070262cca425745e8e54310e96b8d (diff) |
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Pull KVM update from Paolo Bonzini:
"3.19 changes for KVM:
- spring cleaning: removed support for IA64, and for hardware-
assisted virtualization on the PPC970
- ARM, PPC, s390 all had only small fixes
For x86:
- small performance improvements (though only on weird guests)
- usual round of hardware-compliancy fixes from Nadav
- APICv fixes
- XSAVES support for hosts and guests. XSAVES hosts were broken
because the (non-KVM) XSAVES patches inadvertently changed the KVM
userspace ABI whenever XSAVES was enabled; hence, this part is
going to stable. Guest support is just a matter of exposing the
feature and CPUID leaves support"
* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (179 commits)
KVM: move APIC types to arch/x86/
KVM: PPC: Book3S: Enable in-kernel XICS emulation by default
KVM: PPC: Book3S HV: Improve H_CONFER implementation
KVM: PPC: Book3S HV: Fix endianness of instruction obtained from HEIR register
KVM: PPC: Book3S HV: Remove code for PPC970 processors
KVM: PPC: Book3S HV: Tracepoints for KVM HV guest interactions
KVM: PPC: Book3S HV: Simplify locking around stolen time calculations
arch: powerpc: kvm: book3s_paired_singles.c: Remove unused function
arch: powerpc: kvm: book3s_pr.c: Remove unused function
arch: powerpc: kvm: book3s.c: Remove some unused functions
arch: powerpc: kvm: book3s_32_mmu.c: Remove unused function
KVM: PPC: Book3S HV: Check wait conditions before sleeping in kvmppc_vcore_blocked
KVM: PPC: Book3S HV: ptes are big endian
KVM: PPC: Book3S HV: Fix inaccuracies in ICP emulation for H_IPI
KVM: PPC: Book3S HV: Fix KSM memory corruption
KVM: PPC: Book3S HV: Fix an issue where guest is paused on receiving HMI
KVM: PPC: Book3S HV: Fix computation of tlbie operand
KVM: PPC: Book3S HV: Add missing HPTE unlock
KVM: PPC: BookE: Improve irq inject tracepoint
arm/arm64: KVM: Require in-kernel vgic for the arch timers
...
Diffstat (limited to 'arch/arm/kvm/guest.c')
-rw-r--r-- | arch/arm/kvm/guest.c | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/arch/arm/kvm/guest.c b/arch/arm/kvm/guest.c index cc0b78769bd8..384bab67c462 100644 --- a/arch/arm/kvm/guest.c +++ b/arch/arm/kvm/guest.c | |||
@@ -38,7 +38,6 @@ struct kvm_stats_debugfs_item debugfs_entries[] = { | |||
38 | 38 | ||
39 | int kvm_arch_vcpu_setup(struct kvm_vcpu *vcpu) | 39 | int kvm_arch_vcpu_setup(struct kvm_vcpu *vcpu) |
40 | { | 40 | { |
41 | vcpu->arch.hcr = HCR_GUEST_MASK; | ||
42 | return 0; | 41 | return 0; |
43 | } | 42 | } |
44 | 43 | ||
@@ -274,31 +273,6 @@ int __attribute_const__ kvm_target_cpu(void) | |||
274 | } | 273 | } |
275 | } | 274 | } |
276 | 275 | ||
277 | int kvm_vcpu_set_target(struct kvm_vcpu *vcpu, | ||
278 | const struct kvm_vcpu_init *init) | ||
279 | { | ||
280 | unsigned int i; | ||
281 | |||
282 | /* We can only cope with guest==host and only on A15/A7 (for now). */ | ||
283 | if (init->target != kvm_target_cpu()) | ||
284 | return -EINVAL; | ||
285 | |||
286 | vcpu->arch.target = init->target; | ||
287 | bitmap_zero(vcpu->arch.features, KVM_VCPU_MAX_FEATURES); | ||
288 | |||
289 | /* -ENOENT for unknown features, -EINVAL for invalid combinations. */ | ||
290 | for (i = 0; i < sizeof(init->features) * 8; i++) { | ||
291 | if (test_bit(i, (void *)init->features)) { | ||
292 | if (i >= KVM_VCPU_MAX_FEATURES) | ||
293 | return -ENOENT; | ||
294 | set_bit(i, vcpu->arch.features); | ||
295 | } | ||
296 | } | ||
297 | |||
298 | /* Now we know what it is, we can reset it. */ | ||
299 | return kvm_reset_vcpu(vcpu); | ||
300 | } | ||
301 | |||
302 | int kvm_vcpu_preferred_target(struct kvm_vcpu_init *init) | 276 | int kvm_vcpu_preferred_target(struct kvm_vcpu_init *init) |
303 | { | 277 | { |
304 | int target = kvm_target_cpu(); | 278 | int target = kvm_target_cpu(); |