From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:44378) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RsQ4Q-0006pg-Ji for qemu-devel@nongnu.org; Tue, 31 Jan 2012 21:37:15 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RsQ4P-0001hc-6J for qemu-devel@nongnu.org; Tue, 31 Jan 2012 21:37:14 -0500 Received: from mail-pz0-f45.google.com ([209.85.210.45]:61756) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RsQ4O-0001hX-VY for qemu-devel@nongnu.org; Tue, 31 Jan 2012 21:37:13 -0500 Received: by dadp14 with SMTP id p14so596754dad.4 for ; Tue, 31 Jan 2012 18:37:12 -0800 (PST) Message-ID: <4F28A554.4090000@codemonkey.ws> Date: Tue, 31 Jan 2012 20:37:08 -0600 From: Anthony Liguori MIME-Version: 1.0 References: <1328055113-30031-1-git-send-email-grant.likely@secretlab.ca> <201202010135.32078.paul@codesourcery.com> <1CB9FDC2-00A7-45BF-9693-21EB23FB47B1@suse.de> In-Reply-To: <1CB9FDC2-00A7-45BF-9693-21EB23FB47B1@suse.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2] arm: add device tree support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexander Graf Cc: Peter Maydell , qemu-devel@nongnu.org, Rob Herring , Grant Likely , Paul Brook , "Edgar E. Iglesias" , Jeremy Kerr On 01/31/2012 07:44 PM, Alexander Graf wrote: > > On 01.02.2012, at 02:35, Paul Brook wrote: > >>> We could also just change machine->init() and pass the dtb in there. In a >>> QOM world these would become machine device properties anyways. >>> >>> machine->init(ram_size, boot_devices, >>> kernel_filename, kernel_cmdline, initrd_filename, >>> cpu_model); >>> >>> Essentially we shouldn't treat -dtb any different than -kernel or -initrd. >>> It's also useful for more than ARM, namely embedded ppc systems. But I can >>> easily post a follow-up patch for those. >> >> Changing machine->init means you have to touch every single board file, and >> clone the exact same code for every machine that uses arm_boot.c. All of >> which will be rewritten in the near future. > > Well, the dt file name would have to be passed into the generic arm_boot.c function, yes. But that's something that we need to do at one point in time either way, because machines will want to have default dtb file names. > >> machine->init is a particularly suckiy interface to start with, we want to be >> using it less, not more. It's not like we're going support multiple machine >> instanced. At least not before machine->init is removed altogether. > > I do see your point on not extending legacy interfaces though and not bloating up the patch. In fact, I'm indifferent enough on the actual implementation atm, as long as the command line interface (or whatever the user sees) is reasonably sane. And it is IMHO. So if it makes everything easier, do it using a global, but keep in mind that this will need refactoring. Globals are even worse! Can't you hear the kernel loader begging to be turned into a device? It's pleading with us to stop abusing other parts of QEMU and make it a first class citizen of QEMU. Regards, Anthony Liguori > > > Alex > >