From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:32797) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S0wc6-0007qw-0z for qemu-devel@nongnu.org; Fri, 24 Feb 2012 09:59:19 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S0wc2-0006Ki-UI for qemu-devel@nongnu.org; Fri, 24 Feb 2012 09:59:17 -0500 Received: from e39.co.us.ibm.com ([32.97.110.160]:56225) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S0wc2-0006KX-O0 for qemu-devel@nongnu.org; Fri, 24 Feb 2012 09:59:10 -0500 Received: from /spool/local by e39.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 24 Feb 2012 07:59:04 -0700 Received: from d03relay02.boulder.ibm.com (d03relay02.boulder.ibm.com [9.17.195.227]) by d03dlp02.boulder.ibm.com (Postfix) with ESMTP id BB84B3E40049 for ; Fri, 24 Feb 2012 07:59:00 -0700 (MST) Received: from d03av02.boulder.ibm.com (d03av02.boulder.ibm.com [9.17.195.168]) by d03relay02.boulder.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id q1OEwvUK140258 for ; Fri, 24 Feb 2012 07:58:58 -0700 Received: from d03av02.boulder.ibm.com (loopback [127.0.0.1]) by d03av02.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id q1OEwvCF008043 for ; Fri, 24 Feb 2012 07:58:57 -0700 Message-ID: <4F47A5AF.5070707@us.ibm.com> Date: Fri, 24 Feb 2012 08:58:55 -0600 From: Anthony Liguori MIME-Version: 1.0 References: <1330092792-22455-1-git-send-email-lcapitulino@redhat.com> In-Reply-To: <1330092792-22455-1-git-send-email-lcapitulino@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 0/5]: Improve machine type functions List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Luiz Capitulino Cc: Peter Maydell , qemu-devel@nongnu.org, =?ISO-8859-1?Q?Andreas_F=E4rber?= On 02/24/2012 08:13 AM, Luiz Capitulino wrote: > I was reading some related code yesterday and couldn't resist improving this. > Not sure if this is aligned with any possible QOM work in this area, but I'm > posting this anyway... I'm not sure how easy this is, but the way to do this with QOM would be: 1) Introduce a Machine abstract type. It would have the normal properties for the various machine parameters we have today (that are standard for all machines). 2) Convert all the registered users of QEMUMachine to subtypes of Machine. Note that this would tremendously simplify PC since each version could subclass the previous and we wouldn't need to duplicate globals. Use a realize() method to trigger what we think of as the machine->init() function today (but it would take no parameters). 3) Change machine listing to a object_type_foreach() call that passed TYPE_MACHINE for 'implements'. 4) Change machine initialization to creating an object of type (3), setting the properties appropriately, and then calling the realize() method of the object. That's not to say this series isn't a good cleanup. I haven't actually reviewed it yet. I just wanted to illustrate the next QOM steps. Regards, Anthony Liguori > > Makefile.target | 3 +- > hw/alpha_dp264.c | 2 +- > hw/an5206.c | 2 +- > hw/axis_dev88.c | 2 +- > hw/boards.c | 86 +++++++++++++++++++++++++++++++++++++++++ > hw/boards.h | 9 +++- > hw/collie.c | 2 +- > hw/dummy_m68k.c | 2 +- > hw/exynos4_boards.c | 4 +- > hw/gumstix.c | 4 +- > hw/highbank.c | 2 +- > hw/integratorcp.c | 2 +- > hw/leon3.c | 2 +- > hw/lm32_boards.c | 4 +- > hw/mainstone.c | 2 +- > hw/mcf5208.c | 2 +- > hw/milkymist.c | 2 +- > hw/mips_fulong2e.c | 2 +- > hw/mips_jazz.c | 4 +- > hw/mips_malta.c | 2 +- > hw/mips_mipssim.c | 2 +- > hw/mips_r4k.c | 2 +- > hw/musicpal.c | 2 +- > hw/nseries.c | 4 +- > hw/omap_sx1.c | 4 +- > hw/palm.c | 2 +- > hw/pc_piix.c | 20 +++++----- > hw/pc_sysfw.c | 2 +- > hw/petalogix_ml605_mmu.c | 2 +- > hw/petalogix_s3adsp1800_mmu.c | 2 +- > hw/ppc405_boards.c | 4 +- > hw/ppc440_bamboo.c | 2 +- > hw/ppc_newworld.c | 2 +- > hw/ppc_oldworld.c | 2 +- > hw/ppc_prep.c | 2 +- > hw/ppce500_mpc8544ds.c | 2 +- > hw/r2d.c | 2 +- > hw/realview.c | 8 ++-- > hw/s390-virtio.c | 2 +- > hw/shix.c | 2 +- > hw/spapr.c | 2 +- > hw/spitz.c | 8 ++-- > hw/stellaris.c | 4 +- > hw/sun4m.c | 24 ++++++------ > hw/sun4u.c | 6 +- > hw/tosa.c | 2 +- > hw/versatilepb.c | 4 +- > hw/vexpress.c | 4 +- > hw/virtex_ml507.c | 2 +- > hw/xen_machine_pv.c | 2 +- > hw/xtensa_lx60.c | 4 +- > hw/xtensa_sim.c | 2 +- > hw/z2.c | 2 +- > vl.c | 65 +------------------------------ > 54 files changed, 184 insertions(+), 157 deletions(-) >