summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorZhai, Edwin <edwin.zhai@intel.com>2010-01-29 14:38:44 +0800
committerMarcelo Tosatti <mtosatti@redhat.com>2010-03-01 12:36:06 -0300
commitab9f4ecbb6d39a18e300a0d10a4968c37404aa76 (patch)
tree1f7fba2feaeca2f6d643437167c7b9036c909c98 /include/linux
parent6d3e435e708fa32f99b780caf6c5508a606a513b (diff)
downloadlinux-ab9f4ecbb6d39a18e300a0d10a4968c37404aa76.tar.gz
linux-ab9f4ecbb6d39a18e300a0d10a4968c37404aa76.tar.bz2
linux-ab9f4ecbb6d39a18e300a0d10a4968c37404aa76.zip
KVM: enable PCI multiple-segments for pass-through device
Enable optional parameter (default 0) - PCI segment (or domain) besides BDF, when assigning PCI device to guest. Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> Acked-by: Chris Wright <chrisw@sous-sol.org> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/kvm.h4
-rw-r--r--include/linux/kvm_host.h1
2 files changed, 4 insertions, 1 deletions
diff --git a/include/linux/kvm.h b/include/linux/kvm.h
index 4c4937e7f65f..dfa54be881f4 100644
--- a/include/linux/kvm.h
+++ b/include/linux/kvm.h
@@ -500,6 +500,7 @@ struct kvm_ioeventfd {
#define KVM_CAP_HYPERV 44
#define KVM_CAP_HYPERV_VAPIC 45
#define KVM_CAP_HYPERV_SPIN 46
+#define KVM_CAP_PCI_SEGMENT 47
#ifdef KVM_CAP_IRQ_ROUTING
@@ -694,8 +695,9 @@ struct kvm_assigned_pci_dev {
__u32 busnr;
__u32 devfn;
__u32 flags;
+ __u32 segnr;
union {
- __u32 reserved[12];
+ __u32 reserved[11];
};
};
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index dfde04b0d453..665c37063f30 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -400,6 +400,7 @@ struct kvm_assigned_dev_kernel {
struct work_struct interrupt_work;
struct list_head list;
int assigned_dev_id;
+ int host_segnr;
int host_busnr;
int host_devfn;
unsigned int entries_nr;