diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-28 12:50:11 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-28 12:50:11 -0400 |
| commit | a1865769254dd4eefbc1e857d17bc2a77d5f8580 (patch) | |
| tree | 0e323458d99e2e1222da0157e80fc44e4313f5e2 /include | |
| parent | 0d8762c9ee40cf83d5dbf3a22843bc566912b592 (diff) | |
| parent | e45948b071d8be59044ac232d99a2ca83fd93266 (diff) | |
Merge branch 'kvm-updates/2.6.28' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm
* 'kvm-updates/2.6.28' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm:
KVM: ia64: Makefile fix for forcing to re-generate asm-offsets.h
KVM: Future-proof device assignment ABI
KVM: ia64: Fix halt emulation logic
KVM: Fix guest shared interrupt with in-kernel irqchip
KVM: MMU: sync root on paravirt TLB flush
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/kvm.h | 6 | ||||
| -rw-r--r-- | include/linux/kvm_host.h | 7 |
2 files changed, 12 insertions, 1 deletions
diff --git a/include/linux/kvm.h b/include/linux/kvm.h index 797fcd781242..f18b86fa8655 100644 --- a/include/linux/kvm.h +++ b/include/linux/kvm.h | |||
| @@ -489,6 +489,9 @@ struct kvm_assigned_pci_dev { | |||
| 489 | __u32 busnr; | 489 | __u32 busnr; |
| 490 | __u32 devfn; | 490 | __u32 devfn; |
| 491 | __u32 flags; | 491 | __u32 flags; |
| 492 | union { | ||
| 493 | __u32 reserved[12]; | ||
| 494 | }; | ||
| 492 | }; | 495 | }; |
| 493 | 496 | ||
| 494 | struct kvm_assigned_irq { | 497 | struct kvm_assigned_irq { |
| @@ -496,6 +499,9 @@ struct kvm_assigned_irq { | |||
| 496 | __u32 host_irq; | 499 | __u32 host_irq; |
| 497 | __u32 guest_irq; | 500 | __u32 guest_irq; |
| 498 | __u32 flags; | 501 | __u32 flags; |
| 502 | union { | ||
| 503 | __u32 reserved[12]; | ||
| 504 | }; | ||
| 499 | }; | 505 | }; |
| 500 | 506 | ||
| 501 | #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) | 507 | #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) |
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index 3833c48fae3a..bb92be2153bc 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h | |||
| @@ -37,6 +37,8 @@ | |||
| 37 | #define KVM_REQ_UNHALT 6 | 37 | #define KVM_REQ_UNHALT 6 |
| 38 | #define KVM_REQ_MMU_SYNC 7 | 38 | #define KVM_REQ_MMU_SYNC 7 |
| 39 | 39 | ||
| 40 | #define KVM_USERSPACE_IRQ_SOURCE_ID 0 | ||
| 41 | |||
| 40 | struct kvm_vcpu; | 42 | struct kvm_vcpu; |
| 41 | extern struct kmem_cache *kvm_vcpu_cache; | 43 | extern struct kmem_cache *kvm_vcpu_cache; |
| 42 | 44 | ||
| @@ -306,15 +308,18 @@ struct kvm_assigned_dev_kernel { | |||
| 306 | int host_irq; | 308 | int host_irq; |
| 307 | int guest_irq; | 309 | int guest_irq; |
| 308 | int irq_requested; | 310 | int irq_requested; |
| 311 | int irq_source_id; | ||
| 309 | struct pci_dev *dev; | 312 | struct pci_dev *dev; |
| 310 | struct kvm *kvm; | 313 | struct kvm *kvm; |
| 311 | }; | 314 | }; |
| 312 | void kvm_set_irq(struct kvm *kvm, int irq, int level); | 315 | void kvm_set_irq(struct kvm *kvm, int irq_source_id, int irq, int level); |
| 313 | void kvm_notify_acked_irq(struct kvm *kvm, unsigned gsi); | 316 | void kvm_notify_acked_irq(struct kvm *kvm, unsigned gsi); |
| 314 | void kvm_register_irq_ack_notifier(struct kvm *kvm, | 317 | void kvm_register_irq_ack_notifier(struct kvm *kvm, |
| 315 | struct kvm_irq_ack_notifier *kian); | 318 | struct kvm_irq_ack_notifier *kian); |
| 316 | void kvm_unregister_irq_ack_notifier(struct kvm *kvm, | 319 | void kvm_unregister_irq_ack_notifier(struct kvm *kvm, |
| 317 | struct kvm_irq_ack_notifier *kian); | 320 | struct kvm_irq_ack_notifier *kian); |
| 321 | int kvm_request_irq_source_id(struct kvm *kvm); | ||
| 322 | void kvm_free_irq_source_id(struct kvm *kvm, int irq_source_id); | ||
| 318 | 323 | ||
| 319 | #ifdef CONFIG_DMAR | 324 | #ifdef CONFIG_DMAR |
| 320 | int kvm_iommu_map_pages(struct kvm *kvm, gfn_t base_gfn, | 325 | int kvm_iommu_map_pages(struct kvm *kvm, gfn_t base_gfn, |
