diff options
Diffstat (limited to 'include/linux/kvm_host.h')
| -rw-r--r-- | include/linux/kvm_host.h | 19 |
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 | ||
| 731 | void kvm_flush_remote_tlbs(struct kvm *kvm); | 732 | void kvm_flush_remote_tlbs(struct kvm *kvm); |
| 732 | void kvm_reload_remote_mmus(struct kvm *kvm); | 733 | void kvm_reload_remote_mmus(struct kvm *kvm); |
| 734 | |||
| 735 | bool kvm_make_vcpus_request_mask(struct kvm *kvm, unsigned int req, | ||
| 736 | unsigned long *vcpu_bitmap, cpumask_var_t tmp); | ||
| 733 | bool kvm_make_all_cpus_request(struct kvm *kvm, unsigned int req); | 737 | bool kvm_make_all_cpus_request(struct kvm *kvm, unsigned int req); |
| 734 | 738 | ||
| 735 | long kvm_arch_dev_ioctl(struct file *filp, | 739 | long kvm_arch_dev_ioctl(struct file *filp, |
| 736 | unsigned int ioctl, unsigned long arg); | 740 | unsigned int ioctl, unsigned long arg); |
| 737 | long kvm_arch_vcpu_ioctl(struct file *filp, | 741 | long kvm_arch_vcpu_ioctl(struct file *filp, |
| 738 | unsigned int ioctl, unsigned long arg); | 742 | unsigned int ioctl, unsigned long arg); |
| 739 | int kvm_arch_vcpu_fault(struct kvm_vcpu *vcpu, struct vm_fault *vmf); | 743 | vm_fault_t kvm_arch_vcpu_fault(struct kvm_vcpu *vcpu, struct vm_fault *vmf); |
| 740 | 744 | ||
| 741 | int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext); | 745 | int 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); | |||
| 808 | int kvm_arch_vcpu_should_kick(struct kvm_vcpu *vcpu); | 812 | int 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 | */ | ||
| 811 | static inline struct kvm *kvm_arch_alloc_vm(void) | 819 | static 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, | |||
| 1270 | void kvm_arch_mmu_notifier_invalidate_range(struct kvm *kvm, | 1278 | void 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 | ||
| 1282 | int kvm_arch_vcpu_run_pid_change(struct kvm_vcpu *vcpu); | ||
| 1283 | #else | ||
| 1284 | static 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 |
