On Tue, Oct 14, 2008 at 06:59:28PM +0800, Yu Zhao wrote: > +++ b/drivers/pci/pci.h > @@ -176,4 +176,59 @@ static inline int pci_ari_enabled(struct pci_dev *dev) > +struct pci_iov { > + int cap; /* capability position */ > + int align; /* page size used to map memory space */ > + int is_enabled; /* status of SR-IOV */ > + int nentries; /* number of sysfs entries used by PF driver */ > + u16 totalvfs; /* total VFs associated with the PF */ > + u16 initialvfs; /* initial VFs associated with the PF */ > + u16 numvfs; /* number of VFs available */ > + u16 offset; /* first VF Routing ID offset */ > + u16 stride; /* following VF stride */ > + struct mutex mutex; /* lock for SR-IOV */ > + struct kobject kobj; /* koject for IOV */ > + struct pci_dev *dev; /* Physical Function */ > + struct vf_entry *ve; /* Virtual Function related */ > + int (*notify)(struct pci_dev *, u32); /* event callback function */ > +}; > +++ b/include/linux/pci.h > @@ -87,6 +87,12 @@ enum { > /* #6: expansion ROM */ > PCI_ROM_RESOURCE, > > + /* device specific resources */ > +#ifdef CONFIG_PCI_IOV > + PCI_IOV_RESOURCES, > + PCI_IOV_RESOURCES_END = PCI_IOV_RESOURCES + PCI_IOV_NUM_BAR - 1, > +#endif > + > /* address space assigned to buses behind the bridge */ > #ifndef PCI_BRIDGE_RES_NUM > #define PCI_BRIDGE_RES_NUM 4 Why expand the number of resources in struct pci_dev instead of putting the new resources in struct pci_iov? -- Matthew Wilcox Intel Open Source Technology Centre "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step." -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html