Am 12.04.2012 17:43, schrieb Anthony Liguori: > On 04/12/2012 10:15 AM, Paolo Bonzini wrote: >> Il 12/04/2012 15:58, Andreas Färber ha scritto: >>> The big clash that Paolo and I had turned out to stem from tackling two >>> virtually inconsolable goals, both under the banner of "realize": >> >> I think the code was similar enough that the goals are not >> unreconcilable (though QOM goals can certainly become sad if they aren't >> achieved in a few years :). >> >>> 1) Me and Peter need a way to do two-stage construction of non-qdev >>> objects. Inlining the below code into lots of machine init functions is >>> a really bad suggestion IMO. >> >> FWIW, I agree. > > I don't think machines should be objects.
Don't know how you got there suddenly? I disagree. In my mind machines can be replaced by mainboard objects derived from "board" derived from "container" derived from object, instantiating a set of child objects. We already have /machine be a container, so moving code to an initfn rather than having the slightly similar machine registration and initialization mechanism would be a code consolidation. The thinking that I had to postpone to a 1.2 now is how to handle default vs. -M machine instantiation and setting of properties / childs on that object (the kernel / bootloader ABI discussion). > Chipsets should be QOM objects. What the machines currently do does not > map well to modeling as an object. I'd say: What qdev devices currently do does not map well to modelling as a QOM object with realize support. IMO that has little to do with the machines being the main users of these devices today. Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg