diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2019-06-02 13:19:39 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2019-06-02 13:19:39 -0400 |
commit | b44a1dd3f648a433c525efcdd6ba95ad89d50e27 (patch) | |
tree | 5eb89bc180eafb746eb3c2db49aa705a88d9ba07 /virt | |
parent | 38baf0bb79f51b4fcbf6df8fd181441d7b5c7913 (diff) | |
parent | f8d221d2e0e1572d0d60174c118e3554d1aa79fa (diff) |
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Pull KVM fixes from Paolo Bonzini:
"Fixes for PPC and s390"
* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
KVM: PPC: Book3S HV: Restore SPRG3 in kvmhv_p9_guest_entry()
KVM: PPC: Book3S HV: Fix lockdep warning when entering guest on POWER9
KVM: PPC: Book3S HV: XIVE: Fix page offset when clearing ESB pages
KVM: PPC: Book3S HV: XIVE: Take the srcu read lock when accessing memslots
KVM: PPC: Book3S HV: XIVE: Do not clear IRQ data of passthrough interrupts
KVM: PPC: Book3S HV: XIVE: Introduce a new mutex for the XIVE device
KVM: PPC: Book3S HV: XIVE: Fix the enforced limit on the vCPU identifier
KVM: PPC: Book3S HV: XIVE: Do not test the EQ flag validity when resetting
KVM: PPC: Book3S HV: XIVE: Clear file mapping when device is released
KVM: PPC: Book3S HV: Don't take kvm->lock around kvm_for_each_vcpu
KVM: PPC: Book3S: Use new mutex to synchronize access to rtas token list
KVM: PPC: Book3S HV: Use new mutex to synchronize MMU setup
KVM: PPC: Book3S HV: Avoid touching arch.mmu_ready in XIVE release functions
KVM: s390: Do not report unusabled IDs via KVM_CAP_MAX_VCPU_ID
kvm: fix compile on s390 part 2
Diffstat (limited to 'virt')
-rw-r--r-- | virt/kvm/arm/arm.c | 3 | ||||
-rw-r--r-- | virt/kvm/kvm_main.c | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/virt/kvm/arm/arm.c b/virt/kvm/arm/arm.c index 90cedebaeb94..7eeebe5e9da2 100644 --- a/virt/kvm/arm/arm.c +++ b/virt/kvm/arm/arm.c | |||
@@ -224,6 +224,9 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) | |||
224 | case KVM_CAP_MAX_VCPUS: | 224 | case KVM_CAP_MAX_VCPUS: |
225 | r = KVM_MAX_VCPUS; | 225 | r = KVM_MAX_VCPUS; |
226 | break; | 226 | break; |
227 | case KVM_CAP_MAX_VCPU_ID: | ||
228 | r = KVM_MAX_VCPU_ID; | ||
229 | break; | ||
227 | case KVM_CAP_MSI_DEVID: | 230 | case KVM_CAP_MSI_DEVID: |
228 | if (!kvm) | 231 | if (!kvm) |
229 | r = -EINVAL; | 232 | r = -EINVAL; |
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index 134ec0283a8a..ca54b09adf5b 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c | |||
@@ -1795,8 +1795,10 @@ void kvm_vcpu_unmap(struct kvm_vcpu *vcpu, struct kvm_host_map *map, | |||
1795 | 1795 | ||
1796 | if (map->page) | 1796 | if (map->page) |
1797 | kunmap(map->page); | 1797 | kunmap(map->page); |
1798 | #ifdef CONFIG_HAS_IOMEM | ||
1798 | else | 1799 | else |
1799 | memunmap(map->hva); | 1800 | memunmap(map->hva); |
1801 | #endif | ||
1800 | 1802 | ||
1801 | if (dirty) { | 1803 | if (dirty) { |
1802 | kvm_vcpu_mark_page_dirty(vcpu, map->gfn); | 1804 | kvm_vcpu_mark_page_dirty(vcpu, map->gfn); |
@@ -3149,8 +3151,6 @@ static long kvm_vm_ioctl_check_extension_generic(struct kvm *kvm, long arg) | |||
3149 | case KVM_CAP_MULTI_ADDRESS_SPACE: | 3151 | case KVM_CAP_MULTI_ADDRESS_SPACE: |
3150 | return KVM_ADDRESS_SPACE_NUM; | 3152 | return KVM_ADDRESS_SPACE_NUM; |
3151 | #endif | 3153 | #endif |
3152 | case KVM_CAP_MAX_VCPU_ID: | ||
3153 | return KVM_MAX_VCPU_ID; | ||
3154 | case KVM_CAP_NR_MEMSLOTS: | 3154 | case KVM_CAP_NR_MEMSLOTS: |
3155 | return KVM_USER_MEM_SLOTS; | 3155 | return KVM_USER_MEM_SLOTS; |
3156 | default: | 3156 | default: |