@@ -9,6 +9,7 @@
#include "qapi-types.h"
#include "qemu/notify.h"
#include "qemu/main-loop.h"
+#include "qom/object.h"
/* vl.c */
@@ -87,6 +88,8 @@ void qemu_savevm_state_cancel(void);
uint64_t qemu_savevm_state_pending(QEMUFile *f, uint64_t max_size);
int qemu_loadvm_state(QEMUFile *f);
+Object *qemu_get_backend(void);
+
/* SLIRP */
void do_info_slirp(Monitor *mon);
@@ -27,6 +27,7 @@
#include "qemu/timer.h"
#include "qmp-commands.h"
#include "sysemu/char.h"
+#include "sysemu/sysemu.h"
//#define DEBUG_CONSOLE
#define DEFAULT_BACKSCROLL 512
@@ -1598,7 +1599,7 @@ DisplayState *init_displaystate(void)
* all QemuConsoles are created and the order / numbering
* doesn't change any more */
name = g_strdup_printf("console[%d]", i);
- object_property_add_child(container_get(object_get_root(), "/backend"),
+ object_property_add_child(qemu_get_backend(),
name, OBJECT(consoles[i]), &local_err);
g_free(name);
}
@@ -2846,6 +2846,17 @@ static void qemu_init_default_mem_opts(uint64_t size)
qemu_opt_set_number(opts, "slots", 0);
}
+Object *qemu_get_backend(void)
+{
+ static Object *obj;
+
+ if (obj == NULL) {
+ obj = container_get(object_get_root(), "/backend");
+ }
+
+ return obj;
+}
+
int main(int argc, char **argv, char **envp)
{
int i;
... API, so it could be reused later using qemu_get_backend() without duplicating "/backend" everywhere. Signed-off-by: Igor Mammedov <imammedo@redhat.com> --- include/sysemu/sysemu.h | 3 +++ ui/console.c | 3 ++- vl.c | 11 +++++++++++ 3 files changed, 16 insertions(+), 1 deletions(-)