From 191bc01bc970bd1e86f34ddeab896b2b27fd5124 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 10 Sep 2009 10:58:35 +0200 Subject: switch chardev to QemuOpts: infrastructure, null device start switching chardevs to QemuOpts. This patch adds the infrastructure and converts the null device. The patch brings two new functions: qemu_chr_open_opts() same as qemu_chr_open(), but uses QemuOpts instead of a option char string. qemu_chr_parse_compat() accepts a traditional chardev option string, returns the corresponding QemuOpts instance, to handle backward compatibility. The patch also adds a new -chardev switch which can be used to create named+unconnected chardevs, like this: -chardev null,id=test This uses the new qemu_chr_open_opts. Thus with this patch alone only the null device works. The other devices will follow ... Signed-off-by: Gerd Hoffmann Signed-off-by: Anthony Liguori --- qemu-config.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'qemu-config.c') diff --git a/qemu-config.c b/qemu-config.c index 4808db0531..b156c24419 100644 --- a/qemu-config.c +++ b/qemu-config.c @@ -75,6 +75,14 @@ QemuOptsList qemu_drive_opts = { }, }; +QemuOptsList qemu_chardev_opts = { + .name = "chardev", + .head = TAILQ_HEAD_INITIALIZER(qemu_chardev_opts.head), + .desc = { + { /* end if list */ } + }, +}; + QemuOptsList qemu_device_opts = { .name = "device", .head = TAILQ_HEAD_INITIALIZER(qemu_device_opts.head), @@ -90,6 +98,7 @@ QemuOptsList qemu_device_opts = { static QemuOptsList *lists[] = { &qemu_drive_opts, + &qemu_chardev_opts, &qemu_device_opts, NULL, }; -- cgit 1.4.1