[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC v0 5/8] object: make interfaces concrete
From: |
Andreas Färber |
Subject: |
Re: [Qemu-devel] [RFC v0 5/8] object: make interfaces concrete |
Date: |
Wed, 13 Jun 2012 12:28:05 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120421 Thunderbird/12.0 |
Am 13.06.2012 12:03, schrieb Paolo Bonzini:
> Il 13/06/2012 11:38, Peter A. G. Crosthwaite ha scritto:
>> Objects that define interface delegate the creation of the interface object
>> to the interface type. These means that object_new() when called recursively
>> by
I am pretty certain that object_new() is NOT called recursively! The
static helpers of object_instantiate() are, and abstractness should not
matter there or none of the, e.g., CPU subclasses could be created... So
if there is a problem this description is bogus.
>> the interface instantior is going to bork because its trying to instantiate
>> an abstract type. Fixed by making interface types concrete.
>>
>> Signed-off-by: Peter A. G. Crosthwaite <address@hidden>
>> ---
>> qom/object.c | 2 +-
>> 1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/qom/object.c b/qom/object.c
>> index 1eba795..c3a7a47 100644
>> --- a/qom/object.c
>> +++ b/qom/object.c
>> @@ -191,7 +191,7 @@ static void type_class_interface_init(TypeImpl *ti,
>> InterfaceImpl *iface)
>> .parent = iface->parent,
>> .class_size = sizeof(InterfaceClass),
>> .class_init = iface->interface_initfn,
>> - .abstract = true,
>> + .abstract = false,
>> };
>> char *name = g_strdup_printf("<%s::%s>", ti->name, iface->parent);
>>
>>
>
> Reviewed-by: Paolo Bonzini <address@hidden>
Why? Object is abstract, too, and in patch 3/8 a type is being derived
from TYPE_INTERFACE. So if we want to make interface non-abstract then
we don't need the Container type either since it is simply the
non-abstract version of Object. My guess is that, if at all, something
else is going wrong and this is papering over it.
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] [RFC v0 6/8] xilinx dont cast to interface types with links, (continued)
- Re: [Qemu-devel] [RFC v0 6/8] xilinx dont cast to interface types with links, Avi Kivity, 2012/06/13
- Re: [Qemu-devel] [RFC v0 6/8] xilinx dont cast to interface types with links, Paolo Bonzini, 2012/06/13
- Re: [Qemu-devel] [RFC v0 6/8] xilinx dont cast to interface types with links, Avi Kivity, 2012/06/13
- Re: [Qemu-devel] [RFC v0 6/8] xilinx dont cast to interface types with links, Paolo Bonzini, 2012/06/13
- Re: [Qemu-devel] [RFC v0 6/8] xilinx dont cast to interface types with links, Avi Kivity, 2012/06/13
- Re: [Qemu-devel] [RFC v0 6/8] xilinx dont cast to interface types with links, Anthony Liguori, 2012/06/13
[Qemu-devel] [RFC v0 7/8] petalogix_ml605_mmu: fixed qdev create for dma, Peter A. G. Crosthwaite, 2012/06/13
[Qemu-devel] [RFC v0 8/8] axidma: renamed interconnect to axi-stream, Peter A. G. Crosthwaite, 2012/06/13
[Qemu-devel] [RFC v0 5/8] object: make interfaces concrete, Peter A. G. Crosthwaite, 2012/06/13
- Re: [Qemu-devel] [RFC v0 5/8] object: make interfaces concrete, Paolo Bonzini, 2012/06/13
- Re: [Qemu-devel] [RFC v0 5/8] object: make interfaces concrete,
Andreas Färber <=
- Re: [Qemu-devel] [RFC v0 5/8] object: make interfaces concrete, Paolo Bonzini, 2012/06/13
- Re: [Qemu-devel] [RFC v0 5/8] object: make interfaces concrete, Andreas Färber, 2012/06/13
- Re: [Qemu-devel] [RFC v0 5/8] object: make interfaces concrete, Paolo Bonzini, 2012/06/13
- Re: [Qemu-devel] [RFC v0 5/8] object: make interfaces concrete, Anthony Liguori, 2012/06/13
- Re: [Qemu-devel] [RFC v0 5/8] object: make interfaces concrete, Paolo Bonzini, 2012/06/13
- Re: [Qemu-devel] [RFC v0 5/8] object: make interfaces concrete, Anthony Liguori, 2012/06/13
- Re: [Qemu-devel] [RFC v0 5/8] object: make interfaces concrete, Paolo Bonzini, 2012/06/13
- Re: [Qemu-devel] [RFC v0 5/8] object: make interfaces concrete, Anthony Liguori, 2012/06/13
- Re: [Qemu-devel] [RFC v0 5/8] object: make interfaces concrete, Edgar E. Iglesias, 2012/06/13