Re: [Qemu-devel] [RFC 2/6] OptsVisitor: introduce list modes for interval flattening

2013-07-18 Thread Laszlo Ersek
On 07/18/13 16:56, Paolo Bonzini wrote: > Il 18/07/2013 15:59, Laszlo Ersek ha scritto: >> The new modes are equal-rank, exclusive sub-modes of LM_IN_PROGRESS. Teach >> opts_next_list(), opts_type_int() and opts_type_uint64() to handle them. > > Perhaps you could use a bitmap then: > > LM_NO

Re: [Qemu-devel] [RFC 2/6] OptsVisitor: introduce list modes for interval flattening

2013-07-18 Thread Laszlo Ersek
On 07/18/13 18:03, Paolo Bonzini wrote: > Fair enough. But please find a way to put the "sub-mode" thing in the > code too (that's the redeeming grace of bitmaps)---even better if, at > the same time, the phrasing will calm the urge to say "bitmap!". OK. I'll expand the comments on the enum cons

Re: [Qemu-devel] [RFC 2/6] OptsVisitor: introduce list modes for interval flattening

2013-07-18 Thread Paolo Bonzini
Il 18/07/2013 17:57, Laszlo Ersek ha scritto: > On 07/18/13 16:56, Paolo Bonzini wrote: >> Il 18/07/2013 15:59, Laszlo Ersek ha scritto: >>> The new modes are equal-rank, exclusive sub-modes of LM_IN_PROGRESS. Teach >>> opts_next_list(), opts_type_int() and opts_type_uint64() to handle them. >> >>

Re: [Qemu-devel] [RFC 2/6] OptsVisitor: introduce list modes for interval flattening

2013-07-18 Thread Paolo Bonzini
Il 18/07/2013 15:59, Laszlo Ersek ha scritto: > The new modes are equal-rank, exclusive sub-modes of LM_IN_PROGRESS. Teach > opts_next_list(), opts_type_int() and opts_type_uint64() to handle them. Perhaps you could use a bitmap then: LM_NONE = 0 LM_STARTED = 1 LM_IN_PROGRESS = 2

[Qemu-devel] [RFC 2/6] OptsVisitor: introduce list modes for interval flattening

2013-07-18 Thread Laszlo Ersek
The new modes are equal-rank, exclusive sub-modes of LM_IN_PROGRESS. Teach opts_next_list(), opts_type_int() and opts_type_uint64() to handle them. Also enumerate explicitly what functions are valid to call in what modes: - opts_next_list() is valid to call while flattening a range, - opts_end_lis