[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v1 0/4] -object/object-add add 2nd stage initial
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH v1 0/4] -object/object-add add 2nd stage initialization |
Date: |
Fri, 17 Jan 2014 15:10:10 +0800 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Thu, Jan 16, 2014 at 05:34:35PM +0100, Igor Mammedov wrote:
> Adds UserCreatable interface that objects must inherit from
> If they need to be created with help of -object/object-add
> commands.
>
> Interface also provides an optional complete() callback,
> that is called after object properties are set. Which allows
> * replace custom backend APIs to initialize them with generic
> object_new(); set object properties; object.complete();
> sequence.
> * bail out/report error early (at backend creation time)
> instead of failing later when adding device that uses
> that backend.
>
> Reference to RFC:
> https://lists.gnu.org/archive/html/qemu-devel/2014-01/msg00877.html
>
> Changes since RFC:
> * rename object_realize interface to UserCreatable
> * make UserCreatable interface mandatory for -object/object-add
> * drop custom location patch
>
> Git tree for testing:
> https://github.com/imammedo/qemu/commits/extend-object-add-v1
>
> Igor Mammedov (4):
> object_add: consolidate error handling
> vl.c: -object: don't ingnore duplicate 'id'
> add optional 2nd stage initialization to -object/object-add commands
> virtio_rng: replace custom backend API with UserCreatable.complete()
> callback
>
> backends/rng.c | 17 +++++++++-
> hw/virtio/virtio-rng.c | 15 +++++----
> include/qom/object_interfaces.h | 62
> +++++++++++++++++++++++++++++++++++++++
> include/sysemu/rng.h | 11 -------
> qmp.c | 22 +++++++++++--
> qom/Makefile.objs | 1 +
> qom/object_interfaces.c | 32 ++++++++++++++++++++
> vl.c | 22 +++++++++++++-
> 8 files changed, 158 insertions(+), 24 deletions(-)
> create mode 100644 include/qom/object_interfaces.h
> create mode 100644 qom/object_interfaces.c
Reviewed-by: Stefan Hajnoczi <address@hidden>
Rebased my IOThread series onto this and tested successfully.
- [Qemu-devel] [PATCH v1 0/4] -object/object-add add 2nd stage initialization, Igor Mammedov, 2014/01/16
- [Qemu-devel] [PATCH v1 1/4] object_add: consolidate error handling, Igor Mammedov, 2014/01/16
- [Qemu-devel] [PATCH v1 3/4] add optional 2nd stage initialization to -object/object-add commands, Igor Mammedov, 2014/01/16
- [Qemu-devel] [PATCH v1 2/4] vl.c: -object: don't ingnore duplicate 'id', Igor Mammedov, 2014/01/16
- [Qemu-devel] [PATCH v1 4/4] virtio_rng: replace custom backend API with UserCreatable.complete() callback, Igor Mammedov, 2014/01/16
- Re: [Qemu-devel] [PATCH v1 0/4] -object/object-add add 2nd stage initialization,
Stefan Hajnoczi <=
- Re: [Qemu-devel] [PATCH v1 0/4] -object/object-add add 2nd stage initialization, Luiz Capitulino, 2014/01/22