From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:45854) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RZ11C-00053C-4F for qemu-devel@nongnu.org; Fri, 09 Dec 2011 09:01:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RZ116-000514-6X for qemu-devel@nongnu.org; Fri, 09 Dec 2011 09:01:42 -0500 Received: from mx1.redhat.com ([209.132.183.28]:5661) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RZ115-00050w-Sa for qemu-devel@nongnu.org; Fri, 09 Dec 2011 09:01:36 -0500 Message-ID: <4EE21579.8090404@redhat.com> Date: Fri, 09 Dec 2011 15:04:41 +0100 From: Kevin Wolf MIME-Version: 1.0 References: <1322857256-14951-1-git-send-email-aliguori@us.ibm.com> <1322857256-14951-16-git-send-email-aliguori@us.ibm.com> <4EE1F052.1020703@redhat.com> <4EE2085F.2060604@us.ibm.com> In-Reply-To: <4EE2085F.2060604@us.ibm.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2 15/18] rtc: add a dynamic property for retrieving the date List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Peter Maydell , Stefan Hajnoczi , Jan Kiszka , qemu-devel@nongnu.org, Luiz Capitulino , Gerd Hoffman , Markus Armbruster Am 09.12.2011 14:08, schrieb Anthony Liguori: > On 12/09/2011 05:26 AM, Kevin Wolf wrote: >> Am 02.12.2011 21:20, schrieb Anthony Liguori: >>> This really shows the power of dynamic object properties compared to qdev >>> static properties. >>> >>> This property represents a complex structure who's format is preserved over the >>> wire. This is enabled by visitors. >>> >>> It also shows an entirely synthetic property that is not tied to device state. >>> >>> Signed-off-by: Anthony Liguori >> >> There's one thing that I was hoping to find answered when I would have >> reviewed the whole series, but it hasn't happened: There is no doubt >> that dynamic properties (in the sense of being able to modify them after >> constructions) are a useful thing. But you also claim that class-based >> properties are not enough for QOM and that we need object-based ones, >> which is a requirement not immediately obvious to me. >> >> Can you provide some examples where we would explicitly need >> object-based properties? > > Sure. Any property that's dynamic needs to be object based. A good example > would be PCI slots. > > Today, we unconditionally advertise 32 slots in our ACPI tables. It could be > desirable to eventually make this configurable. So you can imagine where you > would have an 'slot-count' property and if that was set to 16, it would result > in 'slot[0]..slot[15]' being created. > > There are other good examples too. So is it mostly about variably sized arrays, which just happen to be considered independent properties in your approach? Or are there cases where a logically separate property may be there or missing depending on some condition, or possibly even that a new property is created during runtime? Kevin