mirror of https://github.com/xemu-project/xemu.git
vl: move icount configuration earlier
Once qemu_tcg_configure is turned into a QOM property setter, it will not be able to set a default value for mttcg_enabled. Setting the default will move to the TCG instance_init function, which currently runs before "-icount" is processed. However, it is harmless to do configure_icount for all accelerators; we will just fail later if a non-TCG accelerator is selected. So do that. Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
53b62bec01
commit
7f8b6126e7
18
vl.c
18
vl.c
|
@ -2700,6 +2700,12 @@ static void user_register_global_props(void)
|
|||
global_init_func, NULL, NULL);
|
||||
}
|
||||
|
||||
static int do_configure_icount(void *opaque, QemuOpts *opts, Error **errp)
|
||||
{
|
||||
configure_icount(opts, errp);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main(int argc, char **argv, char **envp)
|
||||
{
|
||||
int i;
|
||||
|
@ -4010,6 +4016,8 @@ int main(int argc, char **argv, char **envp)
|
|||
* Note: uses machine properties such as kernel-irqchip, must run
|
||||
* after machine_set_property().
|
||||
*/
|
||||
qemu_opts_foreach(qemu_find_opts("icount"),
|
||||
do_configure_icount, NULL, &error_fatal);
|
||||
configure_accelerator(current_machine, argv[0]);
|
||||
|
||||
/*
|
||||
|
@ -4095,13 +4103,9 @@ int main(int argc, char **argv, char **envp)
|
|||
qemu_spice_init();
|
||||
|
||||
cpu_ticks_init();
|
||||
if (icount_opts) {
|
||||
if (!tcg_enabled()) {
|
||||
error_report("-icount is not allowed with hardware virtualization");
|
||||
exit(1);
|
||||
}
|
||||
configure_icount(icount_opts, &error_abort);
|
||||
qemu_opts_del(icount_opts);
|
||||
if (use_icount && !(tcg_enabled() || qtest_enabled())) {
|
||||
error_report("-icount is not allowed with hardware virtualization");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (tcg_enabled()) {
|
||||
|
|
Loading…
Reference in New Issue