[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 06/16] vl: Only choose enabled accelerators in configure_accelerat
From: |
Richard Henderson |
Subject: |
[PULL 06/16] vl: Only choose enabled accelerators in configure_accelerators |
Date: |
Tue, 21 Jan 2020 16:49:36 -1000 |
By choosing "tcg:kvm" when kvm is not enabled, we generate
an incorrect warning: "invalid accelerator kvm".
At the same time, use g_str_has_suffix rather than open-coding
the same operation.
Presumably the inverse is also true with --disable-tcg.
Fixes: 28a0961757fc
Acked-by: Paolo Bonzini <address@hidden>
Reviewed-by: Alex Bennée <address@hidden>
Reviewed by: Aleksandar Markovic <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>
---
vl.c | 21 +++++++++++++--------
1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/vl.c b/vl.c
index 1e5e9b9aeb..4c5033842c 100644
--- a/vl.c
+++ b/vl.c
@@ -2766,21 +2766,26 @@ static void configure_accelerators(const char *progname)
if (accel == NULL) {
/* Select the default accelerator */
- if (!accel_find("tcg") && !accel_find("kvm")) {
- error_report("No accelerator selected and"
- " no default accelerator available");
- exit(1);
- } else {
- int pnlen = strlen(progname);
- if (pnlen >= 3 && g_str_equal(&progname[pnlen - 3], "kvm")) {
+ bool have_tcg = accel_find("tcg");
+ bool have_kvm = accel_find("kvm");
+
+ if (have_tcg && have_kvm) {
+ if (g_str_has_suffix(progname, "kvm")) {
/* If the program name ends with "kvm", we prefer KVM */
accel = "kvm:tcg";
} else {
accel = "tcg:kvm";
}
+ } else if (have_kvm) {
+ accel = "kvm";
+ } else if (have_tcg) {
+ accel = "tcg";
+ } else {
+ error_report("No accelerator selected and"
+ " no default accelerator available");
+ exit(1);
}
}
-
accel_list = g_strsplit(accel, ":", 0);
for (tmp = accel_list; *tmp; tmp++) {
--
2.20.1
- [PULL 00/16] tcg patch queue, Richard Henderson, 2020/01/21
- [PULL 01/16] cputlb: Handle NB_MMU_MODES > TARGET_PAGE_BITS_MIN, Richard Henderson, 2020/01/21
- [PULL 02/16] util/cacheinfo: fix crash when compiling with uClibc, Richard Henderson, 2020/01/21
- [PULL 03/16] vl: Remove unused variable in configure_accelerators, Richard Henderson, 2020/01/21
- [PULL 04/16] vl: Reduce scope of variables in configure_accelerators, Richard Henderson, 2020/01/21
- [PULL 05/16] vl: Remove useless test in configure_accelerators, Richard Henderson, 2020/01/21
- [PULL 06/16] vl: Only choose enabled accelerators in configure_accelerators,
Richard Henderson <=
- [PULL 07/16] cputlb: Merge tlb_table_flush_by_mmuidx into tlb_flush_one_mmuidx_locked, Richard Henderson, 2020/01/21
- [PULL 08/16] cputlb: Make tlb_n_entries private to cputlb.c, Richard Henderson, 2020/01/21
- [PULL 09/16] cputlb: Pass CPUTLBDescFast to tlb_n_entries and sizeof_tlb, Richard Henderson, 2020/01/21
- [PULL 10/16] cputlb: Hoist tlb portions in tlb_mmu_resize_locked, Richard Henderson, 2020/01/21
- [PULL 11/16] cputlb: Hoist tlb portions in tlb_flush_one_mmuidx_locked, Richard Henderson, 2020/01/21
- [PULL 12/16] cputlb: Split out tlb_mmu_flush_locked, Richard Henderson, 2020/01/21
- [PULL 13/16] cputlb: Partially merge tlb_dyn_init into tlb_init, Richard Henderson, 2020/01/21
- [PULL 15/16] cputlb: Hoist timestamp outside of loops over tlbs, Richard Henderson, 2020/01/21
- [PULL 14/16] cputlb: Initialize tlbs as flushed, Richard Henderson, 2020/01/21
- [PULL 16/16] scripts/git.orderfile: Display decodetree before C source, Richard Henderson, 2020/01/21