From: Anthony Liguori <aliguori@linux.vnet.ibm.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: John Cooper <john.cooper@redhat.com>,
qemu-devel@nongnu.org, Gerd Hoffman <kraxel@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 3/4] Add -defaults option to allow default devices to be overridden
Date: Fri, 22 Jan 2010 09:45:36 -0600 [thread overview]
Message-ID: <4B59C820.1070907@linux.vnet.ibm.com> (raw)
In-Reply-To: <m3tyuesawn.fsf@blackfin.pond.sub.org>
On 01/22/2010 04:15 AM, Markus Armbruster wrote:
> Anthony Liguori<aliguori@us.ibm.com> writes:
>
>
>> This option can be used to toggle whether each default device is enabled or
>> disabled. For character devices, the default backend can also be overridden.
>>
>> For devices, we'll have to take a different approach to changing the defaults
>> which will be covered in the next patch.
>>
>> N.B. I took special care with -nographic. Now -nographic pretty clearly acts
>> as a mechanism to override the default backend devices.
>>
>> Signed-off-by: Anthony Liguori<aliguori@us.ibm.com>
>> ---
>> qemu-config.c | 45 +++++++++++++++++++++++++++++++++
>> qemu-config.h | 1 +
>> qemu-options.hx | 7 +++++
>> vl.c | 75 +++++++++++++++++++++++++++++++++++++++++--------------
>> 4 files changed, 109 insertions(+), 19 deletions(-)
>>
>> diff --git a/qemu-config.c b/qemu-config.c
>> index c3203c8..82ca399 100644
>> --- a/qemu-config.c
>> +++ b/qemu-config.c
>> @@ -242,6 +242,50 @@ QemuOptsList qemu_mon_opts = {
>> },
>> };
>>
>> +QemuOptsList qemu_default_opts = {
>> + .name = "default",
>> + .head = QTAILQ_HEAD_INITIALIZER(qemu_default_opts.head),
>> + .desc = {
>> + {
>> + .name = "serial",
>> + .type = QEMU_OPT_STRING,
>> + },
>>
> [...]
>
>> diff --git a/qemu-options.hx b/qemu-options.hx
>> index 57f453d..e81ecb5 100644
>> --- a/qemu-options.hx
>> +++ b/qemu-options.hx
>> @@ -1919,6 +1919,13 @@ STEXI
>> Don't create default devices.
>> ETEXI
>>
>> +DEF("default", HAS_ARG, QEMU_OPTION_default, \
>> + "-default arg specify default devices\n")
>>
> Isn't this too terse?
>
Yes. Thanks for pointing that out.
>> +STEXI
>> +@item -defaults
>> +Override builtin default devices
>> +ETEXI
>>
> This *is* too terse :)
>
> Oh, and it's -default (sans 's'). Same typo in subject.
>
> While we're talking about naming: isn't -default a bit too generic a
> name for something that manipulates devices? Not sure we care, as
> -nodefaults is much worse, already.
>
Absolutely. I'm going to split out the config loading bits because they
should be easy to commit. How to best handle defaults could use some
more thought. I think this is a key bit of functionality to get right
though because it solves a whole class of problems relating to upstream
policy vs. downstream policy.
I very much like the idea of having a qdev property 'default' to signify
that this is a default device. It means we could easily allow a user to
universally enable usb devices, etc without baking a default_usb concept
into qemu. Ideally, we could eliminate the whole default mess we have
today by doing this, provided that we can implement the right semantics.
Today, those semantics are, if we specify any device of the same
"class", do not load default devices of that class. It's unclear how to
specify the concept of a "class" though. I know Gerd brought this up
ages ago and both Paul and I were very opposed to it but I certainly
appreciate the fact that it would simplify default device handling.
It's definitely clear that each device needs to be able to be part of
multiple default-class's. We could potentially introduce a qdev
property and label every device with a class array but that's a lot of
ugliness just to support defaults. I still would prefer that there was
a more discoverable way to determine the class of a device as opposed to
explicitly labelling it.
If we need to do class tagging, I guess it's not the end of the world...
Regards,
Anthony Liguori
> [...]
>
next prev parent reply other threads:[~2010-01-22 15:46 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-21 18:48 [Qemu-devel] [PATCH 0/4] Introduce global config and default devices Anthony Liguori
2010-01-21 18:48 ` [Qemu-devel] [PATCH 1/4] Support --confdir in configure to specify path to configuration files Anthony Liguori
2010-01-22 12:43 ` [Qemu-devel] " Paolo Bonzini
2010-01-22 14:39 ` Anthony Liguori
2010-01-21 18:48 ` [Qemu-devel] [PATCH 2/4] Load global config files by default Anthony Liguori
2010-01-22 10:33 ` [Qemu-devel] " Gerd Hoffmann
2010-01-21 18:48 ` [Qemu-devel] [PATCH 3/4] Add -defaults option to allow default devices to be overridden Anthony Liguori
2010-01-22 10:15 ` Markus Armbruster
2010-01-22 15:45 ` Anthony Liguori [this message]
2010-01-21 18:48 ` [Qemu-devel] [PATCH 4/4] Allow default network type " Anthony Liguori
2010-01-22 11:00 ` [Qemu-devel] " Gerd Hoffmann
2010-01-22 14:44 ` Anthony Liguori
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=4B59C820.1070907@linux.vnet.ibm.com \
--to=aliguori@linux.vnet.ibm.com \
--cc=armbru@redhat.com \
--cc=john.cooper@redhat.com \
--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).