[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [ANNOUNCE] QEMU 1.5.0-rc2 is now available

From: KONRAD Frédéric
Subject: Re: [Qemu-devel] [ANNOUNCE] QEMU 1.5.0-rc2 is now available
Date: Thu, 16 May 2013 18:53:32 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130311 Thunderbird/17.0.4

On 16/05/2013 18:49, mdroth wrote:
On Thu, May 16, 2013 at 06:34:09PM +0200, KONRAD Frédéric wrote:
On 16/05/2013 18:07, Paolo Bonzini wrote:
Il 16/05/2013 17:54, KONRAD Frédéric ha scritto:
I think this can do the job, any better idea?

diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index d5257ed..e033b53 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -43,7 +43,6 @@

  static void pcibus_dev_print(Monitor *mon, DeviceState *dev, int indent);
-static char *pcibus_get_dev_path(DeviceState *dev);
  static char *pcibus_get_fw_dev_path(DeviceState *dev);
  static int pcibus_reset(BusState *qbus);

@@ -2129,7 +2128,7 @@ static char *pcibus_get_fw_dev_path(DeviceState *dev)
      return g_strdup(path);

-static char *pcibus_get_dev_path(DeviceState *dev)
+char *pcibus_get_dev_path(DeviceState *dev)
      PCIDevice *d = container_of(dev, PCIDevice, qdev);
      PCIDevice *t;
diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
index 70d2c6b..0241223 100644
--- a/hw/virtio/virtio-pci.c
+++ b/hw/virtio/virtio-pci.c
@@ -1514,11 +1514,19 @@ static void virtio_pci_bus_new(VirtioBusState
*bus, VirtIOPCIProxy *dev)
      qbus->allow_hotplug = 1;

+static char *virtio_pci_bus_get_dev_path(DeviceState *dev)
+    BusState *bus = qdev_get_parent_bus(dev);
+    DeviceState *proxy = DEVICE(bus->parent);
+    return g_strdup(pcibus_get_dev_path(proxy));
You do not need to export pcibus_get_dev_path.  This should just return
qdev_get_dev_path(proxy) and should be in TYPE_VIRTIO_BUS, not in the
PCI-specific subclass.

(The g_strdup is not needed, either).

True, I avoided it because of CCW and S390, but as they don't have
there get_dev_path, it seems
not to change anything for them.

I think that's better and I get 0000:00:04.0/virtio-net for idstr.
Sorry, my email seems to be malfunctioning this morning and I didn't see
this before sending mine. Not sure which one is better but I'll be happy
to test whatever we decide on.

Well, seems our patches are sent at the same moment.
diff --git a/hw/virtio/virtio-bus.c b/hw/virtio/virtio-bus.c
index aab72ff..ea2e11a 100644
--- a/hw/virtio/virtio-bus.c
+++ b/hw/virtio/virtio-bus.c
@@ -154,12 +154,26 @@ void virtio_bus_set_vdev_config(VirtioBusState
*bus, uint8_t *config)

+static char *virtio_bus_get_dev_path(DeviceState *dev)
+    BusState *bus = qdev_get_parent_bus(dev);
+    DeviceState *proxy = DEVICE(bus->parent);
+    return qdev_get_dev_path(proxy);
+static void virtio_bus_class_init(ObjectClass *klass, void *data)
+    BusClass *bus_class = BUS_CLASS(klass);
+    bus_class->get_dev_path = virtio_bus_get_dev_path;
  static const TypeInfo virtio_bus_info = {
      .name = TYPE_VIRTIO_BUS,
      .parent = TYPE_BUS,
      .instance_size = sizeof(VirtioBusState),
      .abstract = true,
      .class_size = sizeof(VirtioBusClass),
+    .class_init = virtio_bus_class_init

  static void virtio_register_types(void)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]