[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 02/18] vl: move icount configuration earlier
From: |
Paolo Bonzini |
Subject: |
[PATCH v2 02/18] vl: move icount configuration earlier |
Date: |
Mon, 9 Dec 2019 16:01:29 +0100 |
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 <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
vl.c | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/vl.c b/vl.c
index 6a65a64..f69fea1 100644
--- a/vl.c
+++ b/vl.c
@@ -2825,6 +2825,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;
@@ -4165,6 +4171,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]);
/*
@@ -4250,13 +4258,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 (!tcg_enabled() && use_icount) {
+ error_report("-icount is not allowed with hardware virtualization");
+ exit(1);
}
if (tcg_enabled()) {
--
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 <=
- [PATCH v2 04/18] vl: extract accelerator option processing to a separate function, Paolo Bonzini, 2019/12/09
- [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