diff options
author | Marcelo Tosatti <mtosatti@redhat.com> | 2012-12-09 15:44:10 -0500 |
---|---|---|
committer | Marcelo Tosatti <mtosatti@redhat.com> | 2012-12-09 15:44:10 -0500 |
commit | d2ff4fc557a4c5248b2d99b0d48e47a246d994b2 (patch) | |
tree | dcb1af3d5cbb0aa9279baeb4d4760ef43d78b5e6 /virt/kvm/eventfd.c | |
parent | 8f536b7697a0d40ef6b5fd04cf2c04953d5ca06f (diff) | |
parent | 352df1deb2e3c40e65ff94c8d7c62d9144446b1c (diff) |
Merge branch 'for-upstream' of https://github.com/agraf/linux-2.6 into queue
* 'for-upstream' of https://github.com/agraf/linux-2.6: (28 commits)
KVM: PPC: booke: Get/set guest EPCR register using ONE_REG interface
KVM: PPC: bookehv: Add EPCR support in mtspr/mfspr emulation
KVM: PPC: bookehv: Add guest computation mode for irq delivery
KVM: PPC: Make EPCR a valid field for booke64 and bookehv
KVM: PPC: booke: Extend MAS2 EPN mask for 64-bit
KVM: PPC: e500: Mask MAS2 EPN high 32-bits in 32/64 tlbwe emulation
KVM: PPC: Mask ea's high 32-bits in 32/64 instr emulation
KVM: PPC: e500: Add emulation helper for getting instruction ea
KVM: PPC: bookehv64: Add support for interrupt handling
KVM: PPC: bookehv: Remove GET_VCPU macro from exception handler
KVM: PPC: booke: Fix get_tb() compile error on 64-bit
KVM: PPC: e500: Silence bogus GCC warning in tlb code
KVM: PPC: Book3S HV: Handle guest-caused machine checks on POWER7 without panicking
KVM: PPC: Book3S HV: Improve handling of local vs. global TLB invalidations
MAINTAINERS: Add git tree link for PPC KVM
KVM: PPC: Book3S PR: MSR_DE doesn't exist on Book 3S
KVM: PPC: Book3S PR: Fix VSX handling
KVM: PPC: Book3S PR: Emulate PURR, SPURR and DSCR registers
KVM: PPC: Book3S HV: Don't give the guest RW access to RO pages
KVM: PPC: Book3S HV: Report correct HPT entry index when reading HPT
...
Diffstat (limited to 'virt/kvm/eventfd.c')
-rw-r--r-- | virt/kvm/eventfd.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/virt/kvm/eventfd.c b/virt/kvm/eventfd.c index 9718e98d6d2a..d7424c8c138a 100644 --- a/virt/kvm/eventfd.c +++ b/virt/kvm/eventfd.c | |||
@@ -35,6 +35,7 @@ | |||
35 | 35 | ||
36 | #include "iodev.h" | 36 | #include "iodev.h" |
37 | 37 | ||
38 | #ifdef __KVM_HAVE_IOAPIC | ||
38 | /* | 39 | /* |
39 | * -------------------------------------------------------------------- | 40 | * -------------------------------------------------------------------- |
40 | * irqfd: Allows an fd to be used to inject an interrupt to the guest | 41 | * irqfd: Allows an fd to be used to inject an interrupt to the guest |
@@ -425,17 +426,21 @@ fail: | |||
425 | kfree(irqfd); | 426 | kfree(irqfd); |
426 | return ret; | 427 | return ret; |
427 | } | 428 | } |
429 | #endif | ||
428 | 430 | ||
429 | void | 431 | void |
430 | kvm_eventfd_init(struct kvm *kvm) | 432 | kvm_eventfd_init(struct kvm *kvm) |
431 | { | 433 | { |
434 | #ifdef __KVM_HAVE_IOAPIC | ||
432 | spin_lock_init(&kvm->irqfds.lock); | 435 | spin_lock_init(&kvm->irqfds.lock); |
433 | INIT_LIST_HEAD(&kvm->irqfds.items); | 436 | INIT_LIST_HEAD(&kvm->irqfds.items); |
434 | INIT_LIST_HEAD(&kvm->irqfds.resampler_list); | 437 | INIT_LIST_HEAD(&kvm->irqfds.resampler_list); |
435 | mutex_init(&kvm->irqfds.resampler_lock); | 438 | mutex_init(&kvm->irqfds.resampler_lock); |
439 | #endif | ||
436 | INIT_LIST_HEAD(&kvm->ioeventfds); | 440 | INIT_LIST_HEAD(&kvm->ioeventfds); |
437 | } | 441 | } |
438 | 442 | ||
443 | #ifdef __KVM_HAVE_IOAPIC | ||
439 | /* | 444 | /* |
440 | * shutdown any irqfd's that match fd+gsi | 445 | * shutdown any irqfd's that match fd+gsi |
441 | */ | 446 | */ |
@@ -555,6 +560,7 @@ static void __exit irqfd_module_exit(void) | |||
555 | 560 | ||
556 | module_init(irqfd_module_init); | 561 | module_init(irqfd_module_init); |
557 | module_exit(irqfd_module_exit); | 562 | module_exit(irqfd_module_exit); |
563 | #endif | ||
558 | 564 | ||
559 | /* | 565 | /* |
560 | * -------------------------------------------------------------------- | 566 | * -------------------------------------------------------------------- |