From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JwG4C-0003zl-Md for qemu-devel@nongnu.org; Wed, 14 May 2008 08:26:44 -0400 Received: from [199.232.76.173] (port=42329 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JwG4C-0003zG-72 for qemu-devel@nongnu.org; Wed, 14 May 2008 08:26:44 -0400 Received: from mx1.polytechnique.org ([129.104.30.34]:36529) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1JwG4B-0001cb-Pt for qemu-devel@nongnu.org; Wed, 14 May 2008 08:26:44 -0400 Message-ID: <482ADA80.3000309@bellard.org> Date: Wed, 14 May 2008 14:26:40 +0200 From: Fabrice Bellard MIME-Version: 1.0 Subject: Re: [Qemu-devel] Re: [PATCH] Add support for a configuration file References: <1210713545-11916-1-git-send-email-aliguori@us.ibm.com> <482A1F1C.2020902@codemonkey.ws> <482AA268.9080501@bellard.org> <482ABF6E.6090100@qumranet.com> In-Reply-To: <482ABF6E.6090100@qumranet.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity , qemu-devel@nongnu.org Cc: kvm-devel@lists.sourceforge.net, Anthony Liguori , Paul Brook Avi Kivity wrote: > Fabrice Bellard wrote: >> >> I prefer: >> >> drive.file=foo.img >> drive.if=scsi >> > > That doesn't support multiple drives very well. Right, I realized it afterwards ! I suggested it because my original plan for the configuration file was based on this syntax with a strong inspiration from the OpenFirmware device tree. The idea was that the object name ("drive" here) had no hardcoded meaning, except for some predefined object names in order to keep a kind of backward compatibility with the current QEMU options. In order to create a new drive for example, you just have to do: mydrive.class=drive mydrive.if=scsi mydrive.file=abc.img the "class" field is used to select the device model. Then all the other parameters are used to initialize the device model. That way it is possible to keep the compatibility with the existing options and add a provision to instanciate arbitrary new device models, such as: mynetworkcard.class="ne2000pci" mynetworkcard.bus=1 # pci bus selection mynetworkcard.macaddr=00:01:02:03:04:05 mynetworkcard.vlan=1 I will strongly support configuration file formats having this property. Regards, Fabrice.