From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LZTzv-0006f3-Ki for qemu-devel@nongnu.org; Tue, 17 Feb 2009 12:44:43 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LZTzt-0006dH-EU for qemu-devel@nongnu.org; Tue, 17 Feb 2009 12:44:42 -0500 Received: from [199.232.76.173] (port=50073 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LZTzt-0006dC-77 for qemu-devel@nongnu.org; Tue, 17 Feb 2009 12:44:41 -0500 Received: from mx20.gnu.org ([199.232.41.8]:4835) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LZTzs-0001aY-Le for qemu-devel@nongnu.org; Tue, 17 Feb 2009 12:44:40 -0500 Received: from mail.codesourcery.com ([65.74.133.4]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LZTzp-0004W1-BO for qemu-devel@nongnu.org; Tue, 17 Feb 2009 12:44:37 -0500 From: Paul Brook Subject: Re: [Qemu-devel] [RFC] Machine description as data Date: Tue, 17 Feb 2009 17:44:34 +0000 References: <87iqnh6kyv.fsf@pike.pond.sub.org> <87iqnawd2r.fsf@pike.pond.sub.org> <20090217032909.GA29225@yookeroo.seuss> In-Reply-To: <20090217032909.GA29225@yookeroo.seuss> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200902171744.34951.paul@codesourcery.com> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: devicetree-discuss@ozlabs.org, Markus Armbruster , David Gibson > > The machines I care for come with many optional and configurable parts. > > We select the basic machine type with command line option -M, and > > configure the rest with more command line options. I figure we want to > > keep supporting these options, at least for a while. > > > > I believe the best way to deal with that is start with a basic tree > > selected by -M, then modify it according to the other options. So, > > there's a fair amount of configuration tree mutation. > > Yeah, you're probably right. Although, in some cases the amount of > complex tree mutation can be cut down by thinking about things in the > right order. For example if you have a bunch of optional devices, > rather than adding them one by one (with all the required properties) > to the skeleton tree, you can instead have the skeleton tree be the > all-bells-and-whistles variant then delete the subtrees that aren't > present. libfdt even has a function to replace subtrees with nops > instead of eliding them, which means the offsets of other nodes won't > change. I'm not so sure this is a vital feature. The current commandline options only provide the absolute bare minimum mutation for a basic PC machine, and don't even do that particularly well. I'm inclined to say we should punt significant machine config modification/generation to an external tool. Paul