On Mon, 02 Mar 2015 14:57:21 +0100
Andreas Färber <afaer...@suse.de> wrote:

> >  int configure_accelerator(MachineState *ms)
> >  {
> > -    const char *p;
> > +    const char *p, *name;
> >      char buf[10];
> >      int ret;
> >      bool accel_initialised = false;
> >      bool init_failed = false;
> >      AccelClass *acc = NULL;
> > +    ObjectClass *oc;
> > +    bool probe_mode = false;
> >  
> >      p = qemu_opt_get(qemu_get_machine_opts(), "accel");
> >      if (p == NULL) {
> > -        /* Use the default "accelerator", tcg */
> > -        p = "tcg";
> > +        oc = (ObjectClass *) MACHINE_GET_CLASS(current_machine);
> > +        name = object_class_get_name(oc);
> > +        probe_mode = !strcmp(name, "none" TYPE_MACHINE_SUFFIX);
> > +        if (probe_mode) {
> > +            /* Use these accelerators in probe mode, tcg should be last */
> > +            p = probe_mode_accels;
> > +        } else {
> > +            /* Use the default "accelerator", tcg */
> > +            p = "tcg";
> > +        }
> >      }  
> 
> Can't we instead use an explicit ,accel=probe or ,accel=auto?
> That would then obsolete the next patch.

How would you express the following with the accel=<pseudo-accel> approach?

-probe -machine s390-ccw,accel=kvm 

Using machine "none" as default with tcg as last accelerator initialized should 
not break
anything.

-M none

The return code of configure_accelerator() is ignored anyway.

Thanks,
Michael


Reply via email to