diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-03-31 11:55:59 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-03-31 11:55:59 -0400 |
commit | 63fc9c23488d6cf34e4c233e24ba59b7e5548412 (patch) | |
tree | 08188f35d8625be520730e4ae106e8af2ee7b058 /arch/x86/kvm/hyperv.c | |
parent | 915ee0da5ecb7ac7fd023ae36f01c47ce47a45d1 (diff) | |
parent | 690edec54cbaa0e98dc592aae6864272f48f3c84 (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.c | 9 |
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 | ||