aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/kvm_host.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/kvm_host.h')
-rw-r--r--include/linux/kvm_host.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index 6d6e79c59e68..4ee7bc548a83 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -19,6 +19,7 @@
19#include <linux/preempt.h> 19#include <linux/preempt.h>
20#include <linux/msi.h> 20#include <linux/msi.h>
21#include <linux/slab.h> 21#include <linux/slab.h>
22#include <linux/vmalloc.h>
22#include <linux/rcupdate.h> 23#include <linux/rcupdate.h>
23#include <linux/ratelimit.h> 24#include <linux/ratelimit.h>
24#include <linux/err.h> 25#include <linux/err.h>
@@ -730,13 +731,16 @@ void kvm_put_guest_fpu(struct kvm_vcpu *vcpu);
730 731
731void kvm_flush_remote_tlbs(struct kvm *kvm); 732void kvm_flush_remote_tlbs(struct kvm *kvm);
732void kvm_reload_remote_mmus(struct kvm *kvm); 733void kvm_reload_remote_mmus(struct kvm *kvm);
734
735bool kvm_make_vcpus_request_mask(struct kvm *kvm, unsigned int req,
736 unsigned long *vcpu_bitmap, cpumask_var_t tmp);
733bool kvm_make_all_cpus_request(struct kvm *kvm, unsigned int req); 737bool kvm_make_all_cpus_request(struct kvm *kvm, unsigned int req);
734 738
735long kvm_arch_dev_ioctl(struct file *filp, 739long kvm_arch_dev_ioctl(struct file *filp,
736 unsigned int ioctl, unsigned long arg); 740 unsigned int ioctl, unsigned long arg);
737long kvm_arch_vcpu_ioctl(struct file *filp, 741long kvm_arch_vcpu_ioctl(struct file *filp,
738 unsigned int ioctl, unsigned long arg); 742 unsigned int ioctl, unsigned long arg);
739int kvm_arch_vcpu_fault(struct kvm_vcpu *vcpu, struct vm_fault *vmf); 743vm_fault_t kvm_arch_vcpu_fault(struct kvm_vcpu *vcpu, struct vm_fault *vmf);
740 744
741int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext); 745int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext);
742 746
@@ -808,6 +812,10 @@ bool kvm_arch_vcpu_in_kernel(struct kvm_vcpu *vcpu);
808int kvm_arch_vcpu_should_kick(struct kvm_vcpu *vcpu); 812int kvm_arch_vcpu_should_kick(struct kvm_vcpu *vcpu);
809 813
810#ifndef __KVM_HAVE_ARCH_VM_ALLOC 814#ifndef __KVM_HAVE_ARCH_VM_ALLOC
815/*
816 * All architectures that want to use vzalloc currently also
817 * need their own kvm_arch_alloc_vm implementation.
818 */
811static inline struct kvm *kvm_arch_alloc_vm(void) 819static inline struct kvm *kvm_arch_alloc_vm(void)
812{ 820{
813 return kzalloc(sizeof(struct kvm), GFP_KERNEL); 821 return kzalloc(sizeof(struct kvm), GFP_KERNEL);
@@ -1270,4 +1278,13 @@ static inline long kvm_arch_vcpu_async_ioctl(struct file *filp,
1270void kvm_arch_mmu_notifier_invalidate_range(struct kvm *kvm, 1278void kvm_arch_mmu_notifier_invalidate_range(struct kvm *kvm,
1271 unsigned long start, unsigned long end); 1279 unsigned long start, unsigned long end);
1272 1280
1281#ifdef CONFIG_HAVE_KVM_VCPU_RUN_PID_CHANGE
1282int kvm_arch_vcpu_run_pid_change(struct kvm_vcpu *vcpu);
1283#else
1284static inline int kvm_arch_vcpu_run_pid_change(struct kvm_vcpu *vcpu)
1285{
1286 return 0;
1287}
1288#endif /* CONFIG_HAVE_KVM_VCPU_RUN_PID_CHANGE */
1289
1273#endif 1290#endif