Loading hw/qdev.c +20 −1 Original line number Diff line number Diff line Loading @@ -240,6 +240,19 @@ static DeviceState *qdev_get_peripheral(void) return dev; } static DeviceState *qdev_get_peripheral_anon(void) { static DeviceState *dev; if (dev == NULL) { dev = qdev_create(NULL, "container"); qdev_property_add_child(qdev_get_root(), "peripheral-anon", dev, NULL); qdev_init_nofail(dev); } return dev; } DeviceState *qdev_device_add(QemuOpts *opts) { const char *driver, *path, *id; Loading Loading @@ -292,6 +305,12 @@ DeviceState *qdev_device_add(QemuOpts *opts) if (id) { qdev->id = id; qdev_property_add_child(qdev_get_peripheral(), qdev->id, qdev, NULL); } else { static int anon_count; gchar *name = g_strdup_printf("device[%d]", anon_count++); qdev_property_add_child(qdev_get_peripheral_anon(), name, qdev, NULL); g_free(name); } if (qemu_opt_foreach(opts, set_property, qdev, 1) != 0) { qdev_free(qdev); Loading Loading
hw/qdev.c +20 −1 Original line number Diff line number Diff line Loading @@ -240,6 +240,19 @@ static DeviceState *qdev_get_peripheral(void) return dev; } static DeviceState *qdev_get_peripheral_anon(void) { static DeviceState *dev; if (dev == NULL) { dev = qdev_create(NULL, "container"); qdev_property_add_child(qdev_get_root(), "peripheral-anon", dev, NULL); qdev_init_nofail(dev); } return dev; } DeviceState *qdev_device_add(QemuOpts *opts) { const char *driver, *path, *id; Loading Loading @@ -292,6 +305,12 @@ DeviceState *qdev_device_add(QemuOpts *opts) if (id) { qdev->id = id; qdev_property_add_child(qdev_get_peripheral(), qdev->id, qdev, NULL); } else { static int anon_count; gchar *name = g_strdup_printf("device[%d]", anon_count++); qdev_property_add_child(qdev_get_peripheral_anon(), name, qdev, NULL); g_free(name); } if (qemu_opt_foreach(opts, set_property, qdev, 1) != 0) { qdev_free(qdev); Loading