mirror of https://gitee.com/openkylin/qemu.git
vl: extract accelerator option processing to a separate function
As a first step towards supporting multiple "-accel" options, push the late processing of -icount and -accel into a new function, and use qemu_opts_foreach to retrieve -accel options instead of stashing them into globals. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
af0440ae85
commit
deda73e89f
28
vl.c
28
vl.c
|
@ -2706,6 +2706,25 @@ static int do_configure_icount(void *opaque, QemuOpts *opts, Error **errp)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int do_configure_accelerator(void *opaque, QemuOpts *opts, Error **errp)
|
||||
{
|
||||
if (tcg_enabled()) {
|
||||
qemu_tcg_configure(opts, &error_fatal);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void configure_accelerators(void)
|
||||
{
|
||||
qemu_opts_foreach(qemu_find_opts("accel"),
|
||||
do_configure_accelerator, NULL, &error_fatal);
|
||||
|
||||
if (use_icount && !(tcg_enabled() || qtest_enabled())) {
|
||||
error_report("-icount is not allowed with hardware virtualization");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
int main(int argc, char **argv, char **envp)
|
||||
{
|
||||
int i;
|
||||
|
@ -4103,14 +4122,7 @@ int main(int argc, char **argv, char **envp)
|
|||
qemu_spice_init();
|
||||
|
||||
cpu_ticks_init();
|
||||
if (use_icount && !(tcg_enabled() || qtest_enabled())) {
|
||||
error_report("-icount is not allowed with hardware virtualization");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (tcg_enabled()) {
|
||||
qemu_tcg_configure(accel_opts, &error_fatal);
|
||||
}
|
||||
configure_accelerators();
|
||||
|
||||
if (default_net) {
|
||||
QemuOptsList *net = qemu_find_opts("net");
|
||||
|
|
Loading…
Reference in New Issue