qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH 03/12] cmdline: implement -m with QemuOpts
Date: Tue, 20 Mar 2012 09:01:29 +0100	[thread overview]
Message-ID: <1332230498-20684-4-git-send-email-pbonzini@redhat.com> (raw)
In-Reply-To: <1332230498-20684-1-git-send-email-pbonzini@redhat.com>

This becomes -machine ram_size.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 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 fd394c8..70c22dc 100644
--- a/vl.c
+++ b/vl.c
@@ -2650,20 +2650,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:
@@ -3325,26 +3312,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) {
@@ -3368,6 +3343,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) {
-- 
1.7.7.6

  parent reply	other threads:[~2012-03-20  8:02 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-20  8:01 [Qemu-devel] [PATCH 00/12] convert many options to QemuOpts Paolo Bonzini
2012-03-20  8:01 ` [Qemu-devel] [PATCH 01/12] vga: disable default VGA if appropriate -device is used Paolo Bonzini
2012-03-20  8:01 ` [Qemu-devel] [PATCH 02/12] QemuOpts: use strtosz Paolo Bonzini
2012-03-20  8:01 ` Paolo Bonzini [this message]
2012-03-20  8:01 ` [Qemu-devel] [PATCH 04/12] cmdline: implement -S with QemuOpts Paolo Bonzini
2012-03-20  8:01 ` [Qemu-devel] [PATCH 05/12] cmdline: implement -bios " Paolo Bonzini
2012-03-20  8:01 ` [Qemu-devel] [PATCH 06/12] cmdline: implement -localtime " Paolo Bonzini
2012-03-20  8:01 ` [Qemu-devel] [PATCH 07/12] cmdline: make -M a simple alias for -machine type Paolo Bonzini
2012-03-20  8:01 ` [Qemu-devel] [PATCH 08/12] cmdline: convert -smp to QemuOpts Paolo Bonzini
2012-03-20  8:01 ` [Qemu-devel] [PATCH 09/12] cmdline: reindent numa_add Paolo Bonzini
2012-03-20  8:01 ` [Qemu-devel] [PATCH 10/12] cmdline: convert -numa to QemuOpts Paolo Bonzini
2012-03-20  8:01 ` [Qemu-devel] [PATCH 11/12] cmdline: implement -nodefaults with qemuopts Paolo Bonzini
2012-03-20  8:01 ` [Qemu-devel] [PATCH 12/12] cmdline: convert -no-shutdown and -no-reboot to QemuOpts Paolo Bonzini
2012-03-20  9:04   ` Peter Maydell
2012-03-20  9:15     ` Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1332230498-20684-4-git-send-email-pbonzini@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).