[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 04/18] vl: extract accelerator option processing to a separate
From: |
Paolo Bonzini |
Subject: |
[PATCH v2 04/18] vl: extract accelerator option processing to a separate function |
Date: |
Mon, 9 Dec 2019 16:01:31 +0100 |
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 <address@hidden>
---
vl.c | 28 ++++++++++++++++++++--------
1 file changed, 20 insertions(+), 8 deletions(-)
diff --git a/vl.c b/vl.c
index f69fea1..1ad6dfb 100644
--- a/vl.c
+++ b/vl.c
@@ -2831,6 +2831,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 (!tcg_enabled() && use_icount) {
+ error_report("-icount is not allowed with hardware virtualization");
+ exit(1);
+ }
+}
+
int main(int argc, char **argv, char **envp)
{
int i;
@@ -4258,14 +4277,7 @@ int main(int argc, char **argv, char **envp)
qemu_spice_init();
cpu_ticks_init();
- if (!tcg_enabled() && use_icount) {
- 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");
--
1.8.3.1
- [PATCH v2 00/18] Complete the implementation of -accel, Paolo Bonzini, 2019/12/09
- [PATCH v2 01/18] memory: do not look at current_machine->accel, Paolo Bonzini, 2019/12/09
- [PATCH v2 02/18] vl: move icount configuration earlier, Paolo Bonzini, 2019/12/09
- [PATCH v2 04/18] vl: extract accelerator option processing to a separate function,
Paolo Bonzini <=
- [PATCH v2 05/18] vl: merge -accel processing into configure_accelerators, Paolo Bonzini, 2019/12/09
- [PATCH v2 03/18] tcg: move qemu_tcg_configure to accel/tcg/tcg-all.c, Paolo Bonzini, 2019/12/09
- [PATCH v2 06/18] accel: compile accel/accel.c just once, Paolo Bonzini, 2019/12/09
- [PATCH v2 09/18] vl: warn for unavailable accelerators, clarify messages, Paolo Bonzini, 2019/12/09