提交 1a688d3b 编写于 作者: G Gerd Hoffmann 提交者: Anthony Liguori

chardev: make chardevs specified in config file work.

The patch decuples the -chardev switch and the actual chardev
initialization.  Without this patch qemu ignores chardev entries
coming via -readconfig.
Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
上级 07a8de35
......@@ -4586,6 +4586,16 @@ static int device_init_func(QemuOpts *opts, void *opaque)
return 0;
}
static int chardev_init_func(QemuOpts *opts, void *opaque)
{
CharDriverState *chr;
chr = qemu_chr_open_opts(opts, NULL);
if (!chr)
return -1;
return 0;
}
struct device_config {
enum {
DEV_USB, /* -usbdevice */
......@@ -5180,9 +5190,6 @@ int main(int argc, char **argv, char **envp)
fprintf(stderr, "parse error: %s\n", optarg);
exit(1);
}
if (qemu_chr_open_opts(opts, NULL) == NULL) {
exit(1);
}
break;
case QEMU_OPTION_serial:
if (serial_device_index >= MAX_SERIAL_PORTS) {
......@@ -5501,6 +5508,9 @@ int main(int argc, char **argv, char **envp)
}
}
if (qemu_opts_foreach(&qemu_chardev_opts, chardev_init_func, NULL, 1) != 0)
exit(1);
#ifndef _WIN32
if (daemonize) {
pid_t pid;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册