From patchwork Wed Apr 11 21:34:29 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 151922 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 4AE49B7076 for ; Thu, 12 Apr 2012 09:04:51 +1000 (EST) Received: from localhost ([::1]:43367 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SI5CO-0005Ia-Df for incoming@patchwork.ozlabs.org; Wed, 11 Apr 2012 17:35:32 -0400 Received: from eggs.gnu.org ([208.118.235.92]:36142) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SI5Bl-0003lz-3F for qemu-devel@nongnu.org; Wed, 11 Apr 2012 17:34:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SI5Bj-00042U-5y for qemu-devel@nongnu.org; Wed, 11 Apr 2012 17:34:52 -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 1SI5Bi-00041t-TA for qemu-devel@nongnu.org; Wed, 11 Apr 2012 17:34:51 -0400 Received: by mail-wi0-f175.google.com with SMTP id hn6so4374905wib.10 for ; Wed, 11 Apr 2012 14:34:50 -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=3XOH5+ifZWY75cmPv9x6vzQGxfHTD+GZhLEWJgI+cXY=; b=jfXmYDjtr5D/bDBlbrLEJwYaR78V9S9zscSrUj2eszG3jkT0v4yxb8CRwHQ8GNkJ7E Su1A9NklwZV6gxHWauRFelaV6e53yi9jVl5EhAprpYjX2X8h43gEL8e4izAmc3CXbwr4 ojkke296l3+gb/TC5HazeLdQo2yme54E3BqB0Lx+vfKsLCc3R+FZQbGihj1qwhw3byuE Chzbb02zwMtmuTLmTtYId24lk6ahVRxZgWafbd4xvPetJalYrupj22WHsPLKoUpVq5a2 iNHF7GxOUCFUpuXvZoZfTVpY7zEv0T6+V+9UCANLvc3O2Ki90Q0403cAkyVO3dT8I0EZ dGNw== Received: by 10.180.88.164 with SMTP id bh4mr89680wib.22.1334180089959; Wed, 11 Apr 2012 14:34:49 -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.48 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 11 Apr 2012 14:34:48 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Wed, 11 Apr 2012 23:34:29 +0200 Message-Id: <1334180081-6172-3-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 02/14] cmdline: implement -m 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 ram_size. Signed-off-by: Paolo Bonzini --- qemu-config.c | 4 ++++ vl.c | 41 ++++++++++++----------------------------- 2 files changed, 16 insertions(+), 29 deletions(-) diff --git a/qemu-config.c b/qemu-config.c index be84a03..6569acd 100644 --- a/qemu-config.c +++ b/qemu-config.c @@ -582,6 +582,10 @@ static QemuOptsList qemu_machine_opts = { .name = "dtb", .type = QEMU_OPT_STRING, .help = "Linux kernel device tree file", + }, { + .name = "ram_size", + .type = QEMU_OPT_SIZE, + .help = "RAM size", }, { /* End of list */ } }, diff --git a/vl.c b/vl.c index 0fccf50..ca5d5ec 100644 --- a/vl.c +++ b/vl.c @@ -2645,20 +2645,7 @@ int main(int argc, char **argv, char **envp) exit(0); break; case QEMU_OPTION_m: { - int64_t value; - char *end; - - value = strtosz(optarg, &end); - if (value < 0 || *end) { - fprintf(stderr, "qemu: invalid ram size: %s\n", optarg); - exit(1); - } - - if (value != (uint64_t)(ram_addr_t)value) { - fprintf(stderr, "qemu: ram size too large\n"); - exit(1); - } - ram_size = value; + qemu_opts_set(qemu_find_opts("machine"), 0, "ram_size", optarg); break; } case QEMU_OPTION_mempath: @@ -3320,26 +3307,14 @@ int main(int argc, char **argv, char **envp) exit(1); } - /* init the memory */ - if (ram_size == 0) { - ram_size = DEFAULT_RAM_SIZE * 1024 * 1024; - } - - configure_accelerator(); - - qemu_init_cpu_loop(); - if (qemu_init_main_loop()) { - fprintf(stderr, "qemu_init_main_loop failed\n"); - exit(1); - } - machine_opts = qemu_opts_find(qemu_find_opts("machine"), 0); + kernel_filename = initrd_filename = kernel_cmdline = NULL; + ram_size = DEFAULT_RAM_SIZE * 1024 * 1024; if (machine_opts) { + ram_size = qemu_opt_get_size(machine_opts, "ram_size", ram_size); kernel_filename = qemu_opt_get(machine_opts, "kernel"); initrd_filename = qemu_opt_get(machine_opts, "initrd"); kernel_cmdline = qemu_opt_get(machine_opts, "append"); - } else { - kernel_filename = initrd_filename = kernel_cmdline = NULL; } if (!kernel_cmdline) { @@ -3363,6 +3338,14 @@ int main(int argc, char **argv, char **envp) exit(1); } + configure_accelerator(); + + qemu_init_cpu_loop(); + if (qemu_init_main_loop()) { + fprintf(stderr, "qemu_init_main_loop failed\n"); + exit(1); + } + os_set_line_buffering(); if (init_timer_alarm() < 0) {