提交 0937c48d 编写于 作者: S Sheng Yang 提交者: Avi Kivity

KVM: Add fields for MSI device assignment

Prepared for kvm_arch_assigned_device_msi_dispatch().
Signed-off-by: NSheng Yang <sheng@linux.intel.com>
Signed-off-by: NAvi Kivity <avi@redhat.com>
上级 fbac7818
...@@ -507,10 +507,17 @@ struct kvm_assigned_irq { ...@@ -507,10 +507,17 @@ struct kvm_assigned_irq {
__u32 guest_irq; __u32 guest_irq;
__u32 flags; __u32 flags;
union { union {
struct {
__u32 addr_lo;
__u32 addr_hi;
__u32 data;
} guest_msi;
__u32 reserved[12]; __u32 reserved[12];
}; };
}; };
#define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) #define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0)
#define KVM_DEV_IRQ_ASSIGN_ENABLE_MSI (1 << 0)
#endif #endif
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#include <linux/mm.h> #include <linux/mm.h>
#include <linux/preempt.h> #include <linux/preempt.h>
#include <linux/marker.h> #include <linux/marker.h>
#include <linux/msi.h>
#include <asm/signal.h> #include <asm/signal.h>
#include <linux/kvm.h> #include <linux/kvm.h>
...@@ -307,8 +308,11 @@ struct kvm_assigned_dev_kernel { ...@@ -307,8 +308,11 @@ struct kvm_assigned_dev_kernel {
int host_devfn; int host_devfn;
int host_irq; int host_irq;
int guest_irq; int guest_irq;
struct msi_msg guest_msi;
#define KVM_ASSIGNED_DEV_GUEST_INTX (1 << 0) #define KVM_ASSIGNED_DEV_GUEST_INTX (1 << 0)
#define KVM_ASSIGNED_DEV_GUEST_MSI (1 << 1)
#define KVM_ASSIGNED_DEV_HOST_INTX (1 << 8) #define KVM_ASSIGNED_DEV_HOST_INTX (1 << 8)
#define KVM_ASSIGNED_DEV_HOST_MSI (1 << 9)
unsigned long irq_requested_type; unsigned long irq_requested_type;
int irq_source_id; int irq_source_id;
struct pci_dev *dev; struct pci_dev *dev;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册