On 06/12/2014 05:42 PM, Paolo Bonzini wrote: > Il 12/06/2014 02:08, Alexey Kardashevskiy ha scritto: >>> > I would use the /machine object itself, not an extra object. Otherwise >>> > this looks good. >> >> "/machine" object is "machine" parameter from s390_init()? How do I add an >> interface to it? Create a machine class as it is done by >> spapr_machine_info? I am not that familiar with QOM and definitely miss >> something. > > No, you are not. :) You need exactly to do what was done for sPAPR. Note > that s390 has two machine classes.
2 machines... Heh. If only. Here is x86: qemu_register_machine(&pc_i440fx_machine_v2_1); qemu_register_machine(&pc_i440fx_machine_v2_0); qemu_register_machine(&pc_i440fx_machine_v1_7); qemu_register_machine(&pc_i440fx_machine_v1_6); qemu_register_machine(&pc_i440fx_machine_v1_5); qemu_register_machine(&pc_i440fx_machine_v1_4); qemu_register_machine(&pc_machine_v1_3); qemu_register_machine(&pc_machine_v1_2); qemu_register_machine(&pc_machine_v1_1); qemu_register_machine(&pc_machine_v1_0); qemu_register_machine(&pc_machine_v0_15); qemu_register_machine(&pc_machine_v0_14); qemu_register_machine(&pc_machine_v0_13); qemu_register_machine(&pc_machine_v0_12); qemu_register_machine(&pc_machine_v0_11); qemu_register_machine(&pc_machine_v0_10); qemu_register_machine(&isapc_machine); qemu_register_machine(&xenfv_machine); qemu_register_machine(&pc_q35_machine_v2_1); qemu_register_machine(&pc_q35_machine_v2_0); qemu_register_machine(&pc_q35_machine_v1_7); qemu_register_machine(&pc_q35_machine_v1_6); qemu_register_machine(&pc_q35_machine_v1_5); qemu_register_machine(&pc_q35_machine_v1_4); These all are QEMUMachine's, not TYPE_MACHINE so I'll need to convert them too. Converting SPAPR's QEMUMachine took several patches, 958db90cd54823c33345000c995453a8c9b7a005 "machine: Remove QEMUMachine indirection from MachineClass" was quite big. If you tell me to convert them all, ok, I'll do it :) -- Alexey