提交 25920d6a 编写于 作者: K Kevin Wolf

Make qemu-config available for tools

To be able to use config files for blkdebug, we need to make these functions
available in the tools. This involves moving two functions that can only be
built in the context of the emulator.
Signed-off-by: NKevin Wolf <kwolf@redhat.com>
上级 b9f66d96
...@@ -8,7 +8,7 @@ qobject-obj-y += qerror.o ...@@ -8,7 +8,7 @@ qobject-obj-y += qerror.o
# block-obj-y is code used by both qemu system emulation and qemu-img # block-obj-y is code used by both qemu system emulation and qemu-img
block-obj-y = cutils.o cache-utils.o qemu-malloc.o qemu-option.o module.o block-obj-y = cutils.o cache-utils.o qemu-malloc.o qemu-option.o module.o
block-obj-y += nbd.o block.o aio.o aes.o osdep.o block-obj-y += nbd.o block.o aio.o aes.o osdep.o qemu-config.o
block-obj-$(CONFIG_POSIX) += posix-aio-compat.o block-obj-$(CONFIG_POSIX) += posix-aio-compat.o
block-obj-$(CONFIG_LINUX_AIO) += linux-aio.o block-obj-$(CONFIG_LINUX_AIO) += linux-aio.o
...@@ -76,7 +76,7 @@ common-obj-y += buffered_file.o migration.o migration-tcp.o qemu-sockets.o ...@@ -76,7 +76,7 @@ common-obj-y += buffered_file.o migration.o migration-tcp.o qemu-sockets.o
common-obj-y += qemu-char.o savevm.o #aio.o common-obj-y += qemu-char.o savevm.o #aio.o
common-obj-y += msmouse.o ps2.o common-obj-y += msmouse.o ps2.o
common-obj-y += qdev.o qdev-properties.o common-obj-y += qdev.o qdev-properties.o
common-obj-y += qemu-config.o block-migration.o common-obj-y += block-migration.o
common-obj-$(CONFIG_BRLAPI) += baum.o common-obj-$(CONFIG_BRLAPI) += baum.o
common-obj-$(CONFIG_POSIX) += migration-exec.o migration-unix.o migration-fd.o common-obj-$(CONFIG_POSIX) += migration-exec.o migration-unix.o migration-fd.o
......
...@@ -661,7 +661,7 @@ void qdev_prop_set_defaults(DeviceState *dev, Property *props) ...@@ -661,7 +661,7 @@ void qdev_prop_set_defaults(DeviceState *dev, Property *props)
static QTAILQ_HEAD(, GlobalProperty) global_props = QTAILQ_HEAD_INITIALIZER(global_props); static QTAILQ_HEAD(, GlobalProperty) global_props = QTAILQ_HEAD_INITIALIZER(global_props);
void qdev_prop_register_global(GlobalProperty *prop) static void qdev_prop_register_global(GlobalProperty *prop)
{ {
QTAILQ_INSERT_TAIL(&global_props, prop, next); QTAILQ_INSERT_TAIL(&global_props, prop, next);
} }
...@@ -689,3 +689,20 @@ void qdev_prop_set_globals(DeviceState *dev) ...@@ -689,3 +689,20 @@ void qdev_prop_set_globals(DeviceState *dev)
} }
} }
} }
static int qdev_add_one_global(QemuOpts *opts, void *opaque)
{
GlobalProperty *g;
g = qemu_mallocz(sizeof(*g));
g->driver = qemu_opt_get(opts, "driver");
g->property = qemu_opt_get(opts, "property");
g->value = qemu_opt_get(opts, "value");
qdev_prop_register_global(g);
return 0;
}
void qemu_add_globals(void)
{
qemu_opts_foreach(&qemu_global_opts, qdev_add_one_global, NULL, 0);
}
...@@ -273,7 +273,6 @@ void qdev_prop_set_macaddr(DeviceState *dev, const char *name, uint8_t *value); ...@@ -273,7 +273,6 @@ void qdev_prop_set_macaddr(DeviceState *dev, const char *name, uint8_t *value);
void qdev_prop_set_ptr(DeviceState *dev, const char *name, void *value); void qdev_prop_set_ptr(DeviceState *dev, const char *name, void *value);
void qdev_prop_set_defaults(DeviceState *dev, Property *props); void qdev_prop_set_defaults(DeviceState *dev, Property *props);
void qdev_prop_register_global(GlobalProperty *prop);
void qdev_prop_register_global_list(GlobalProperty *props); void qdev_prop_register_global_list(GlobalProperty *props);
void qdev_prop_set_globals(DeviceState *dev); void qdev_prop_set_globals(DeviceState *dev);
......
...@@ -378,23 +378,6 @@ int qemu_global_option(const char *str) ...@@ -378,23 +378,6 @@ int qemu_global_option(const char *str)
return 0; return 0;
} }
static int qemu_add_one_global(QemuOpts *opts, void *opaque)
{
GlobalProperty *g;
g = qemu_mallocz(sizeof(*g));
g->driver = qemu_opt_get(opts, "driver");
g->property = qemu_opt_get(opts, "property");
g->value = qemu_opt_get(opts, "value");
qdev_prop_register_global(g);
return 0;
}
void qemu_add_globals(void)
{
qemu_opts_foreach(&qemu_global_opts, qemu_add_one_global, NULL, 0);
}
struct ConfigWriteData { struct ConfigWriteData {
QemuOptsList *list; QemuOptsList *list;
FILE *fp; FILE *fp;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册