From: Anthony Liguori <anthony@codemonkey.ws>
To: Markus Armbruster <armbru@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 03/16] qdev-properties: add PROP_TYPE_ENUM
Date: Mon, 07 Feb 2011 08:21:23 -0600 [thread overview]
Message-ID: <4D4FFFE3.8000205@codemonkey.ws> (raw)
In-Reply-To: <m3k4hcos86.fsf@blackfin.pond.sub.org>
On 02/07/2011 08:05 AM, Markus Armbruster wrote:
> Anthony Liguori<anthony@codemonkey.ws> writes:
>
>
>> On 02/07/2011 04:43 AM, Alon Levy wrote:
>>
>>> On Mon, Feb 07, 2011 at 09:53:44AM +0100, Markus Armbruster wrote:
>>>
> [...]
>
>>>> Okay, let's examine how your enumeration properties work.
>>>>
>>>> An enumeration property describes a uint32_t field of the state object.
>>>> Differences to ordinary properties defined with DEFINE_PROP_UINT32:
>>>>
>>>> * info is qdev_prop_enum instead of qdev_prop_uint32. Differences
>>>> between the two:
>>>>
>>>> - parse, print: symbolic names vs. numbers
>>>>
>>>> - name, print_options: only for -device DRIVER,\? (and name's use
>>>> there isn't particularly helpful)
>>>>
>>>>
>>> Why do you say that? this is being used by libvirt to get the names of the
>>> supported backends for the ccid-card-emulated device.
>>>
>>>
>> This is wrong.
>>
>> Libvirt should query this information through QMP.
>>
> "We should make this information readily available through QMP", you
> want to say ;)
>
>
>> This is my main
>> concern with enums. If there isn't a useful introspection interface,
>> libvirt is going to do dumb things like query help output.
>>
> Beggars can't be choosers.
>
I'm making steady progress. I just finished device_add/device_del on a
plane. I expect to have QMP fully converted in a couple weeks.
There is a lot more than I anticipated that is not available in QMP vs.
the HMP so that's going to take a bit more time.
>> This has been a nightmare historically and I'm not inclined to repeat it.
>>
> No argument, but we can hardly expect poor Alon to finish the QMP job
> just to get his usb-ccid device in.
>
Hint: enum shouldn't block usb-ccid. An enum is equivalent to a string
property to convert as far as the current command line interface so just
use a string property with a well documented set of inputs, and let's do
enums properly.
That's what I was suggesting in my previous replies to this series.
> What would making him drop enum properties from his series accomplish?
>
We (or maybe just I) have to take QMP more seriously. I don't want to
further make device properties incompatible with QMP which is what an
enum property would do.
> We'd get the same device with an inferior -device interface, which we
> then have to maintain compatibly.
>
We can retroactively make the command line interface take a symbolic
value of an enum when it previously took a string with no compatibility
problem.
But a QMP enum interface may not operate in strings. If it sends
integer constants instead of strings, then we'll create a compatibility
issue.
Regards,
Anthony Liguori
next prev parent reply other threads:[~2011-02-07 14:21 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-03 22:45 [Qemu-devel] [PATCH 00/16] usb-ccid (v18) Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 01/16] qdev: add print_options callback Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 02/16] qdev: add data pointer to Property Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 03/16] qdev-properties: add PROP_TYPE_ENUM Alon Levy
2011-02-07 8:53 ` Markus Armbruster
2011-02-07 10:43 ` Alon Levy
2011-02-07 13:15 ` Anthony Liguori
2011-02-07 14:05 ` Markus Armbruster
2011-02-07 14:21 ` Anthony Liguori [this message]
2011-02-07 14:14 ` Alon Levy
2011-02-07 14:49 ` Anthony Liguori
2011-02-07 15:23 ` Anthony Liguori
2011-02-07 14:00 ` Markus Armbruster
2011-02-07 14:27 ` Alon Levy
2011-02-08 15:34 ` Alon Levy
2011-02-08 15:47 ` Markus Armbruster
2011-02-07 13:20 ` Anthony Liguori
2011-02-03 22:45 ` [Qemu-devel] [PATCH 04/16] qdev-properties: parse_enum: don't cast a void* Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 05/16] usb-ccid: add CCID bus Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 06/16] introduce libcacard/vscard_common.h Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 07/16] ccid: add passthru card device Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 08/16] libcacard: initial commit Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 09/16] ccid: add ccid-card-emulated device (v2) Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 10/16] ccid: add docs Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 11/16] ccid: configure: add --enable/disable and nss only disable Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 12/16] ccid: add qdev description strings Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 13/16] smartcard, configure: add --enable-smartcard-nss, report only nss Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 14/16] smartcard,configure: " Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 15/16] ccid-card-emulated: don't link with NSS if --disable-smartcard-nss Alon Levy
2011-02-03 22:45 ` [Qemu-devel] [PATCH 16/16] ccid.h: add copyright, fix define and remove non C89 comments Alon Levy
2011-02-07 11:03 ` [Qemu-devel] [PATCH 00/16] usb-ccid (v18) Alon Levy
2011-02-07 13:12 ` Anthony Liguori
2011-02-07 15:44 ` Alon Levy
2011-02-07 15:56 ` Eric Blake
2011-02-07 18:00 ` Alon Levy
2011-02-07 19:31 ` 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=4D4FFFE3.8000205@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=armbru@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.