From patchwork Wed Apr 11 21:34:35 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 151935 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 29D97B70CD for ; Thu, 12 Apr 2012 09:32:52 +1000 (EST) Received: from localhost ([::1]:44719 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SI5Cv-0005zk-8B for incoming@patchwork.ozlabs.org; Wed, 11 Apr 2012 17:36:05 -0400 Received: from eggs.gnu.org ([208.118.235.92]:36360) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SI5Bu-00049O-Dh for qemu-devel@nongnu.org; Wed, 11 Apr 2012 17:35:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SI5Bs-00048F-Cy for qemu-devel@nongnu.org; Wed, 11 Apr 2012 17:35:01 -0400 Received: from mail-wi0-f175.google.com ([209.85.212.175]:33522) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SI5Bs-00041t-3w for qemu-devel@nongnu.org; Wed, 11 Apr 2012 17:35:00 -0400 Received: by mail-wi0-f175.google.com with SMTP id hn6so4374905wib.10 for ; Wed, 11 Apr 2012 14:34:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:subject:date:message-id:x-mailer:in-reply-to :references; bh=mpL/vV63gmIWrs4xVLW5u9SdKNHEyoGwRRWRq8y8+j0=; b=u6wAMNOBV7yRY3EoqBqZnkxZ30p4oa84IMiWA6oP4Wg4nh+GZcC9d21RSBQ8Sc1yIw DYfw+NMBC0NwdCYtb5nPxC7Cm3lvPKprAn9tnAFBth1NBoPa+uqWnY61MhIOUE/nK4jt H49Y83mg42TPov2UlBxJVoTtipW7d+Yguk+LbZtGVmfwe8k/DNDIx8fy7inrWJ7cpHkn sACrcfoePaJI54u+8gyf42gTBWe0M1siEyJ59QMuRogQ4a2rOBfopnN0tJoAY2f7CY6i pn4SeEOm2vdhTqLemmCRhS9Nn0MFOt5Si1E8u0H2jaruElhg1BqTyLBrf5kpby1wCLh9 NOfQ== Received: by 10.180.104.65 with SMTP id gc1mr63493wib.13.1334180099253; Wed, 11 Apr 2012 14:34:59 -0700 (PDT) Received: from yakj.lan (93-34-182-16.ip50.fastwebnet.it. [93.34.182.16]) by mx.google.com with ESMTPS id ev10sm27383707wid.10.2012.04.11.14.34.57 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 11 Apr 2012 14:34:58 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Wed, 11 Apr 2012 23:34:35 +0200 Message-Id: <1334180081-6172-9-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.7.9.3 In-Reply-To: <1334180081-6172-1-git-send-email-pbonzini@redhat.com> References: <1334180081-6172-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.85.212.175 Subject: [Qemu-devel] [PATCH v2 08/14] cmdline: implement -nodefaults with qemuopts X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org This becomes -machine default_devices. Signed-off-by: Paolo Bonzini --- qemu-config.c | 4 ++++ vl.c | 41 +++++++++++++++++++---------------------- 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/qemu-config.c b/qemu-config.c index 8f0923e..23d6b03 100644 --- a/qemu-config.c +++ b/qemu-config.c @@ -560,6 +560,10 @@ static QemuOptsList qemu_machine_opts = { .type = QEMU_OPT_STRING, .help = "accelerator list", }, { + .name = "default_devices", + .type = QEMU_OPT_BOOL, + .help = "create default devices", + }, { .name = "autostart", .type = QEMU_OPT_BOOL, .help = "start machine immediately", diff --git a/vl.c b/vl.c index a280c4c..21fd9ce 100644 --- a/vl.c +++ b/vl.c @@ -3084,15 +3084,7 @@ int main(int argc, char **argv, char **envp) runstate_set(RUN_STATE_INMIGRATE); break; case QEMU_OPTION_nodefaults: - default_serial = 0; - default_parallel = 0; - default_virtcon = 0; - default_monitor = 0; - default_net = 0; - default_floppy = 0; - default_cdrom = 0; - default_sdcard = 0; - vga_model = "none"; + qemu_opts_set(qemu_find_opts("machine"), 0, "default_devices", "off"); break; case QEMU_OPTION_xen_domid: if (!(xen_available())) { @@ -3243,28 +3235,33 @@ int main(int argc, char **argv, char **envp) if (machine->default_machine_opts) { qemu_opts_set_defaults(qemu_find_opts("machine"), machine->default_machine_opts, 0); + machine_opts = qemu_opts_find(qemu_find_opts("machine"), 0); } - qemu_opts_foreach(qemu_find_opts("device"), default_driver_check, NULL, 0); - qemu_opts_foreach(qemu_find_opts("global"), default_driver_check, NULL, 0); + if (qemu_opt_get_bool(machine_opts, "default_devices", true)) { + qemu_opts_foreach(qemu_find_opts("device"), default_driver_check, NULL, 0); + qemu_opts_foreach(qemu_find_opts("global"), default_driver_check, NULL, 0); + + default_serial &= !machine->no_serial; + default_parallel &= !machine->no_parallel; + default_virtcon &= machine->use_virtcon; + default_floppy &= !machine->no_floppy; + default_cdrom &= !machine->no_cdrom; + default_sdcard &= !machine->no_sdcard; - if (machine->no_serial) { + /* No need for machine->no_vga. Boards can simply ignore the + * vga_interface_type variable (most will, indeed). + */ + } else { default_serial = 0; - } - if (machine->no_parallel) { default_parallel = 0; - } - if (!machine->use_virtcon) { default_virtcon = 0; - } - if (machine->no_floppy) { + default_monitor = 0; + default_net = 0; default_floppy = 0; - } - if (machine->no_cdrom) { default_cdrom = 0; - } - if (machine->no_sdcard) { default_sdcard = 0; + vga_model = "none"; } if (display_type == DT_NOGRAPHIC) {