qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Luiz Capitulino <lcapitulino@redhat.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: qemu-devel@nongnu.org, agraf@suse.de
Subject: [Qemu-devel] Re: [FOR 0.12 PATCH v3 17/21] rework -monitor handling, switch to QemuOpts
Date: Mon, 7 Dec 2009 12:59:47 -0200	[thread overview]
Message-ID: <20091207125947.46562073@doriath> (raw)
In-Reply-To: <1260189773-20728-18-git-send-email-kraxel@redhat.com>

On Mon,  7 Dec 2009 13:42:49 +0100
Gerd Hoffmann <kraxel@redhat.com> wrote:

> +static int mon_init_func(QemuOpts *opts, void *opaque)
> +{
> +    CharDriverState *chr;
> +    const char *chardev;
> +    const char *mode;
> +    int flags;
> +
> +    qemu_opts_print(opts, NULL);
> +
> +    mode = qemu_opt_get(opts, "mode");
> +    if (mode == NULL) {
> +        mode = "readline";
> +    }
> +    if (strcmp(mode, "readline") == 0) {
> +        flags = MONITOR_USE_READLINE;
> +    } else if (strcmp(mode, "control") == 0) {
> +        flags = MONITOR_USE_CONTROL;
> +    } else {
> +        fprintf(stderr, "unknown monitor mode \"%s\"\n", mode);
> +        exit(1);
> +    }
> +
> +    if (qemu_opt_get_bool(opts, "default", 0))
> +        flags |= MONITOR_IS_DEFAULT;
> +
> +    chardev = qemu_opt_get(opts, "chardev");
> +    chr = qemu_chr_find(chardev);
> +    if (chardev == NULL) {
> +        fprintf(stderr, "chardev \"%s\" not found\n", chardev);
> +        exit(1);
> +    }

 We should check for NULL before calling qemu_chr_find().

 Also, I'm getting a segfault when running QEMU w/o any monitor cmd-line,
like:

$ qemu -hda disks/fedora-11-kratos-i386.img -m 1G

 The reason for the segfault is that the chardev 'monitor' is not found,
so qemu_chr_find() returns NULL, passing it down to:

> +
> +    monitor_init(chr, flags);
> +    return 0;
> +}
> +

 Apart from that, monitor changes seem ok to me.

  reply	other threads:[~2009-12-07 15:00 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-12-07 12:42 [Qemu-devel] [FOR 0.12 PATCH v3 00/21] default devices: qdev integration Gerd Hoffmann
2009-12-07 12:42 ` [Qemu-devel] [FOR 0.12 PATCH v3 01/21] Revert "monitor: Command-line flag to enable control mode" Gerd Hoffmann
2009-12-07 12:42 ` [Qemu-devel] [FOR 0.12 PATCH v3 02/21] Revert "Set default console to virtio on S390x" Gerd Hoffmann
2009-12-07 12:42 ` [Qemu-devel] [FOR 0.12 PATCH v3 03/21] chardev: move greeting into vc backend Gerd Hoffmann
2009-12-07 12:42 ` [Qemu-devel] [FOR 0.12 PATCH v3 04/21] vc: colorize chardev title line with blue background Gerd Hoffmann
2009-12-07 12:42 ` [Qemu-devel] [FOR 0.12 PATCH v3 05/21] default devices: core code & serial lines Gerd Hoffmann
2009-12-07 12:52   ` [Qemu-devel] " Alexander Graf
2009-12-07 13:27     ` Gerd Hoffmann
2009-12-07 14:07       ` Alexander Graf
2009-12-07 14:39         ` Gerd Hoffmann
2009-12-07 15:12           ` Alexander Graf
2009-12-07 16:05             ` Gerd Hoffmann
2009-12-07 16:10               ` Alexander Graf
2009-12-08  9:23                 ` Gerd Hoffmann
2009-12-07 12:54   ` Alexander Graf
2009-12-07 13:30     ` Gerd Hoffmann
2009-12-07 12:42 ` [Qemu-devel] [FOR 0.12 PATCH v3 06/21] default devices: parallel port Gerd Hoffmann
2009-12-07 12:42 ` [Qemu-devel] [FOR 0.12 PATCH v3 07/21] default devices: qemu monitor Gerd Hoffmann
2009-12-07 12:42 ` [Qemu-devel] [FOR 0.12 PATCH v3 08/21] zap serial_monitor_mux Gerd Hoffmann
2009-12-07 12:42 ` [Qemu-devel] [FOR 0.12 PATCH v3 09/21] default devices: vga adapter Gerd Hoffmann
2009-12-07 12:42 ` [Qemu-devel] [FOR 0.12 PATCH v3 10/21] default devices: add global cmd line option Gerd Hoffmann
2009-12-08 12:46   ` [Qemu-devel] " Paolo Bonzini
2009-12-08 15:58     ` Gerd Hoffmann
2009-12-07 12:42 ` [Qemu-devel] [FOR 0.12 PATCH v3 11/21] default devices: network Gerd Hoffmann
2009-12-07 12:42 ` [Qemu-devel] [FOR 0.12 PATCH v3 12/21] default devices: drives Gerd Hoffmann
2009-12-07 12:42 ` [Qemu-devel] [FOR 0.12 PATCH v3 13/21] qdev: make compat stuff more generic Gerd Hoffmann
2009-12-07 12:42 ` [Qemu-devel] [FOR 0.12 PATCH v3 14/21] qdev: add command line option to set global defaults for properties Gerd Hoffmann
2009-12-07 12:42 ` [Qemu-devel] [FOR 0.12 PATCH v3 15/21] chardev: make chardevs specified in config file work Gerd Hoffmann
2009-12-07 12:42 ` [Qemu-devel] [FOR 0.12 PATCH v3 16/21] un-static qemu_chr_parse_compat() Gerd Hoffmann
2009-12-07 12:42 ` [Qemu-devel] [FOR 0.12 PATCH v3 17/21] rework -monitor handling, switch to QemuOpts Gerd Hoffmann
2009-12-07 14:59   ` Luiz Capitulino [this message]
2009-12-07 15:18     ` [Qemu-devel] " Gerd Hoffmann
2009-12-07 19:11   ` [Qemu-devel] " Anthony Liguori
2009-12-07 12:42 ` [Qemu-devel] [FOR 0.12 PATCH v3 18/21] add new -mon switch Gerd Hoffmann
2009-12-07 12:42 ` [Qemu-devel] [FOR 0.12 PATCH v3 19/21] add -qmp convinience switch Gerd Hoffmann
2009-12-07 12:42 ` [Qemu-devel] [FOR 0.12 PATCH v3 20/21] default devices: virtio consoles Gerd Hoffmann
2009-12-07 13:07   ` [Qemu-devel] " Alexander Graf
2009-12-07 13:34     ` Gerd Hoffmann
2009-12-07 12:42 ` [Qemu-devel] [FOR 0.12 PATCH v3 21/21] Set default console to virtio on S390x Gerd Hoffmann

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=20091207125947.46562073@doriath \
    --to=lcapitulino@redhat.com \
    --cc=agraf@suse.de \
    --cc=kraxel@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).