diff options
author | Jan Beulich <jbeulich@suse.com> | 2011-09-22 18:26:54 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2011-09-22 18:26:54 +0100 |
commit | 6865e52b78f4c542e7d53155f7f013016ebfa4ec (patch) | |
tree | 45825ddef27bf733162cf4da5adaaec147994198 /xen/include/xen/iommu.h | |
parent | 1b0061ac2b57297e7d7211ce6f4e1b197b8e0ec2 (diff) | |
download | xen-6865e52b78f4c542e7d53155f7f013016ebfa4ec.tar.gz xen-6865e52b78f4c542e7d53155f7f013016ebfa4ec.tar.bz2 xen-6865e52b78f4c542e7d53155f7f013016ebfa4ec.zip |
PCI multi-seg: adjust domctl interface
Again, a couple of directly related functions at once get adjusted to
account for the segment number.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Diffstat (limited to 'xen/include/xen/iommu.h')
-rw-r--r-- | xen/include/xen/iommu.h | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h index c3f934b87e..e659e49725 100644 --- a/xen/include/xen/iommu.h +++ b/xen/include/xen/iommu.h @@ -74,11 +74,7 @@ int iommu_remove_device(struct pci_dev *pdev); int iommu_domain_init(struct domain *d); void iommu_dom0_init(struct domain *d); void iommu_domain_destroy(struct domain *d); -int device_assigned(u8 bus, u8 devfn); -int assign_device(struct domain *d, u8 bus, u8 devfn); -int deassign_device(struct domain *d, u8 bus, u8 devfn); -int iommu_get_device_group(struct domain *d, u8 bus, u8 devfn, - XEN_GUEST_HANDLE_64(uint32) buf, int max_sdevs); +int deassign_device(struct domain *d, u16 seg, u8 bus, u8 devfn); /* iommu_map_page() takes flags to direct the mapping operation. */ #define _IOMMUF_readable 0 @@ -125,14 +121,14 @@ struct iommu_ops { void (*dom0_init)(struct domain *d); int (*add_device)(struct pci_dev *pdev); int (*remove_device)(struct pci_dev *pdev); - int (*assign_device)(struct domain *d, u8 bus, u8 devfn); + int (*assign_device)(struct domain *d, u16 seg, u8 bus, u8 devfn); void (*teardown)(struct domain *d); int (*map_page)(struct domain *d, unsigned long gfn, unsigned long mfn, unsigned int flags); int (*unmap_page)(struct domain *d, unsigned long gfn); int (*reassign_device)(struct domain *s, struct domain *t, - u8 bus, u8 devfn); - int (*get_device_group_id)(u8 bus, u8 devfn); + u16 seg, u8 bus, u8 devfn); + int (*get_device_group_id)(u16 seg, u8 bus, u8 devfn); void (*update_ire_from_apic)(unsigned int apic, unsigned int reg, unsigned int value); void (*update_ire_from_msi)(struct msi_desc *msi_desc, struct msi_msg *msg); void (*read_msi_from_ire)(struct msi_desc *msi_desc, struct msi_msg *msg); @@ -155,4 +151,6 @@ void iommu_crash_shutdown(void); void iommu_set_dom0_mapping(struct domain *d); void iommu_share_p2m_table(struct domain *d); +int iommu_do_domctl(struct xen_domctl *, XEN_GUEST_HANDLE(xen_domctl_t)); + #endif /* _IOMMU_H_ */ |