All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: Alexander Graf <agraf@suse.de>
Cc: qemu-devel@nongnu.org, lcapitulino@redhat.com
Subject: [Qemu-devel] Re: [FOR 0.12 PATCH v3 05/21] default devices: core code & serial lines.
Date: Tue, 08 Dec 2009 10:23:40 +0100	[thread overview]
Message-ID: <4B1E1B1C.4020401@redhat.com> (raw)
In-Reply-To: <23C42940-DBB1-472A-8E6F-F3EDDEB21223@suse.de>

   Hi,

>> Doesn't make sense.  The list is not about *creating* default devices, but about *not* creating them.
>
> Why do we need a negative list? Wouldn't it be a lot more useful to have positive lists? Maybe I'm just missing the whole point of your patchset though.

Probably the latter ;)

The situation we have right is (with the serial lines as example, the 
same applies to some other devices as well):

(1) If you start qemu without any arguments, it will automagically
     create a chardev for the serial line (serial_hds[]), which then
     will be used by machine->init() to create the (board-specific)
     serial lines.
(2) If you start qemu with -serial <something> the specified chardev
     will be created and assigned to serial_hds[], which again will be
     used by machine->init() ...

Worked fine before qdev appeared.  Now we also can create serial lines 
like this:

(3) Start qemu with '-device isa-serial,...'.

Problem is this clashes with (1) and qemu will attempt to create the 
serial port twice.  So this patchset introduces default_serial 
(+friends) to fix this issue.  The new workflow is:

  * default_serial defaults to enabled, when qemu finds it still enabled
    after processing all command line the automagic default serial line
    is actually created.
  * If qemu finds '-serial <something>' it clears default_serial.
  * If qemu finds '-device isa-serial,...' it clears default_serial.
    - this fixes the conflict mentioned above.
    - other serial drivers can be added to the list if needed to solve
      the same conflict for them.
  * If qemu finds '-nodefaults' it clears default_serial (and the
    others).
    - new feature, figured this could be useful.

What we could do on top of the above is:

   * If the board has the machine->no_serial flag set, clear
     default_serial.

s390 could set that flag then and qemu would stop creating a chardev for 
a serial line nobody will ever use because s390 has no serial ports.

/me hopes the whole picture is more clear now.

cheers,
   Gerd

  reply	other threads:[~2009-12-08  9:23 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 [this message]
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   ` [Qemu-devel] " Luiz Capitulino
2009-12-07 15:18     ` 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=4B1E1B1C.4020401@redhat.com \
    --to=kraxel@redhat.com \
    --cc=agraf@suse.de \
    --cc=lcapitulino@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.