qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 01/16] Introduce probe mode for machine type


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH v3 01/16] Introduce probe mode for machine type none
Date: Mon, 02 Mar 2015 14:57:21 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0

Am 02.03.2015 um 13:43 schrieb Michael Mueller:
> QEMU now switches into "probe mode" when the selected machine is "none" and no
> specific accelerator(s) has been requested (i.e.: "-machine none").
> 
> In probe mode a by "<ARCH>_CONFIG" defines predefined list of accelerators run
> their init() methods.
> 
> Signed-off-by: Michael Mueller <address@hidden>
> ---
>  accel.c              | 31 +++++++++++++++++++++++++------
>  include/hw/boards.h  |  1 +
>  include/sysemu/kvm.h | 10 ++++++++++
>  kvm-all.c            |  3 +++
>  4 files changed, 39 insertions(+), 6 deletions(-)

Edgar/Peter, isn't Xilinx using -machine none in TCG mode?

> @@ -78,20 +83,30 @@ static int accel_init_machine(AccelClass *acc, 
> MachineState *ms)
>  
>  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.

Regards,
Andreas

>  
> -    while (!accel_initialised && *p != '\0') {
> +    while ((probe_mode || !accel_initialised) && *p != '\0') {
>          if (*p == ':') {
>              p++;
>          }

-- 
SUSE Linux GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Felix Imendörffer, Jane Smithard, Jennifer Guild, Dilip Upmanyu,
Graham Norton; HRB 21284 (AG Nürnberg)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]