| Submitter | Isaku Yamahata |
|---|---|
| Date | June 17, 2010, 6:15 a.m. |
| Message ID | <16f393b5eebf6fb5182668d32c62dd03cedb02cc.1276755023.git.yamahata@valinux.co.jp> |
| Download | mbox | patch |
| Permalink | /patch/55966/ |
| State | New |
| Headers | show |
Comments
On Thu, Jun 17, 2010 at 03:15:47PM +0900, Isaku Yamahata wrote: > helper function to add ssvid capability. > > Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> But .. this is unused? > --- > hw/pci_bridge.c | 20 ++++++++++++++++++++ > hw/pci_bridge.h | 3 +++ > 2 files changed, 23 insertions(+), 0 deletions(-) > > diff --git a/hw/pci_bridge.c b/hw/pci_bridge.c > index 43c21d4..1397a11 100644 > --- a/hw/pci_bridge.c > +++ b/hw/pci_bridge.c > @@ -29,6 +29,26 @@ > > #include "pci_bridge.h" > > +/* PCI bridge subsystem vendor ID helper functions */ > +#define PCI_SSVID_SIZEOF 8 > +#define PCI_SSVID_SVID 4 > +#define PCI_SSVID_SSID 6 > + > +int pci_bridge_ssvid_init(PCIDevice *dev, uint8_t offset, > + uint16_t svid, uint16_t ssid) > +{ > + int pos; > + pos = pci_add_capability_at_offset(dev, PCI_CAP_ID_SSVID, > + offset, PCI_SSVID_SIZEOF); > + if (pos < 0) { > + return pos; > + } > + > + pci_set_word(dev->config + pos + PCI_SSVID_SVID, svid); > + pci_set_word(dev->config + pos + PCI_SSVID_SSID, ssid); > + return pos; > +} > + > void pci_bridge_write_config(PCIDevice *d, > uint32_t address, uint32_t val, int len) > { > diff --git a/hw/pci_bridge.h b/hw/pci_bridge.h > index 2747e7f..a1f160b 100644 > --- a/hw/pci_bridge.h > +++ b/hw/pci_bridge.h > @@ -23,6 +23,9 @@ > > #include "pci.h" > > +int pci_bridge_ssvid_init(PCIDevice *dev, uint8_t offset, > + uint16_t svid, uint16_t ssid); > + > struct PCIBridge { > PCIDevice dev; > > -- > 1.6.6.1
Patch
diff --git a/hw/pci_bridge.c b/hw/pci_bridge.c index 43c21d4..1397a11 100644 --- a/hw/pci_bridge.c +++ b/hw/pci_bridge.c @@ -29,6 +29,26 @@ #include "pci_bridge.h" +/* PCI bridge subsystem vendor ID helper functions */ +#define PCI_SSVID_SIZEOF 8 +#define PCI_SSVID_SVID 4 +#define PCI_SSVID_SSID 6 + +int pci_bridge_ssvid_init(PCIDevice *dev, uint8_t offset, + uint16_t svid, uint16_t ssid) +{ + int pos; + pos = pci_add_capability_at_offset(dev, PCI_CAP_ID_SSVID, + offset, PCI_SSVID_SIZEOF); + if (pos < 0) { + return pos; + } + + pci_set_word(dev->config + pos + PCI_SSVID_SVID, svid); + pci_set_word(dev->config + pos + PCI_SSVID_SSID, ssid); + return pos; +} + void pci_bridge_write_config(PCIDevice *d, uint32_t address, uint32_t val, int len) { diff --git a/hw/pci_bridge.h b/hw/pci_bridge.h index 2747e7f..a1f160b 100644 --- a/hw/pci_bridge.h +++ b/hw/pci_bridge.h @@ -23,6 +23,9 @@ #include "pci.h" +int pci_bridge_ssvid_init(PCIDevice *dev, uint8_t offset, + uint16_t svid, uint16_t ssid); + struct PCIBridge { PCIDevice dev;
helper function to add ssvid capability. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> --- hw/pci_bridge.c | 20 ++++++++++++++++++++ hw/pci_bridge.h | 3 +++ 2 files changed, 23 insertions(+), 0 deletions(-)