From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33033) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W0wG8-0004rS-Hu for qemu-devel@nongnu.org; Wed, 08 Jan 2014 11:45:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W0wG2-0004Zn-Ej for qemu-devel@nongnu.org; Wed, 08 Jan 2014 11:45:36 -0500 Received: from cantor2.suse.de ([195.135.220.15]:46752 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W0wG1-0004ZZ-Sv for qemu-devel@nongnu.org; Wed, 08 Jan 2014 11:45:30 -0500 Message-ID: <52CD80A5.8070900@suse.de> Date: Wed, 08 Jan 2014 17:45:25 +0100 From: =?ISO-8859-15?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: <1389197382-25085-1-git-send-email-imammedo@redhat.com> <52CD7BBF.3030202@redhat.com> In-Reply-To: <52CD7BBF.3030202@redhat.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [RFC 0/5] -object/object-add support custom location and 2nd stage initialization List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , Igor Mammedov Cc: stefanha@redhat.com, sw@weilnetz.de, mjt@tls.msk.ru, qemu-devel@nongnu.org, lcapitulino@redhat.com, blauwirbel@gmail.com, aliguori@amazon.com, rth@twiddle.net Am 08.01.2014 17:24, schrieb Paolo Bonzini: > Il 08/01/2014 17:09, Igor Mammedov ha scritto: >> Adds optional interfaces that objects could implement if >> they need to: >> 1. perform an additional initialization after object properties are = set >> 2. be placed not in '/objects' container >> >> Series depends on 2 PULL requests in flight from Andreas & Luiz >> with fixes for QOM interfaces and object-add monitor/QMP command. >> Git tree for testing: >> https://github.com/imammedo/qemu/commits/extend-object-add >> >> Igor Mammedov (5): >> object_add: consolidate error handling >> add optional 2nd stage initialization to >> -object/object-add/object_add commands >> virtio_rng: use object_realize interface instead of calling backend >> API >> vl.c: -object: handle duplicate 'id' properly >> -object/object-add: use custom default object location if provided >> >> backends/rng.c | 17 ++++++- >> hw/virtio/virtio-rng.c | 15 ++++--- >> include/qom/object_interfaces.h | 96 ++++++++++++++++++++++++++++++= +++++++++ >> include/sysemu/rng.h | 11 ----- >> qmp.c | 30 +++++++++--- >> qom/Makefile.objs | 1 + >> qom/object_interfaces.c | 57 +++++++++++++++++++++++ >> vl.c | 21 ++++++++- >> 8 files changed, 220 insertions(+), 28 deletions(-) >> create mode 100644 include/qom/object_interfaces.h >> create mode 100644 qom/object_interfaces.c >> >=20 > Thanks Igor! I like very much patches 1-4 (though I'm thinking that we > need some style conventions for interfaces). I think patch 5 adds more > complexity than we need, but I'm open to discussion. Hm, I have doubts about the use of "realize" here. So far that is only implemented for devices, patches for bus still pending my review, and for those we don't want that to be handled by -object or object-add but recursive realization as part of machine initialization, allowing interaction via qom-set before. It that's different for backends, can we maybe pick a name different from "realize"? Andreas --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=F6rffer; HRB 16746 AG N=FCrnbe= rg