aboutsummaryrefslogtreecommitdiffstats
path: root/virt/kvm/kvm_main.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-11-16 16:00:24 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2017-11-16 16:00:24 -0500
commit974aa5630b318938273d7efe7a2cf031c7b927db (patch)
treeb79803c07b9c16d87058ce69f80ebe173cdfd838 /virt/kvm/kvm_main.c
parent441692aafc1731087bbaf657a8b6059d95c2a6df (diff)
parenta6014f1ab7088dc02b58991cfb6b32a34afdbf12 (diff)
Merge tag 'kvm-4.15-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Pull KVM updates from Radim Krčmář: "First batch of KVM changes for 4.15 Common: - Python 3 support in kvm_stat - Accounting of slabs to kmemcg ARM: - Optimized arch timer handling for KVM/ARM - Improvements to the VGIC ITS code and introduction of an ITS reset ioctl - Unification of the 32-bit fault injection logic - More exact external abort matching logic PPC: - Support for running hashed page table (HPT) MMU mode on a host that is using the radix MMU mode; single threaded mode on POWER 9 is added as a pre-requisite - Resolution of merge conflicts with the last second 4.14 HPT fixes - Fixes and cleanups s390: - Some initial preparation patches for exitless interrupts and crypto - New capability for AIS migration - Fixes x86: - Improved emulation of LAPIC timer mode changes, MCi_STATUS MSRs, and after-reset state - Refined dependencies for VMX features - Fixes for nested SMI injection - A lot of cleanups" * tag 'kvm-4.15-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (89 commits) KVM: s390: provide a capability for AIS state migration KVM: s390: clear_io_irq() requests are not expected for adapter interrupts KVM: s390: abstract conversion between isc and enum irq_types KVM: s390: vsie: use common code functions for pinning KVM: s390: SIE considerations for AP Queue virtualization KVM: s390: document memory ordering for kvm_s390_vcpu_wakeup KVM: PPC: Book3S HV: Cosmetic post-merge cleanups KVM: arm/arm64: fix the incompatible matching for external abort KVM: arm/arm64: Unify 32bit fault injection KVM: arm/arm64: vgic-its: Implement KVM_DEV_ARM_ITS_CTRL_RESET KVM: arm/arm64: Document KVM_DEV_ARM_ITS_CTRL_RESET KVM: arm/arm64: vgic-its: Free caches when GITS_BASER Valid bit is cleared KVM: arm/arm64: vgic-its: New helper functions to free the caches KVM: arm/arm64: vgic-its: Remove kvm_its_unmap_device arm/arm64: KVM: Load the timer state when enabling the timer KVM: arm/arm64: Rework kvm_timer_should_fire KVM: arm/arm64: Get rid of kvm_timer_flush_hwstate KVM: arm/arm64: Avoid phys timer emulation in vcpu entry/exit KVM: arm/arm64: Move phys_timer_emulate function KVM: arm/arm64: Use kvm_arm_timer_set/get_reg for guest register traps ...
Diffstat (limited to 'virt/kvm/kvm_main.c')
-rw-r--r--virt/kvm/kvm_main.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index ce507ae1d4f5..2dd1a9ca4599 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -122,7 +122,6 @@ static void hardware_disable_all(void);
122 122
123static void kvm_io_bus_destroy(struct kvm_io_bus *bus); 123static void kvm_io_bus_destroy(struct kvm_io_bus *bus);
124 124
125static void kvm_release_pfn_dirty(kvm_pfn_t pfn);
126static void mark_page_dirty_in_slot(struct kvm_memory_slot *memslot, gfn_t gfn); 125static void mark_page_dirty_in_slot(struct kvm_memory_slot *memslot, gfn_t gfn);
127 126
128__visible bool kvm_rebooting; 127__visible bool kvm_rebooting;
@@ -1679,11 +1678,12 @@ void kvm_release_page_dirty(struct page *page)
1679} 1678}
1680EXPORT_SYMBOL_GPL(kvm_release_page_dirty); 1679EXPORT_SYMBOL_GPL(kvm_release_page_dirty);
1681 1680
1682static void kvm_release_pfn_dirty(kvm_pfn_t pfn) 1681void kvm_release_pfn_dirty(kvm_pfn_t pfn)
1683{ 1682{
1684 kvm_set_pfn_dirty(pfn); 1683 kvm_set_pfn_dirty(pfn);
1685 kvm_release_pfn_clean(pfn); 1684 kvm_release_pfn_clean(pfn);
1686} 1685}
1686EXPORT_SYMBOL_GPL(kvm_release_pfn_dirty);
1687 1687
1688void kvm_set_pfn_dirty(kvm_pfn_t pfn) 1688void kvm_set_pfn_dirty(kvm_pfn_t pfn)
1689{ 1689{
@@ -4010,7 +4010,7 @@ int kvm_init(void *opaque, unsigned vcpu_size, unsigned vcpu_align,
4010 if (!vcpu_align) 4010 if (!vcpu_align)
4011 vcpu_align = __alignof__(struct kvm_vcpu); 4011 vcpu_align = __alignof__(struct kvm_vcpu);
4012 kvm_vcpu_cache = kmem_cache_create("kvm_vcpu", vcpu_size, vcpu_align, 4012 kvm_vcpu_cache = kmem_cache_create("kvm_vcpu", vcpu_size, vcpu_align,
4013 0, NULL); 4013 SLAB_ACCOUNT, NULL);
4014 if (!kvm_vcpu_cache) { 4014 if (!kvm_vcpu_cache) {
4015 r = -ENOMEM; 4015 r = -ENOMEM;
4016 goto out_free_3; 4016 goto out_free_3;