mirror of https://github.com/xemu-project/xemu.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;
|
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 main(int argc, char **argv, char **envp)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
@ -4103,14 +4122,7 @@ int main(int argc, char **argv, char **envp)
|
||||||
qemu_spice_init();
|
qemu_spice_init();
|
||||||
|
|
||||||
cpu_ticks_init();
|
cpu_ticks_init();
|
||||||
if (use_icount && !(tcg_enabled() || qtest_enabled())) {
|
configure_accelerators();
|
||||||
error_report("-icount is not allowed with hardware virtualization");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (tcg_enabled()) {
|
|
||||||
qemu_tcg_configure(accel_opts, &error_fatal);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (default_net) {
|
if (default_net) {
|
||||||
QemuOptsList *net = qemu_find_opts("net");
|
QemuOptsList *net = qemu_find_opts("net");
|
||||||
|
|
Loading…
Reference in New Issue