Patchwork [20/23] Add version_id to PCIDevice.

login
register
mail settings
Submitter Juan Quintela
Date Aug. 20, 2009, 5:42 p.m.
Message ID <048443cae7e2ca93312611685292efca191d122a.1250788880.git.quintela@redhat.com>
Download mbox | patch
Permalink /patch/31772/
State Superseded
Headers show

Comments

Juan Quintela - Aug. 20, 2009, 5:42 p.m.
It is needed for VMState

Signed-off-by: Juan Quintela <quintela@redhat.com>
---
 hw/pci.c |    3 ++-
 hw/pci.h |    2 ++
 2 files changed, 4 insertions(+), 1 deletions(-)

Patch

diff --git a/hw/pci.c b/hw/pci.c
index 681b9d2..7644dee 100644
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -144,7 +144,7 @@  void pci_device_save(PCIDevice *s, QEMUFile *f)
 {
     int i;

-    qemu_put_be32(f, 2); /* PCI device version */
+    qemu_put_be32(f, s->version_id); /* PCI device version */
     qemu_put_buffer(f, s->config, 256);
     for (i = 0; i < 4; i++)
         qemu_put_be32(f, s->irq_state[i]);
@@ -319,6 +319,7 @@  static PCIDevice *do_pci_register_device(PCIDevice *pci_dev, PCIBus *bus,
     pci_dev->config_write = config_write;
     bus->devices[devfn] = pci_dev;
     pci_dev->irq = qemu_allocate_irqs(pci_set_irq, pci_dev, 4);
+    pci_dev->version_id = 2; /* Current pci device vmstate version */
     return pci_dev;
 }

diff --git a/hw/pci.h b/hw/pci.h
index a2ec16a..32e98d4 100644
--- a/hw/pci.h
+++ b/hw/pci.h
@@ -209,6 +209,8 @@  struct PCIDevice {
     unsigned *msix_entry_used;
     /* Region including the MSI-X table */
     uint32_t msix_bar_size;
+    /* Version id needed for VMState */
+    int32_t version_id;
 };

 PCIDevice *pci_register_device(PCIBus *bus, const char *name,