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. 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? 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. > 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 -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg