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
>
>

Reply via email to