[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 00/16] introduce OptsVisitor, rebase -net/-netde
From: |
Andreas Färber |
Subject: |
Re: [Qemu-devel] [PATCH 00/16] introduce OptsVisitor, rebase -net/-netdev parsing |
Date: |
Wed, 06 Jun 2012 22:59:06 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120421 Thunderbird/12.0 |
Am 06.06.2012 22:09, schrieb Michael Roth:
> On Wed, Jun 06, 2012 at 06:49:19PM +0200, Laszlo Ersek wrote:
>> On 06/06/12 18:14, Michael Roth wrote:
>>> On Wed, Jun 06, 2012 at 05:30:03PM +0200, Laszlo Ersek wrote:
>>
>>>> value < 0
>>>
>>> I think this last one will cause problems though, since uint64_t's
>>> within the valid range for visit_type_uint64() will fail due to being
>>> interpreted as < 0 when cast to int64_t. With the others we can detect
>>> these cases since the max unsigned value doesn't exceed the max signed
>>> value of the intermediate type we're storing to.
>>
>> The fallback (*v->type_int)() call stores an int64_t, according to its
>> prototype ("interface contract"). IMHO it shouldn't try to communicate a
>> mathematical value outside of [INT64_MIN, INT64_MAX]; it should report
>
> But the contract with visit_type_int() is maintained: it's just that
> visit_type_uint64() is casting it's uint64_t value to int64_t (and
> back) to make use of the fallback. It's slightly dirty, but fairly common
> throughout the tree.
>
>> an error in this case. If a visitor genuinely wants to parse and store
>> 2^63 for example, it should implement the "type_uint64" interface.
>
> This doesn't buy us much, since ultimately that type_uint64 interface is
> just gonna, in the case of QMP*Visitor anyway, end up casting back/forth
> between a int64_t anyway so we can stick it into a QObject as a Qint.
>
> So really we end up doing the same thing as before, except we do it in
> more places.
>
>>
>> Anyway I've been called "inflexible" before. I can send a v2 if you wish.
>
> Your offer to send a v2 suggests otherwise :)
[snip]
I've squashed the first three hunks on my qom-next-1 branch and am
listening what comes out of the discussion for the fourth one.
Do we have an actual example where this discussion makes a difference?
The RAM "size" property for sun4m and sun4u seem to be the only uses of
DEFINE_PROP_UINT64(). For anything else I haven't seen patches yet, so I
think we could defer that to a follow-up patch? I'd like to have
qom-next pulled sooner rather than later. ;-)
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
- Re: [Qemu-devel] [PATCH 00/16] introduce OptsVisitor, rebase -net/-netdev parsing, (continued)
- Re: [Qemu-devel] [PATCH 00/16] introduce OptsVisitor, rebase -net/-netdev parsing, Michael Roth, 2012/06/06
- Re: [Qemu-devel] [PATCH 00/16] introduce OptsVisitor, rebase -net/-netdev parsing, Laszlo Ersek, 2012/06/06
- Re: [Qemu-devel] [PATCH 00/16] introduce OptsVisitor, rebase -net/-netdev parsing, Michael Roth, 2012/06/06
- Re: [Qemu-devel] [PATCH 00/16] introduce OptsVisitor, rebase -net/-netdev parsing, Michael Roth, 2012/06/06
- Re: [Qemu-devel] [PATCH 00/16] introduce OptsVisitor, rebase -net/-netdev parsing, Paolo Bonzini, 2012/06/06
- Re: [Qemu-devel] [PATCH 00/16] introduce OptsVisitor, rebase -net/-netdev parsing, Laszlo Ersek, 2012/06/06
- Re: [Qemu-devel] [PATCH 00/16] introduce OptsVisitor, rebase -net/-netdev parsing, Laszlo Ersek, 2012/06/06
- Re: [Qemu-devel] [PATCH 00/16] introduce OptsVisitor, rebase -net/-netdev parsing, Michael Roth, 2012/06/06
- Re: [Qemu-devel] [PATCH 00/16] introduce OptsVisitor, rebase -net/-netdev parsing,
Andreas Färber <=
- Re: [Qemu-devel] [PATCH 00/16] introduce OptsVisitor, rebase -net/-netdev parsing, Laszlo Ersek, 2012/06/07
- Re: [Qemu-devel] [PATCH 00/16] introduce OptsVisitor, rebase -net/-netdev parsing, Andreas Färber, 2012/06/07
- Re: [Qemu-devel] [PATCH 00/16] introduce OptsVisitor, rebase -net/-netdev parsing, Laszlo Ersek, 2012/06/07
- Re: [Qemu-devel] [PATCH 00/16] introduce OptsVisitor, rebase -net/-netdev parsing, Michael Roth, 2012/06/07
- Re: [Qemu-devel] [PATCH 00/16] introduce OptsVisitor, rebase -net/-netdev parsing, Paolo Bonzini, 2012/06/07
- Re: [Qemu-devel] [PATCH 00/16] introduce OptsVisitor, rebase -net/-netdev parsing, Laszlo Ersek, 2012/06/09
- Re: [Qemu-devel] [PATCH 00/16] introduce OptsVisitor, rebase -net/-netdev parsing, Michael Roth, 2012/06/06
Re: [Qemu-devel] [PATCH 00/16] introduce OptsVisitor, rebase -net/-netdev parsing, Paolo Bonzini, 2012/06/06
Re: [Qemu-devel] [PATCH 00/16] introduce OptsVisitor, rebase -net/-netdev parsing, Laszlo Ersek, 2012/06/09