On Sat, 2014-04-26 at 00:30 +0200, Andreas Färber wrote:
> Am 09.04.2014 19:34, schrieb Marcel Apfelbaum:
> > 
> > This is a continuation of 'QEMU Machine as QOM object' effort.
> > The scope of this series is to allow machine QOM-ification
> > of all machines gradually, by removing the need for QEMUMachine 
> > registration through vl.c .
> > 
> > Now we will have 2 paths:
> > 1. Non QOM-ified machines will be converted to QOM on the fly
> >    in vl.c by qemu machine registration.
> > 2. QOM-ified machines will behave as regular QOM classes setting
> >    MachineClass fields in class_init.
> >    - Patch 4/5 demonstrates this.
> > 
> > Next steps:
> >  - Replace QemuOpts queries by MachineState fields.
> >  - Follow Paolo's suggestions to get rid of QEMUMachineInitArgs.
> 
> Another next step will be re-evaluating the PC machines: If we let
> pc-x.y inherit from either an abstract base type or from the latest PC
> machine, then macro'ified copying of machine options can be replaced
> with overriding the actually changing values.
Are you referring to PC_COMPAT_xxx macros - compat_props?
If yes, I was thinking about approaching this in a not distant future. 

> 
> Both Igor's memory hot-add series and Don's Xen memory series would
> benefit IIRC. Who volunteers for a shallow or less shallow conversion?
I'll have a look on their series to understand how they are related.
I think Igor already made a PC-MACHINE type.

> 
> Also, how do we proceed with getting rid of registration path 1
> elsewhere? If we leave it around, experience shows that people will copy
> the wrong of two possible ways for implementing new things.
Well, the problem here is not the code modifications, which are mechanical,
but the testing that everything still works.
I propose that I'll make the changes, not as a big patch,
but every week a subsystem, and the maintainer of the subsystem
will test and give the OK.

Seems reasonable?
Thanks,
Marcel  

> 
> > Marcel Apfelbaum (5):
> >   hw/boards.h: remove obsoleted field from QEMUMachine
> >   vl.c: copy QEMUMachine's fields to MachineClass
> >   vl.c: Replace QEMUMachine with MachineClass in QEMUMachineInitArgs
> >   machine: replace QEMUMachine by MachineClass in accelerator
> >     configuration
> >   machine: remove QEMUMachine indirection from MachineClass
> 
> Thanks a lot, applied (with changes) to qom-next:
> https://github.com/afaerber/qemu-cpu/commits/qom-next
> 
> Cheers,
> Andreas
> 




Reply via email to