Commit dea1fb88 authored by Gerd Hoffmann's avatar Gerd Hoffmann
Browse files

softmmu: initialize spice and audio earlier



audiodev must be initialized before machine_set_property
so the machine can have audiodev property aliases.

spice must initialize before audiodev because the default
audiodev is spice only in case spice is actually enabled.

Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
Message-id: 20200702132525.6849-15-kraxel@redhat.com
parent 8859f072
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -4131,12 +4131,17 @@ void qemu_init(int argc, char **argv, char **envp)
                      fsdev_init_func, NULL, &error_fatal);
#endif

    /* spice needs the timers to be initialized by this point */
    /* spice must initialize before audio as it changes the default auiodev */
    qemu_spice_init();

    /*
     * Note: we need to create block backends before
     * Note: we need to create audio and block backends before
     * machine_set_property(), so machine properties can refer to
     * them.
     */
    configure_blockdev(&bdo_queue, machine_class, snapshot);
    audio_init_audiodevs();

    machine_opts = qemu_get_machine_opts();
    qemu_opt_foreach(machine_opts, machine_set_property, current_machine,
@@ -4230,9 +4235,6 @@ void qemu_init(int argc, char **argv, char **envp)
        semihosting_arg_fallback(kernel_filename, kernel_cmdline);
    }

    /* spice needs the timers to be initialized by this point */
    qemu_spice_init();

    cpu_ticks_init();

    if (default_net) {
@@ -4342,8 +4344,6 @@ void qemu_init(int argc, char **argv, char **envp)
        create_default_memdev(current_machine, mem_path);
    }

    audio_init_audiodevs();

    /* from here on runstate is RUN_STATE_PRELAUNCH */
    machine_run_board_init(current_machine);