qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 06/15] piix: create i8254 through composition


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH 06/15] piix: create i8254 through composition
Date: Tue, 31 Jan 2012 15:58:12 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:9.0) Gecko/20111222 Thunderbird/9.0

On 01/31/2012 03:51 PM, Jan Kiszka wrote:
>
>  BTW, this is yet another benefit of making structures public.  You can take 
the
>  address of a child and set link fields directly without accessors.
Well, that has two sides. We introduced properties to avoid this direct
messing.

Does linking also work without exposing internals?

Perhaps it doesn't need to expose internals. Just like we create interfaces automatically when creating a parent object, perhaps we can create children as well, like

    TypeInfo type_piix3 = {
        ...
        .children = {
             { "pic[0]", TYPE_I8259, offsetof(PIIX3, pic[0]) },
             { "pic[1]", TYPE_I8259, offsetof(PIIX3, pic[1]) },
             { "pit, TYPE_I8254, offsetof(PIIX3, pit) },
             { "rtc", TYPE_RTC, offsetof(PIIX3, rtc) },
             { }
        }
    }

QOM's object_init would allocate a single malloced block for all of them, carve out space for the parent and all children, and add the properties.

Paolo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]