aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/hyperv.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2019-03-31 11:55:59 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2019-03-31 11:55:59 -0400
commit63fc9c23488d6cf34e4c233e24ba59b7e5548412 (patch)
tree08188f35d8625be520730e4ae106e8af2ee7b058 /arch/x86/kvm/hyperv.c
parent915ee0da5ecb7ac7fd023ae36f01c47ce47a45d1 (diff)
parent690edec54cbaa0e98dc592aae6864272f48f3c84 (diff)
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Pull KVM fixes from Paolo Bonzini: "A collection of x86 and ARM bugfixes, and some improvements to documentation. On top of this, a cleanup of kvm_para.h headers, which were exported by some architectures even though they not support KVM at all. This is responsible for all the Kbuild changes in the diffstat" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (28 commits) Documentation: kvm: clarify KVM_SET_USER_MEMORY_REGION KVM: doc: Document the life cycle of a VM and its resources KVM: selftests: complete IO before migrating guest state KVM: selftests: disable stack protector for all KVM tests KVM: selftests: explicitly disable PIE for tests KVM: selftests: assert on exit reason in CR4/cpuid sync test KVM: x86: update %rip after emulating IO x86/kvm/hyper-v: avoid spurious pending stimer on vCPU init kvm/x86: Move MSR_IA32_ARCH_CAPABILITIES to array emulated_msrs KVM: x86: Emulate MSR_IA32_ARCH_CAPABILITIES on AMD hosts kvm: don't redefine flags as something else kvm: mmu: Used range based flushing in slot_handle_level_range KVM: export <linux/kvm_para.h> and <asm/kvm_para.h> iif KVM is supported KVM: x86: remove check on nr_mmu_pages in kvm_arch_commit_memory_region() kvm: nVMX: Add a vmentry check for HOST_SYSENTER_ESP and HOST_SYSENTER_EIP fields KVM: SVM: Workaround errata#1096 (insn_len maybe zero on SMAP violation) KVM: Reject device ioctls from processes other than the VM's creator KVM: doc: Fix incorrect word ordering regarding supported use of APIs KVM: x86: fix handling of role.cr4_pae and rename it to 'gpte_size' KVM: nVMX: Do not inherit quadrant and invalid for the root shadow EPT ...
Diffstat (limited to 'arch/x86/kvm/hyperv.c')
-rw-r--r--arch/x86/kvm/hyperv.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/x86/kvm/hyperv.c b/arch/x86/kvm/hyperv.c
index 27c43525a05f..421899f6ad7b 100644
--- a/arch/x86/kvm/hyperv.c
+++ b/arch/x86/kvm/hyperv.c
@@ -526,7 +526,9 @@ static int stimer_set_config(struct kvm_vcpu_hv_stimer *stimer, u64 config,
526 new_config.enable = 0; 526 new_config.enable = 0;
527 stimer->config.as_uint64 = new_config.as_uint64; 527 stimer->config.as_uint64 = new_config.as_uint64;
528 528
529 stimer_mark_pending(stimer, false); 529 if (stimer->config.enable)
530 stimer_mark_pending(stimer, false);
531
530 return 0; 532 return 0;
531} 533}
532 534
@@ -542,7 +544,10 @@ static int stimer_set_count(struct kvm_vcpu_hv_stimer *stimer, u64 count,
542 stimer->config.enable = 0; 544 stimer->config.enable = 0;
543 else if (stimer->config.auto_enable) 545 else if (stimer->config.auto_enable)
544 stimer->config.enable = 1; 546 stimer->config.enable = 1;
545 stimer_mark_pending(stimer, false); 547
548 if (stimer->config.enable)
549 stimer_mark_pending(stimer, false);
550
546 return 0; 551 return 0;
547} 552}
548 553