From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754391AbbCBN53 (ORCPT ); Mon, 2 Mar 2015 08:57:29 -0500 Received: from cantor2.suse.de ([195.135.220.15]:60764 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754317AbbCBN5Z (ORCPT ); Mon, 2 Mar 2015 08:57:25 -0500 Message-ID: <54F46C41.3000201@suse.de> Date: Mon, 02 Mar 2015 14:57:21 +0100 From: =?ISO-8859-15?Q?Andreas_F=E4rber?= Organization: SUSE Linux GmbH User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: qemu-devel@nongnu.org, "Edgar E. Iglesias" , Peter Crosthwaite CC: Michael Mueller , kvm@vger.kernel.org, linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, Gleb Natapov , Alexander Graf , Christian Borntraeger , "Jason J. Herne" , Cornelia Huck , Paolo Bonzini , Richard Henderson , Eduardo Habkost , Alistair Francis Subject: Re: [PATCH v3 01/16] Introduce probe mode for machine type none References: <1425300248-40277-1-git-send-email-mimu@linux.vnet.ibm.com> <1425300248-40277-2-git-send-email-mimu@linux.vnet.ibm.com> In-Reply-To: <1425300248-40277-2-git-send-email-mimu@linux.vnet.ibm.com> Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 "_CONFIG" defines predefined list of accelerators run > their init() methods. > > Signed-off-by: Michael Mueller > --- > 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)