From: Elena Ufimtseva <elena.ufimts...@oracle.com> Some of the initialization helper functions w.r.t chardev in vl.c are also used by the remote process. Therefore, these functions are refactored into shared files that both QEMU & remote process could use.
Signed-off-by: Elena Ufimtseva <elena.ufimts...@oracle.com> Signed-off-by: John G Johnson <john.g.john...@oracle.com> Signed-off-by: Jagannathan Raman <jag.ra...@oracle.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> --- chardev/char.c | 14 ++++++++++++++ include/chardev/char.h | 2 ++ softmmu/vl.c | 14 -------------- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/chardev/char.c b/chardev/char.c index e77564060d..47dcf93da7 100644 --- a/chardev/char.c +++ b/chardev/char.c @@ -1196,3 +1196,17 @@ static void register_types(void) } type_init(register_types); + +int chardev_init_func(void *opaque, QemuOpts *opts, Error **errp) +{ + Error *local_err = NULL; + + if (!qemu_chr_new_from_opts(opts, NULL, &local_err)) { + if (local_err) { + error_propagate(errp, local_err); + return -1; + } + exit(0); + } + return 0; +} diff --git a/include/chardev/char.h b/include/chardev/char.h index 00589a6025..0804e78f7a 100644 --- a/include/chardev/char.h +++ b/include/chardev/char.h @@ -290,4 +290,6 @@ GSource *qemu_chr_timeout_add_ms(Chardev *chr, guint ms, /* console.c */ void qemu_chr_parse_vc(QemuOpts *opts, ChardevBackend *backend, Error **errp); +int chardev_init_func(void *opaque, QemuOpts *opts, Error **errp); + #endif diff --git a/softmmu/vl.c b/softmmu/vl.c index d1b32a33a2..6e35f3787d 100644 --- a/softmmu/vl.c +++ b/softmmu/vl.c @@ -2038,20 +2038,6 @@ static int device_help_func(void *opaque, QemuOpts *opts, Error **errp) return qdev_device_help(opts); } -static int chardev_init_func(void *opaque, QemuOpts *opts, Error **errp) -{ - Error *local_err = NULL; - - if (!qemu_chr_new_from_opts(opts, NULL, &local_err)) { - if (local_err) { - error_propagate(errp, local_err); - return -1; - } - exit(0); - } - return 0; -} - #ifdef CONFIG_VIRTFS static int fsdev_init_func(void *opaque, QemuOpts *opts, Error **errp) { -- 2.25.GIT