spice: fix broken initialization
Commit 1b71f7c14f
moved MODULE_INIT_QOM to
way before MODULE_INIT_MACHINE, thereby breaking assumptions made in
spice-core.c which registered both a type initializer and a machine
intializer.
This fix removes the type registration, and replaces it with calling
qemu_spice_init in vl.c after command line parsing (second pass) is
done, and after timers are armed, required by spice server.
Signed-off-by: Alon Levy <alevy@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
5dba0d453d
commit
ad1be89948
@ -554,7 +554,7 @@ void qemu_spice_init(void)
|
|||||||
|
|
||||||
qemu_thread_get_self(&me);
|
qemu_thread_get_self(&me);
|
||||||
|
|
||||||
if (!opts) {
|
if (!opts) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
port = qemu_opt_get_number(opts, "port", 0);
|
port = qemu_opt_get_number(opts, "port", 0);
|
||||||
@ -787,10 +787,3 @@ static void spice_register_config(void)
|
|||||||
qemu_add_opts(&qemu_spice_opts);
|
qemu_add_opts(&qemu_spice_opts);
|
||||||
}
|
}
|
||||||
machine_init(spice_register_config);
|
machine_init(spice_register_config);
|
||||||
|
|
||||||
static void spice_register_types(void)
|
|
||||||
{
|
|
||||||
qemu_spice_init();
|
|
||||||
}
|
|
||||||
|
|
||||||
type_init(spice_register_types)
|
|
||||||
|
5
vl.c
5
vl.c
@ -3369,6 +3369,11 @@ int main(int argc, char **argv, char **envp)
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_SPICE
|
||||||
|
/* spice needs the timers to be initialized by this point */
|
||||||
|
qemu_spice_init();
|
||||||
|
#endif
|
||||||
|
|
||||||
if (icount_option && (kvm_enabled() || xen_enabled())) {
|
if (icount_option && (kvm_enabled() || xen_enabled())) {
|
||||||
fprintf(stderr, "-icount is not allowed with kvm or xen\n");
|
fprintf(stderr, "-icount is not allowed with kvm or xen\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
|
Loading…
Reference in New Issue
Block a user