diff options
author | Zhang Xiantao <xiantao.zhang@intel.com> | 2007-12-17 01:21:40 -0500 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-01-30 11:01:19 -0500 |
commit | 5736199afba8a8bb60a1ea282ab72857d6b16400 (patch) | |
tree | ff7d49be0447f158aa821254c3f90d97988985a8 /arch/x86/kvm/irq.c | |
parent | 0eb8f4984824b8a811d44963995133f47813330a (diff) |
KVM: Move kvm_vcpu_kick() to x86.c
Moving kvm_vcpu_kick() to x86.c. Since it should be
common for all archs, put its declarations in <linux/kvm_host.h>
Signed-off-by: Zhang Xiantao <xiantao.zhang@intel.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'arch/x86/kvm/irq.c')
-rw-r--r-- | arch/x86/kvm/irq.c | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/arch/x86/kvm/irq.c b/arch/x86/kvm/irq.c index 07a09aad4fd6..e5714759e97f 100644 --- a/arch/x86/kvm/irq.c +++ b/arch/x86/kvm/irq.c | |||
@@ -63,26 +63,6 @@ int kvm_cpu_get_interrupt(struct kvm_vcpu *v) | |||
63 | } | 63 | } |
64 | EXPORT_SYMBOL_GPL(kvm_cpu_get_interrupt); | 64 | EXPORT_SYMBOL_GPL(kvm_cpu_get_interrupt); |
65 | 65 | ||
66 | static void vcpu_kick_intr(void *info) | ||
67 | { | ||
68 | #ifdef DEBUG | ||
69 | struct kvm_vcpu *vcpu = (struct kvm_vcpu *)info; | ||
70 | printk(KERN_DEBUG "vcpu_kick_intr %p \n", vcpu); | ||
71 | #endif | ||
72 | } | ||
73 | |||
74 | void kvm_vcpu_kick(struct kvm_vcpu *vcpu) | ||
75 | { | ||
76 | int ipi_pcpu = vcpu->cpu; | ||
77 | |||
78 | if (waitqueue_active(&vcpu->wq)) { | ||
79 | wake_up_interruptible(&vcpu->wq); | ||
80 | ++vcpu->stat.halt_wakeup; | ||
81 | } | ||
82 | if (vcpu->guest_mode) | ||
83 | smp_call_function_single(ipi_pcpu, vcpu_kick_intr, vcpu, 0, 0); | ||
84 | } | ||
85 | |||
86 | void kvm_inject_pending_timer_irqs(struct kvm_vcpu *vcpu) | 66 | void kvm_inject_pending_timer_irqs(struct kvm_vcpu *vcpu) |
87 | { | 67 | { |
88 | kvm_inject_apic_timer_irqs(vcpu); | 68 | kvm_inject_apic_timer_irqs(vcpu); |