On Thursday, January 9, 2020, Alex Bennée <[email protected]> wrote:
> > Richard Henderson <[email protected]> writes: > > > By choosing "tcg:kvm" when kvm is not enabled, we generate > > an incorrect warning: "invalid accelerator kvm". > > > > Presumably the inverse is also true with --disable-tcg. > > > > Fixes: 28a0961757fc > > Signed-off-by: Richard Henderson <[email protected]> > > --- > > vl.c | 18 ++++++++++++------ > > 1 file changed, 12 insertions(+), 6 deletions(-) > > > > diff --git a/vl.c b/vl.c > > index 887dbfbb5d..9b7651c80d 100644 > > --- a/vl.c > > +++ b/vl.c > > @@ -2759,11 +2759,10 @@ 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 { > > + bool have_tcg = accel_find("tcg"); > > + bool have_kvm = accel_find("kvm"); > > + > > + if (have_tcg && have_kvm) { > > int pnlen = strlen(progname); > > if (pnlen >= 3 && g_str_equal(&progname[pnlen - 3], > > "kvm")) { > > I know you're not touching this bit but: > > modified vl.c > @@ -2763,8 +2763,7 @@ static void configure_accelerators(const char > *progname) > bool have_kvm = accel_find("kvm"); > > if (have_tcg && have_kvm) { > - int pnlen = strlen(progname); > - if (pnlen >= 3 && g_str_equal(&progname[pnlen - 3], > "kvm")) { > + if (g_str_has_suffix(progname, "kvm")) { > /* If the program name ends with "kvm", we prefer KVM > */ > accel = "kvm:tcg"; > } else { > > > > /* If the program name ends with "kvm", we prefer > KVM */ > > @@ -2771,9 +2770,16 @@ static void configure_accelerators(const char > *progname) > > } 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++) { > > Anyway: > > Reviewed-by: Alex Bennée <[email protected]> > > With or without Alex' hint: Reviewed by: Aleksandar Markovic <[email protected]> Alex' hint could be a separate patch. If you decide to do it, for that patch too you can include my r-b. -- > Alex Bennée > >
