vl: move display early init before default devices

The next commit needs to have the display registered itself before
creating the default VCs.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
Marc-André Lureau 2023-10-18 17:16:32 +04:00
parent 484629fc81
commit 2aeaa4b200

View File

@ -1352,6 +1352,23 @@ static void qemu_disable_default_devices(void)
}
}
static void qemu_setup_display(void)
{
if (dpy.type == DISPLAY_TYPE_DEFAULT && !display_remote) {
if (!qemu_display_find_default(&dpy)) {
dpy.type = DISPLAY_TYPE_NONE;
#if defined(CONFIG_VNC)
vnc_parse("localhost:0,to=99,id=default");
#endif
}
}
if (dpy.type == DISPLAY_TYPE_DEFAULT) {
dpy.type = DISPLAY_TYPE_NONE;
}
qemu_display_early_init(&dpy);
}
static void qemu_create_default_devices(void)
{
MachineClass *machine_class = MACHINE_GET_CLASS(current_machine);
@ -1401,18 +1418,6 @@ static void qemu_create_default_devices(void)
#endif
}
if (dpy.type == DISPLAY_TYPE_DEFAULT && !display_remote) {
if (!qemu_display_find_default(&dpy)) {
dpy.type = DISPLAY_TYPE_NONE;
#if defined(CONFIG_VNC)
vnc_parse("localhost:0,to=99,id=default");
#endif
}
}
if (dpy.type == DISPLAY_TYPE_DEFAULT) {
dpy.type = DISPLAY_TYPE_NONE;
}
/* If no default VGA is requested, the default is "none". */
if (default_vga) {
vga_model = get_default_vga_model(machine_class);
@ -1937,7 +1942,6 @@ static void qemu_create_early_backends(void)
"ignoring option");
}
qemu_display_early_init(&dpy);
qemu_console_early_init();
if (dpy.has_gl && dpy.gl != DISPLAYGL_MODE_OFF && display_opengl == 0) {
@ -3666,6 +3670,7 @@ void qemu_init(int argc, char **argv)
suspend_mux_open();
qemu_disable_default_devices();
qemu_setup_display();
qemu_create_default_devices();
qemu_create_early_backends();